gpt4 book ai didi

grails - 在不级联删除的情况下链接Grails中的域对象

转载 作者:行者123 更新时间:2023-12-02 15:29:16 24 4
gpt4 key购买 nike

如何在Grails中链接两个域类,而不使删除级联到另一个?我有两个相关的 Realm ,但一个 Realm 在本质上并不优于另一个 Realm 。基本上是这样的想法:

class Project{
static hasMany = [workers:Employe]
}


class Employe{
static hasMany = [jobs:Project]
}

如果某个项目被关闭,则不应删除所有工作人员,并且如果一个 worker 辞职,也不应删除该工作人员。

最佳答案

您可以拆分域:

class Project{

def getWorkers() {
EmployeeProject.findAll("from EmployeeProject as e where e.project.id=?", [this?.id], [cache: true])
}
}

class Employee {

def getProjects() {
EmployeeProject.findAll("from EmployeeProject as ep where ep.employee.id=?", [this?.id], [cache: true])
}
}

class EmployeeProject {
Employee employee
Project project
}

然后,您可以只使用project.workers,employee.projects并删除EmployeeProject对象,而不会影响其他类。

关于grails - 在不级联删除的情况下链接Grails中的域对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22313656/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com