Pessoal, sou mais um que caiu nas garras do LazyInicializationException, já tentei várias soluções encontradas na web, mas ainda não consegui solucionar, no próprio site do Hibernate, a solução exposta, faz referência explícita à Session, SessionFactory, etc, e no projeto não uso isso, está totalmente baseado em anotações, os únicos xml, são: o persistence que tem 4 linhas, e o web.xml; estou usando Netbeans 6.9, GlassFish, JSF 2, EJB3, JPA2, Hibernate; já tentei tb as NamedQueries, mas, tb não funcionou; tb pode ser q esteja fazendo alguma coisa errada, então qualquer ajuda é bem-vinda.
O problema:
Possua uma entidade Pessoa, que se relaciona com EnderecoPessoa dessa forma:
@OneToMany(mappedBy = "pessoa",fetch=FetchType.EAGER)
public List<EnderecoPessoa> getEnderecosPessoas() {
if (enderecosPessoas == null ){
enderecosPessoas = new ArrayList<EnderecoPessoa>();
}
return enderecosPessoas;
}
até ai funciona bem;
Tenho tb uma entidade Empresa q herda de Pessoa e se relaciona com Responsavel dessa forma:
@OneToMany(mappedBy = "empresa")
public List<ResponsabilidadeTecnica> getResponsaveis() {
if (responsaveis == null) {
responsaveis = new ArrayList<ResponsabilidadeTecnica>();
}
return responsaveis;
}
public void setResponsaveis(List<ResponsabilidadeTecnica> responsaveis) {
this.responsaveis = responsaveis;
}
o problema é que, se deixo LAZY, é gerada a exceção: org.hibernate.LazyInitializationException, se mudo pra EAGER, gera o erro de multiple bags.
Agradeço muito a quem puder ajudar.