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 vago.
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 con esta guía
public interface PersonRepository extends JpaRepository<Person, Long> {
}
Sin embargo, en este controlador realmente necesito los datos perezosos. ¿Cómo puedo activar su carga?
Intentar acceder fallará con
no se pudo inicializar perezosamente una colección de roles: no.dusken.momus.model.Person.roles, no se pudo inicializar el proxy: sin sesión
u otras excepciones según lo que intente.
Mi descripción xml , en caso de que sea necesario.
Gracias.
Person
objeto dado algún parámetro? En esoQuery
, incluya lafetch
cláusula y cargueRoles
también para la persona.