2017-08-30 72 views
0

我有两个不同的域类,一个是Employee,另一个是Departments。它们之间的关系是[1:N],这意味着许多员工可以在一个部门工作,但反之亦然。问题是,在项目运行时,Grails在域类中创建表之后,对于一名员工,该表的部门标识引用部门表中的标识。例如,对于名为“Peter”的用户,部门ID将为1.Grails - [1:N]关系问题

部门表中还有部门名称以及部门ID。

如何引用员工表中的department_id指向department.name而不是department.id?

系域类:

class Department { 
    String name 

    static hasMany = [ 
      employees: Employee 
    ] 

    static constraints = { 
    } 

    static mapping = { 
     version false 
    } 

    def String toString() { 
     name 
    } 


} 

员工域类:

class Employee { 
    String firstName 
    String lastName 
    String email 
    String country 
    int born 

    static belongsTo = [department: Department] 

    static constraints = { 
     firstName(blank: false) 
     lastName(blank: false) 
     born(blank: false) 
     email(blank: false, email: true) 
     country(blank: false) 
    } 

    static mapping = { 
     version false 
    } 
} 

我需要的是,在雇员表中,部门标识列在department.name引用,而不是department.id。

回答