Grails GORM:更改外键列名称

Grails GORM: Change foreign key column name

我正在尝试为 User 的 ID 更改 Visitor table 中使用的外键列名称。该列现在命名为 user_id,我想将其更改为 who_id

最小 User 域 Class:

class User {

    static hasMany = [
        visitor: Visitor
    ]

    String uid

    ...

}

最小 Visitor 域 Class:

class Visitor {

  static belongsTo = [user: User]

  ....

}

问题:

我试过 mappedBy 但没有成功,是否有另一种方法可以使用 User 中的 属性 作为 Visitor 中的外键?

我想你想使用映射静态块:

class Visitor {
  static belongsTo = [user: User]
  static mapping = { user column: 'who_id' }
}

可以将User中的uid标记为id(主键)。这将使它自动成为 Visitors 域中的外键。

class User {

String uid

static mapping = {
    id column: 'uid'
}
...