kirlian....@gmail.com
unread,May 13, 2008, 10:55:12 AM5/13/08Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to NHibernate-Br
Pessoal, esse problema está tirando-me o sono de várias noites já.
eu tenho uma estrutura pesada que só é carregado uma vez na minha
aplicação, quando o IIS inicia.
Esta estrutura interliga 7 tabelas do meu banco de dados.
No meu mapeamento, todos eles estão utilizando lazy=true com
fetch=select, ou seja, nada é carregado automaticamente.
O problema é que ao carregar esta estrutura, resolvi buscar tudo de
uma vez, num único SQL. Para isso adicionei uma cadeia de Criteria
Criteria
|_CreateCriteria
|_CreateCriteria
|_CreateCriteria
|_CreateCriteria
...
Bem, em seu resultado, tudo vem duplicado, num determinado nivel
desses, deveria vim uma lista de apenas dois registros, estão vindo
15. No resultado do SQL, já conferi, e tudo ocorre como planejado, os
dados estão duplicados, mas devido as várias junçoes existentes.
Utilizo em todos os criteria, JoinType.LeftOuterJoin. E, após muito
tentar, utilizei também DistinctRootEntityResultTransformer, que por
minha infelicidade, só funcionou no primeiro nivel do meu
encadeamento.
Agora eu pergunto, existe alguma maneira de contornar isso? Sei que
posso tratar isso via código, mas vai ficar muito custoso para
processamento.
Espero anciosamente por uma ajuda neste caso,
Atenciosamente,
Kirlian Silvestre