List como parametro de uma Query
09/05/2015 18:13
0
Boa noite Galera,

Estou fazendo um projeto na facul sobre Grails e deparei com o seguinte problema:

Estou precisando realizar uma consulta, apenas um count, mas fazendo join em várias tabelas. Pensei na seguinte solução:

1 - Fazer a consulta em uma tabela armazenando em uma List e passar essa List como parametro da outra consulta, e fazer um "where" com "in (list)". Tem como fazer isso? Ou há uma maneira diferente de fazer??

Obrigado pela atenção de todos.
Tags: List como Parametro, Query com in,


0
Por que não usa o JOIN mesmo?
10/05/2015 13:16


0
Estava pesquisando e vi o "criteria". Seria com ele mesmo ou existe outra maneira ??

Att.
11/05/2015 08:26


0
Talvez o melhor seja utilizar criteria mesmo. Abaixo o exemplo de um código de uma aplicação minha:

   def pesosInstanceList = PesoCompetencia.createCriteria().list() {
modelo {eq("indAtivo", true)}
? ?projections {
   groupProperty("competencia")
   count "competencia", 'competenciaCount'
}    
order ('competenciaCount', 'desc')
   }

Sendo a classe de domínio PesoCompetencia:

class PesoCompetencia {
    
    Competencia competencia
    int valPeso
    boolean indObrigatoria
    static belongsTo = [modelo : Modelo]
    
    static constraints = {
    }
}


0
Correto em usar criteria.  Mas tem um meto que ja te retorna o count.
 def result= SuaClasse.createCriteria().list() {
like ("propriedade1" , "ABC")
like ("propriedade2" , "ABC")
like ("propriedade3" , "ABC")
//join
'propriedade4' {
?eq ("x", "ab");
}
'propriedade5' {
?eq ("x", "ab");
}
'propriedade6' {
?eq ("x", "ab");
}

}
car count = result.getTotalCount() // aqui vc tem seu count



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