gpt4 book ai didi

grails - removeFrom* 方法应该从数据库中删除子项还是应该只删除父子关系?

转载 作者:行者123 更新时间:2023-12-02 13:58:06 25 4
gpt4 key购买 nike

问题在主题中。

目前,我观察到的行为是当我调用 Parent.removeFromChilds(child) , child 没有从我的数据库中删除(即我可以用 Child.findBy...(args) 找到它)。

我很好奇这是否是正确的行为。如果是 - 在一个事务中删除关系和子项的最佳方法是什么?

如果没有 - 我会做错什么?

最佳答案

默认情况下,如果您删除一对多的拥有方,则删除级联。如果你只是删除 child ,它不会被删除。您可以通过在关系的拥有方指定“all-delete-orphan”的自定义级联行为来更改它。来自 Grails 文档:

class Person {

String firstName

static hasMany = [addresses: Address]

static mapping = { addresses cascade: "all-delete-orphan" } }

更新

Part 2 of GORM Gotchas对不那么明显的 addTo 进行了很好的分割和 removeFrom行为。我认为它包含您正在寻找的确切信息。

关于grails - removeFrom* 方法应该从数据库中删除子项还是应该只删除父子关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11163855/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com