【发布时间】:2014-05-04 10:45:18
【问题描述】:
我有一个带有“grailsChange”changeSet 的迁移,它不断 生成一个
org.hibernate.HibernateException:连接代理在之后不可用 交易完成
grailsChange {
change {
def list1 = [record1,record2]
list1.each {
DomainClass.withTransaction {
new DomainClass(it).save(failOnError: true)
}
}
}
}
【问题讨论】:
-
我也注意到了这一点以及 withNewTransaction。但是 withSession 和 withNewSession 没有给出这个例外。此外,由于添加了更改,因此该异常并未完全发生在更改集中。它似乎是在抛出异常的变更集之外的最终事务
-
我也试过withNewSession。它不会抛出任何异常,但也不会添加记录。不知道为什么,但如果 withNewSession 对你有用,那么应用程序的某个地方肯定有问题。
-
如果在退出关闭之前添加 ctx.getBean('sessionFactory').currentSession.flush(),withNewSession 有效。
标签: hibernate grails grails-orm grails-2.0 grails-plugin