Ja fui na pesquisa do fórum porem nao consegui resolver meu problema:
Tenha uma aplicação swing + hibernate.
Tenho uma classe Pessoa onde os enderecos relacionados com a pessoa estão mapeados assim:
@OneToMany(mappedBy="pessoa", cascade=CascadeType.ALL)
private List<Endereco> enderecos;
Faco um select com criteria:
Criteria criPesquisa = criteria(Pessoa.class);
//carregando os enderecos para evitar LazyException
criPesquisa.setFetchMode("enderecos", FetchMode.JOIN);
return criPesquisa.list();
Ok na view eu consigo acessar os enderecos das pessoa e colocar em uma grid.
Mas ocorre um erro se eu tentar fazer um filtro:
Criteria criPesquisa = criteria(Pessoa.class);
//carregando os enderecos para evitar LazyException
criPesquisa.setFetchMode("enderecos", FetchMode.JOIN);
criPesquisa.createAlias("enderecos", "end");
criPesquisa.add(Restrictions.like(("end.complemento"), (filtro), MatchMode.ANYWHERE).ignoreCase());
return criPesquisa.list();
Erro: org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: projeto.dominio.Pessoa.enderecos, no session or session was closed.
Alguem pode me ajudar?