在我尝试排除故障的Grails 1.2.5 项目中,我们使用 Grails Searchable 插件.5.5.1。
问题在于,每当我们尝试索引大型集合域类时,Grails 都会不断抛出:
ERROR hibernate.AssertionFailure - 发生断言失败(这可能表明 Hibernate 中存在错误,但更可能是由于会话使用不安全) org.hibernate.AssertionFailure:集合 [domain-class] 未由 flush() 处理
但是涉及的域类已经被hibernate映射和使用,除了对可搜索插件的调用之外没有问题。
可搜索插件的使用如下:
- 创建一个指南针会话
compass.openSession()
- 开始罗盘交易:
compassSession.beginTransaction()
- 然后
compassSession.create(result.get(0))
在一个重要的未索引域类上调用 - finally
compassTransaction.commit()
被调用来提交事务。 - 转到 2 并处理下一个域类
在第 3 和第 4 个域类之间,触发了引发错误的自动刷新。
谁能给我有关如何解决此问题的任何提示?
有没有人遇到过这个问题?
我知道他们在可搜索插件的 0.5 之前版本中对此存在系统性问题。 这些问题可能没有完全解决吗?