2012-08-29 47 views
0

我有這樣的設置簡單的一個格姆列名於許多映射

class User { 
    Date lastLogin 

    // logins is a history of logins 
    static hasMany = [logins : Date] 

    def setLastLogin(Date date) { 
    if (date) { 
     lastLogin = date 
     addToLogins(date) 
    } 
    } 
} 

格姆是產生目前看起來像這樣的表MEMBER_LOGINS:

USER_ID, LOGINS 

相反,我想

USER_ID, DATE 

我試圖在用戶中添加一個映射

static mapping = { 
    logins column: 'date'; 
} 

但是,這只是改變的外鍵,所以我現在有

DATE, LOGINS 

我怎樣才能改變LOGINS列?

謝謝!

回答

1

您可以使用Hibernate HBM文件映射您的列

http://grails.org/doc/latest/guide/hibernate.html

或者你也可以做到這一點

class User { 
    static hasMany = [logins: Date] 
    def setLastLogin ... 
    static mapping = { 
     hasMany joinTable: 
      [name: 'logins', 
       key: 'person_id', 
       column: 'dates', 
       type: "date"] 
    } 
} 
相關問題