在Grails中链接域对象而不进行级联删除

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

如何在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对象,而不影响其他类