hibernate - GORM,获取org.hibernate.HibernateException:在afterLoad()中打开事务时找到同一集合的两个表示形式

标签 hibernate grails gorm

class A {
  def afterLoad() {
    A.withTransaction {

    }
  }
}

在大多数情况下,它都有效,直到我在 Controller 中调用下面的列表
A.createCriteria().list{.....}

将抛出异常:org.hibernate.HibernateException:找到相同集合的两个表示形式

如果我删除
A.withTransaction

然后它将起作用。

最佳答案

也许

A.withNewSession { session ->
  ....
}

会帮助你

关于hibernate - GORM,获取org.hibernate.HibernateException:在afterLoad()中打开事务时找到同一集合的两个表示形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8221384/

相关文章:

hibernate - 在未映射的表上执行更新

java - 在同一事务中更新两个对象

java - 我如何使用一对多的多次关系?

grails - 将Spring Security插件与备用数据库架构一起使用

hibernate - 在没有 Hibernate 的情况下使用 grails Quartz 插件

hibernate - 什么时候保存实例?

java - 在 Hibernate 中映射 byte[] 并逐 block 添加文件

java - 为什么 Hibernate 在使用 IDENTITY 标识符生成器时禁用 INSERT 批处理

grails - Netbeans和Grails-停止服务器

unit-testing - 我如何模拟grails domain.refresh()