Boa tarde pessoal, eu tenho uma classe GrupoEmpresarial onde nela tem uma lista de empresas, porém, quando eu faço o HQL “from GrupoEmpresarial” ele me retorna junto a lista de empresas, eu sei que vocês devem estar se perguntando, não é isso que ele queria? Mas acontece que pode ocorrer de eu querer buscar apenas o grupoempresarial, e nenhuma lista de empresas, como eu posso especificar isso no HQL? Será que eu tenho que especificar simplesmente os elementos que eu quero busca e não buscar a lista?
Voce deve colocar no mapeamento (XML ou annotation depende do que vc esta usando) lazy=true, aí ele não retorna a lista.
E se presisar que algum metodo que retorne a lista junto, vc cria o metodo e coloca assim:
Aqui ele retorna com a lista de empresas
F
fabiopassos
Nao sei se entendi muito bem, mais la vai:
publicGrupoEmpresarialgetGrupoEmpresarial(intid){
Queryq=getSession().createQuery("from GrupoEmpresarial g where g.Id=?");q.setInteger(0,id);return(GrupoEmpresarial)q.uniqueResult();
}
espero ter ajudado.
Fabio Passos.
ThiagoWorldCoder
eu entendi do lazy=“true”, só que eu não posso mudar no mapeamento, porque senão vai ficar sempre sem pegar as empresas, acontece que eu teria um select que pegaria o grupoEmpresarial com as empresas, e outro sem as empresas, entendeu?
spycall
Então, vc muda o mapeamento para lazy=true
no seu metodo que vc QUER que venha as empresas voce coloca
o grupoEmpresarial.getListEmpresas().size(); que aí virá com as empresas
e cria um metodo novo sem o grupoEmpresarial.getListEmpresas().size();
que virá sem as empresas.