Boa tarde Galera.
Eu estou com algumas duvidas ainda sobre o bom é velho problema de Lazy Loading. Mas se acalmen não criemos panico hehehe..
Eu consegui resolver o problema de Lazy em parte em um pequeno projeto de testes aqui. Mas acho(tenho quase certeza na verdade que não foi a melhor solução).
Vou descrever como eu fiz.
Faço as minhas criteria utilizando Projections. Assim busco só os campos das classes que não são listas, ou outro objetos que não sejam tipos do Java.Vou colocar um pequeno exemplo aqui.
Tenho a Classe Empresa e dentro de Empresa tenho um List
Ai para evitar o problema de Lazy busco só os dados da empresa
Criteria c = super.session.createCriteria(Empresa.class, "empresa");
ProjectionList projectionList = Projections.projectionList().create();
projectionList.add(Projections.property("empresa.cod"),"cod");
projectionList.add(Projections.property("empresa.razao"),"razao");
projectionList.add(Projections.property("empresa.etc"),"etc");
c.setProjection(projectionList);
Mas isso me tras sérios problemas se eu precisar fazer um c.add(Restrictions.eq("empresa.cod", cod)); Ao invés do hibernate utilizar isso na clausula Where ele usa um alias que ele criou para a consulta no SELECT ai digamos ele colocaria algo + ou - assim where _y0 = 1 ai é lógica o banco não executa o SQL pois ele não conheçe o camo y0.
Bem esse é um dos problemas mais ainda é facil solucionado pois dai monta as clausulas where e manto elsa com o Restrictions.sqlRestrictions.
Mas o problema mesmo é se eu precisar da lsita de USUARIOS para mandar para o FLEX junto com a EMPRESA. Vou ter que fazer uma nova consulta no banco buscando só os dados do usuário. Até ai Blza Porém se eu tenho um List
Eu acho que isso ta completamente errado. Mas não consegui pensar em nenhuma outra solução para isto se alguém puder compartilhar experiencia sobre isso ficarei muito grato.
Ou Se puderem dizer se usam mais HQL ou Criteria.
Desculpa pelo extenso texto. Mas essa questão ja vem me encomodando a uns 6 meses. E eu sempre procurando solução para isso mais sem muito sucesso.
Obrigado pela Atenção de todos.
