2017-08-30 71 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。

回答