2010-02-11 15 views
11

Come eseguire plain sql in grails. Devo usare sql query per inserire un nuovo record nel database.Query Sql per inserimento in grails

Come ottenere questo risultato senza utilizzare HQL e le relazioni gorm.

grazie

risposta

5

È possibile farlo chiamando il metodo Hibernate Session.createSQLQuery(). Per prima cosa è necessario ottenere la sessione di Hibernate, quindi utilizzare quella sessione per eseguire SQL. Vedi il link this per vedere come ottenere una sessione di sospensione dalla tua app Grails. Quindi vedere il collegamento this per informazioni sull'utilizzo di Hibernate per l'esecuzione di SQL.

+0

Grazie Jared, questi documenti potranno darmi più aiuto – srinath

+0

grazie, questa risposta mi ha aiutato anche io. – tusar

15

groovy.sql.Sql semplifica i dettagli delle query JDBC. In un'applicazione Grails devi utilizzare il costruttore che accetta un DataSource:

import groovy.sql.Sql 
... 
class FooService { 

    def dataSource 
    ... 
    def runSqlQuery(...) { 
     Sql sql = new Sql(dataSource) 
     sql.executeInsert("insert into ...") 
     ... 
    } 
} 

vedere questi link per suggerimenti per l'uso:

http://docs.codehaus.org/display/GROOVY/Tutorial+6+-+Groovy+SQL

http://www.ibm.com/developerworks/java/library/j-pg01115.html

+0

Funziona bene e grazie per i consigli di utilizzo. – srinath

Problemi correlati