在afterLoad()中打开事务时发现同一个集合的两个表示


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

大多数情况下,它可以工作,直到我在控制器

中调用以下列表
A.createCriteria().list{.....}

将抛出异常:org.hibernate。HibernateException:发现同一个集合的两个表示

如果我删除

A.withTransaction

可能

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

将帮助你

我自己也遇到过这种例外,我真的被它难住了好几天。你可以看看这个问题的答案是否解决了你的问题:

HibernateException:发现同一个集合的两个表示

这个解决方案对我不起作用,所以我写了一篇文章来描述这个问题以及我如何解决它,你可以在这里阅读。我相信你的问题与我的相似,因为事务方面,Hibernate在事务提交时刷新会话,这就是抛出异常的地方。

最新更新