Cómo cargar elementos perezosos obtenidos de Hibernate / JPA en mi controlador
Tengo una clase de persona:
@Entity
public class Person {
@Id
@GeneratedValue
private Long id;
@ManyToMany(fetch = FetchType.LAZY)
private List<Role> roles;
// etc
}
Con una relación de muchos a muchos que es perezosa.
En mi controlador tengo
@Controller
@RequestMapping("/person")
public class PersonController {
@Autowired
PersonRepository personRepository;
@RequestMapping("/get")
public @ResponseBody Person getPerson() {
Person person = personRepository.findOne(1L);
return person;
}
}
Y el PersonRepository es solo este código, escrito de acuerdo conesta guia
public interface PersonRepository extends JpaRepository<Person, Long> {
}
Sin embargo, en este controladorEn realidad necesito los datos perezosos. ¿Cómo puedo activar su carga?
Tratar de acceder fracasará con
no se pudo inicializar perezosamente una colección de roles: no.dusken.momus.model.Person.roles, no se pudo inicializar el proxy - no hay sesión
u otras excepciones dependiendo de lo que intente.
Mixml-description, en caso de ser necesario.
Gracias.