我有一个域A,它有hasMany域B和C. B有属于A和C有一个A关系。
我正在删除A但它会引发“参照完整性约束违规:”的错误。
现在我希望当我删除A时它的相关B和C记录也会被删除。
答案 0 :(得分:2)
尝试这样的事情:
@Transactional
void deleteA(Long id) {
A a = A.get(id)
def listOfB = B.findAllByA(A)
listOfB*.delete()
def listOfC = C.findAllByA(A)
listOfC*.delete()
A.delete(flush: true)
}
答案 1 :(得分:2)
Grails文档有一个专门针对此的部分:
http://docs.grails.org/latest/ref/Database%20Mapping/cascade.html