Pessoal, tenho uma aplicação web de pequeno porte, estou tendo problemas com o lazy pois fecho a session antes de necessitar dos atributos.
Existe alguma forma de o hibernate pegar todos os atributos do objeto sem necessitar de lazy ?
tenho uma pessoa com varios telefones (Vector), gostaria que quando pegar pessoa todos os telefones já estivessem carregados no pessoa.
Sei que o “custo” dessa operação é mais caro, mas é minha necessidade hoje.
Obrigado.
[quote=Leozin]lazy=false
tu já tentou?[/quote]
Obrigado pela resposta !
isso funciona sim, mas por exemplo quero emitir uma listagem de pessoas, ai não é interessante que venham todos os telefones de todas as pessoas, nesse caso como faria ?
_fs
Maio 4, 2006, 10:12am
#4
Há como controlar lazy/eager nas interfaces que a api do Hibernate fornece para pegar dados. Um exemplo:
Pessoa -> Documentos // declarado lazy
Pessoa -> Telefones // declarado não-lazy
Supondo que quero pegar a lista de pessoas com todos os documentos já carregados, mas não preciso dos telefones:
Criteria criteria = session.createCriteria( Pessoa.class );
criteria.setFetchMode( "documentos", FetchMode.JOIN );
criteria.setFetchMode( "telefones", FetchMode.LAZY );
List pessoas = criteria.list();
Veja a documentação para outros tipos de FetchMode.
[quote=LIPE]Há como controlar lazy/eager nas interfaces que a api do Hibernate fornece para pegar dados. Um exemplo:
Pessoa -> Documentos // declarado lazy
Pessoa -> Telefones // declarado não-lazy
Supondo que quero pegar a lista de pessoas com todos os documentos já carregados, mas não preciso dos telefones:
Criteria criteria = session.createCriteria( Pessoa.class );
criteria.setFetchMode( "documentos", FetchMode.JOIN );
criteria.setFetchMode( "telefones", FetchMode.LAZY );
List pessoas = criteria.list();
Veja a documentação para outros tipos de FetchMode.[/quote]
era isso que eu precisava mesmo !!!
Obrigado LIPE 5 estrelas pra você !