Grails GORM:更改外键列名称

时间:2015-03-25 18:41:31

标签: grails gorm jointable

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

最小User域类:

class User {

    static hasMany = [
        visitor: Visitor
    ]

    String uid

    ...

}

最小Visitor域类:

class Visitor {

  static belongsTo = [user: User]

  ....

}

问题:

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

2 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:0)

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

class User {

String uid

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