Grails反向级联删除没有hasMany或belongsTo

Mik*_*key 2 grails foreign-keys grails-orm cascading-deletes

我有两个域类.

class UsersAddThese {
  String someData
}
Run Code Online (Sandbox Code Playgroud)

class TheseAreConstantlyGenerated {
  UsersAddThese theProblem
}
Run Code Online (Sandbox Code Playgroud)

有没有办法删除UsersAddThese和自动删除所有TheseAreConstantlyGenerated或我应该只是添加逻辑findAllByTheProblem,然后迭代和删除.(我更喜欢它是否可以自动完成,因此我可以添加引用但UsersAddThese不更改删除控制器的新Generated类.)

或者,有没有办法告诉GORM,"如果其他东西取决于我正在删除的东西,以便导致ERROR util.JDBCExceptionReporter - Cannot delete or update a parent row: a foreign key constraint fails,也删除它 - 递归."

Jor*_* H. 5

好吧,看来整个参考完整性的重点是不要在你的问题的第二部分做你想做的事情.但是,您可以将此闭包添加到UsersAddThese域类:

def beforeDelete () {
    TheseAreConstantlyGenerated.withNewSession {
      TheseAreConstantlyGenerated.findAllByTheProblem(this).each {TheseAreConstantlyGenerated thing ->
        thing.delete()
      }
    }
}
Run Code Online (Sandbox Code Playgroud)

这应该够了吧.