【发布时间】:2011-06-01 14:22:29
【问题描述】:
我正在开发一个 Grails(事务性)服务,该服务构建一个复杂的域结构并将其持久化。该逻辑的工作原理是识别先前的结构,然后创建一个新结构,然后 - 如果它通过验证 - 删除任何旧结构并保留新结构。 Grails 刷新模式正在成为阻碍,因为验证逻辑会执行查询,在 AUTO 模式下,它会在完成之前保留域结构的一部分。
我已经在 DataSource.groovy 中设置了:
hibernate {
flush.mode = "commit"
}
因为我需要(我认为)关闭查询时刷新的自动处理。如果没有这个,我的新结构的一部分在验证过程中会被增量写入,这会导致 Hibernate 抛出可怕的完整性错误。
在我的集成测试期间——尽管在 DataSource.groovy 中进行了设置——刷新模式仍被记录为 AUTO。 Grails 是否有充分的理由不尊重我的设置?
【问题讨论】:
标签: hibernate grails integration-testing