grails-orm - 如何在全局级别将所有 Grails 域的级联设置为 false

标签 grails-orm cascade grails3

如何在全局级别将所有 Grails 域的级联设置为 false。

此外,我希望能够选择在特定的保存操作上设置它。

最佳答案

对于您问题的第一部分:

How to make cascade to false for all grails domains at global level.

这是一个未记录的功能,但您可以在 application.groovy 文件中添加

grails.gorm.default.mapping = {
    '*' cascade:'none'
}

请注意,即使您使用 validate(deepValidate:true),级联验证也会被禁用。

注意:即使禁用级联验证,如果您在外部实例之前手动验证嵌套实例,则外部实例的验证将收集嵌套实例的错误。这给我带来了相当多的困惑。

我只在 Grails 3.3 中测试过这个,我不确定它是否适用于其他版本。

关于grails-orm - 如何在全局级别将所有 Grails 域的级联设置为 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49555610/

相关文章:

Grails + 斯波克 : NullPointerException when doing addTo* on an embedded hasMany field

c# - 删除抛出 "deleted object would be re-saved by cascade"

jquery - Grails从2.x升级到3.x。升级后Ajax不会呈现模板

spring - grail tomcat部署时没有合适的驱动程序异常

java - 对嵌套元素运行 hql 查询返回 "unexpected AST node"

c# - 级联错误: deleted object would be re-saved by cascade

hadoop - 在Apache Hive中,具有大量外部表的DB花费太长时间来进行DROP CASCADE

grails - grails无法在带有NTLM代理的Windows上工作

grails - UrlEncodedSlash 被 HttpFirewall 阻止(Grails 3.3.0.RC1;Spring-security-core 3.2.0.M1)

mysql - Grails 或 Hibernate 未创建丢失的表