【问题标题】:Deleted object would be re-saved in many-to-many relationship删除的对象将以多对多关系重新保存
【发布时间】:2014-08-27 15:36:24
【问题描述】:

我正在使用Grails wiki example 来设置多对多关系。当我进行 Membership.unlink(employee, team) 调用时,m.delete 会导致“已删除的对象将被级联重新保存”错误,我似乎无法解决这个问题。

【问题讨论】:

  • 链接的文章与 1.0.3 版的 grails 相关(顺便说一下,它已有 5 年历史了)。这真的是您正在使用的版本吗?如果没有,请查看有关 GORM 的 current docs (v. 2.4.x) - 也许这只是回答了您的问题。
  • 感谢指点

标签: grails grails-orm


【解决方案1】:

当您删除链接到hasMany 关系的实例时,您还必须从“多”端删除该对象。例如:

employee.removeFromTeam(team)
employee.delete(flush: true)

在您的示例中,您可能有一个 Membership 类,其中包含 TeamEmployee 关系。在这种情况下,您需要执行以下操作:

membership.removeFromTeam(team)
membership.removeFromEmployee(employee)
membership.delete(flush: true)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-14
    • 2012-01-03
    • 1970-01-01
    相关资源
    最近更新 更多