【问题标题】:Grails: Raw SQL query in the current transactionGrails:当前事务中的原始 SQL 查询
【发布时间】:2013-05-06 14:53:10
【问题描述】:

我正在尝试使用类似于

的方式执行原始 sql 查询
def dataSource;
Sql sql = new Sql(dataSource);

但是,这似乎在它自己的单独事务中运行。因此,它会错过服务方法中在它之前完成的所有(未提交的)更改。

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

【问题讨论】:

    标签: hibernate grails grails-orm grails-2.0


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2021-02-19
      • 1970-01-01
      • 2021-06-14
      • 2013-04-17
      • 2021-07-27
      • 2015-11-21
      • 2012-03-16
      • 2014-04-15
      • 1970-01-01
      相关资源
      最近更新 更多