[英]Link Domain Objects in Grails without cascading deletes
如何在Grails中链接两个域类而又不使删除级联到另一个? 我有两个相关的领域,但一个领域在本质上并不优于另一个领域。 基本上是这样的想法:
class Project{
static hasMany = [workers:Employe]
}
class Employe{
static hasMany = [jobs:Project]
}
如果某个项目被关闭,则不应删除所有工作人员,并且如果一个工人辞职,也不应删除该工作人员。
您可以拆分域:
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对象,而不会影响其他类。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.