我有以下域类
class User{
static hasMany = [servers: Server]
static mapping = {
servers cascade: 'all-delete-orphan'
}
}
class Server{
int sid
}
当我删除服务器时,我得到了
违反完整性约束(XXXXXX.XXXXXXXXX) - 找到子记录
如何将CASCADE ON DELETE
约束添加到grails中的外键中。
答案 0 :(得分:1)
您定义了User
和Server
之间的单向关系。由于Server
不知道其相关User
,您需要执行以下操作:
def user = User.get(123L)
def server = user.servers.find { it.sid == 321 }
if (server) {
user.removeFromServers(server)
user.save()
server.delete()
}