Eu tenho uma classe Person:
@Entity
public class Person {
@Id
@GeneratedValue
private Long id;
@ManyToMany(fetch = FetchType.LAZY)
private List<Role> roles;
// etc
}
Com uma relação muitos-para-muitos que é preguiçosa.
No meu controlador eu tenho
@Controller
@RequestMapping("/person")
public class PersonController {
@Autowired
PersonRepository personRepository;
@RequestMapping("/get")
public @ResponseBody Person getPerson() {
Person person = personRepository.findOne(1L);
return person;
}
}
E o PersonRepository é apenas esse código, escrito de acordo com este guia
public interface PersonRepository extends JpaRepository<Person, Long> {
}
No entanto, neste controlador, eu realmente preciso dos dados preguiçosos. Como posso acionar o carregamento?
Tentar acessá-lo falhará com
falhou ao inicializar preguiçosamente uma coleção de funções: no.dusken.momus.model.Person.roles, não foi possível inicializar o proxy - nenhuma Sessão
ou outras exceções, dependendo do que eu tente.
Minha descrição xml , caso necessário.
Obrigado.
Person
objeto, com algum parâmetro? NeleQuery
, inclua afetch
cláusula e carregueRoles
também para a pessoa.