GORM列名称用于简单的一对多映射

时间:2012-08-29 18:43:00

标签: grails gorm

我有这个设置

class User {
  Date lastLogin

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

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

GORM正在生成一个表MEMBER_LOGINS,目前看起来像这样:

USER_ID, LOGINS

相反,我想

USER_ID, DATE

我尝试在用户

中添加映射
static mapping = {
  logins column: 'date';
}

但那只是改变了外键所以我现在有了

DATE, LOGINS

如何更改LOGINS列?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用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"] 
    } 
}