Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate Grails应该在集成测试中忽略刷新模式吗?_Hibernate_Grails_Integration Testing - Fatal编程技术网

Hibernate Grails应该在集成测试中忽略刷新模式吗?

Hibernate Grails应该在集成测试中忽略刷新模式吗?,hibernate,grails,integration-testing,Hibernate,Grails,Integration Testing,我正在开发一个Grails(事务)服务,它构建一个复杂的域结构并将其持久化。该逻辑的工作原理是识别以前的结构,然后创建一个新结构,如果它通过了验证,则删除任何旧结构并保留新结构。Grails flush模式正在成为阻碍,因为验证逻辑会执行查询,而在自动模式下,查询会在域结构完成之前保留部分域结构 我在DataSource.groovy中设置了: hibernate { flush.mode = "commit" } 因为我需要(我认为)关闭自动处理,它会刷新查询。如果没有这一点,我的新

我正在开发一个Grails(事务)服务,它构建一个复杂的域结构并将其持久化。该逻辑的工作原理是识别以前的结构,然后创建一个新结构,如果它通过了验证,则删除任何旧结构并保留新结构。Grails flush模式正在成为阻碍,因为验证逻辑会执行查询,而在自动模式下,查询会在域结构完成之前保留部分域结构

我在DataSource.groovy中设置了:

hibernate {
    flush.mode = "commit"
}
因为我需要(我认为)关闭自动处理,它会刷新查询。如果没有这一点,我的新结构的某些部分将在验证过程中以增量方式编写,这将导致Hibernate抛出可怕的完整性错误


在我的集成测试期间——尽管在DataSource.groovy中进行了设置——刷新模式仍然记录为AUTO。Grails不应该尊重我的设置有什么好的理由吗

默认级联行为是一对多关系的保存更新。 试试无

static mapping = {
    foos cascade:'none'
}