createSQLQuery
12/03/2009 00:00
0
Pessoal, tenho uma consulta no banco de dados que esta numa storedProc portanto, não dá pra usar o GORM. Dai vi que tem como eu usar o createSQLQuery do hibernate, através do sessionFactory, porém to testando no console, mas não to conseguindo obter o sessionFactory. Como eu poderia acessar esse objeto dentro do console do grails?
Tags: Grails


0
Oi,

Dá uma olhadinha neste exemplo que rolou em uma lista de discussão: http://www.nabble.com/Re%3A-GORM-Events-p19788634.html

[]s,
13/03/2009 00:00


0
Se vc tá tentando acessar o bd que vc definiu no datasource, não precisa usar o sessionfactory, na verdade, se fosse um outro bd, também não precisaria acessar usando sessionfactory.

Pra poder usar o bd definido no datasource, vc pode fazer da seguinte forma:

class AlgumController{
def dataSource

def algumaAction = {
def sql = groovy.sql.Sql(dataSource)
sql.executeUpdate("sua query")
sql.call("sua procedure")
sql.close()
}

}


A variável dataSource vai ter a conexão que vc definiu no arquivo dataSource(isso funciona devido a algo relacionado com IOF, se não me engano). Quando vc passa esse dataSource para a Sql, ele cria uma nova instância da conexão existente, sem precisar repetir aquilo que está no arquivo dataSource(nome do banco, driver, etc). Atenção para o fato dessa variável está declarada no escopo do controller e não de uma action(já cometi esse erro).

Se vc pretende se conectar com outro bd, que não é aquele definido no arquivo datasource, vc pode fazer da seguinte forma:

import groovy.sql.Sql
sql = Sql.newInstance("jdbc:jtds:sqlserver://serverName/dbName", "username","password", "net.sourceforge.jtds.jdbc.Driver")
sql.eachRow("sua query", { closure faz algo } )
sql.call("sua procedure")


Para ambos os casos é útil ver os métodos e formas de se trabalhar com bd em groovy(http://groovy.codehaus.org/Documentation). Tem um detalhamento legal dos métodos na parte de groovy 1.6 api.

Espero ter ajudado.
13/03/2009 00:00



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