Grails:当前事务中的原始SQL查询

时间:2013-05-12 12:31:40

标签: hibernate grails gorm grails-2.0

我正在尝试使用与

类似的东西执行原始SQL查询
def dataSource;
Sql sql = new Sql(dataSource);

但是,它似乎在一个单独的事务中运行。因此,它错过了在服务方法中完成的所有(未提交的)更改。

在当前事务中运行原始sql查询的最佳方法是什么?

1 个答案:

答案 0 :(得分:8)

上面的代码会创建一个新连接,因此会产生一个新事务。您可以使用当前的Hibernate会话(注入sessionFactory)在当前事务中执行原始sql,如下所示。

def session = sessionFactory.getCurrentSession()
def results = session.createSQLQuery(yourQueryString)