Grails Criteria e Detached em multiplas Domains.
14/08/2013 22:21
0
Boa noite galera. Estou penando em uma Criteria aqui para um projeto, e estou recorrendo a vocês, na verdade nem sei se a Criteria pode ser a melhor solução então vamos lá.

Eu preciso exibir em uma tela para o usuário com 7 campos que estão espalhados em 8 tabelas, pois uma é apenas de ligação. Preciso colocar um sort e paginação, pois são muitos resultados e com HQL não consegui o resultado esperado, apesar de funcionar.

Segue a imagem dos meus relacionamentos:


Acima de cada Domain tenho o campo que preciso pegar.

O problema é que da forma antiga, eu trafego um volume muito grande de objetos entre meu servidor e o cliente, e não quero que isto aconteça.

Não consigo pegar somente estes valores de cada Domain. Tentei fazer Join, Alias, mas ele me retorna sempre algum tipo de erro. Alguém com conhecimento maior em Hibernate pode me ajudar?

Meu parâmetro de busca é sempre feito em cima de um campo da tabela ODEF, então sempre começo dela. Eu tentei utilizar subqueries mas por não conhecer muito sobre elas não consegui um resultado efetivo, apesar de acreditar que esta seja a abordagem mais ideal no caso.

Agradeço desde já as respostas.
Tags: uml grails hibernate detached criteria



0
Por favor, adicione o hql que voce está tentando fazer para ficar mais facil o entendimento.


0
É justamente este HQL que quero eliminar, pois o que faço é trazer os registros do banco e ir eliminando via código. Eu criei um objeto de dataModel apenas para exibição destes campos, mas o retorno de valores é gigantesco e lento.


StringBuilder hql = new StringBuilder();
hql.append("from Opdef as operDef ")
hql.append("inner join operDef.opdata as operDat ")
hql.append("where operDat.idCarteira = ${params.id} ")
hql.append("and operDat.dateCreated = (select MAX(dateCreated) from Opdata where idOperacao = operDat.idOperacao) ")
hql.append("order by operDat.idOperacao")


Este é o HQL, mas ainte tenho que isar um groupBy{}.values() para conseguir obter o resultado esperado.


0
Você pode trocar o hql , por Where Queries, mas só por questão de sintaxe.

Para tentar agilizar você pode tentar paginar esta busca.



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto