在Grails中链接域对象而不进行级联删除
如何在Grails中链接两个域类,而不让删除从一个域类级联到另一个域类?我有两个相关的领域,但其中一个并不比另一个优越。基本上就是这样的想法:在Grails中链接域对象而不进行级联删除,grails,gorm,Grails,Gorm,如何在Grails中链接两个域类,而不让删除从一个域类级联到另一个域类?我有两个相关的领域,但其中一个并不比另一个优越。基本上就是这样的想法: class Project{ static hasMany = [workers:Employe] } class Employe{ static hasMany = [jobs:Project] } 如果某个项目被关闭,所有工人都不应该被删除,如果一个工人辞职,他也不应该被删除 您可以拆分域: class Project{
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对象,而不影响其他类