【发布时间】:2014-06-02 08:54:40
【问题描述】:
我有一个包含方法的 Grails 服务
@Transactional
def method(param1, param2, param3, param4) {
SomeClass obj = new SomeClass(param1: param1, param2: param2, param3: param3, param4: param4)
obj.save(flush:true, failOnError:true)
}
该方法静默失败,即使我提供了“failOnError”参数。这已经花了我一些时间来弄清楚,所以我将其更改为:
@Transactional
def method(param1, param2, param3, param4) {
try {
SomeClass obj = new SomeClass(param1: param1, param2: param2, param3: param3, param4: param4)
obj.save(flush:true, failOnError:true)
} catch (Throwable t) {
t.printStackTrace()
}
}
现在,最后,我看到错误消息:“没有 Hibernate Session 绑定到线程,并且配置不允许在这里创建非事务性会话”。这很奇怪。我一直相信“@Transactional”会为我提供一个有效的 Hibernate 会话。所以我在这里有点不知所措。有谁知道问题可能是什么?
【问题讨论】:
标签: hibernate grails grails-orm