2010-02-11 56 views
11

如何在grails中執行plain sql。我需要使用sql查詢插入數據庫中的新記錄。在grails中插入sql查詢

如何使用HQL和gorm關係實現這一點。

謝謝

回答

5

您可以通過調用Hibernate的Session.createSQLQuery()方法來做到這一點。首先,您需要獲取Hibernate會話,然後使用該會話來執行SQL。請參閱this鏈接以瞭解如何從Grails應用程序獲取Hibernate會話。然後請參閱this鏈接以獲取有關使用Hibernate執行SQL的信息。

+0

由於賈裏德,這些文檔會給我更多的幫助。 – srinath 2010-02-11 15:56:24

+0

謝謝,這個答案也幫助了我。 – tusar 2013-01-13 17:49:57

15

groovy.sql.Sql簡化了執行JDBC查詢的細節。在一個Grails應用程序,你會使用,需要一個數據源的構造:

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

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

看到這些鏈接使用技巧:

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

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

+0

其工作良好,並感謝使用提示。 – srinath 2010-02-12 06:05:36