【发布时间】:2013-10-28 16:21:16
【问题描述】:
我有以下课程:
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)
【问题讨论】:
标签: grails grails-orm grails-2.0 grails-domain-class