我有以下课程:
class User {
String name
}
class Book {
User user
}
我希望如果我删除一个用户对象,它也会删除包含用户实例的 Book 对象。由于我没有从 User 类到 book 类级联删除将不起作用。
我可以将 Book 类写为:
class Book {
belongsTo = [user: User]
}
前者也不会进行级联删除,因为在 User 类中仍然没有定义关系。
我所做的是以下内容:
class User {
String name
def deleteUser() {
def books = Book.findAllByUser(this)
books.each { it.delete(flush: true) }
}
delete(flush: true)
}
我不认为这是最好的解决方案。我能做些什么呢?有没有办法以某种方式扩展 User 类 delete() 函数?
我尝试了以下但失败了。
def delete() {
def books = Book.findAllByUser(this)
books.each { it.delete(flush: true) }
}
super.delete(flush: true)