Grails映射域类自定义列名

Grails映射域类自定义列名,grails,gorm,Grails,Gorm,在我的Grails项目中,我连接到一个现有的DB,我有以下结构 class Country { Integer country String countryCode String label } class Address { String countryCode .... } 数据库表: 国家表 id、版本、国家、国家/地区代码、标签 地址表 id、版本、国家/地区代码 我想要一些类似于: class Address { Country country } 但它似

在我的Grails项目中,我连接到一个现有的DB,我有以下结构

class Country {
  Integer country
  String countryCode
  String label
}

class Address {
  String countryCode
  ....
}
数据库表: 国家表 id、版本、国家、国家/地区代码、标签

地址表 id、版本、国家/地区代码

我想要一些类似于:

class Address {
  Country country
}
但它似乎在地址表中自动查找一个名为
country\u id
的列,我尝试使用

static mapping = {
    country column: 'country'
}
但我仍然有同样的结果

我知道最好将其链接到
country.id
,但DB是存在的,我无法修改它

任何人都可以在这方面提供帮助?

请签出并添加到域类
国家/地区

static mapping = {
     id name: 'country'
}

如果使用一对多关系,则不需要声明属性。 在
国家/地区类别下,您可以添加

static hasMany = [addresses: Address]

static belongsTo = [country: Country]
您不需要添加
国家/地区
字段


然后,您可以在视图中使用
addressInstance.country.countryCode
来显示数据。

那么,您现有的db表
address
中是否有列
country
?我已经尝试过了,但收到了以下错误:
错误org.hibernate.engine.jdbc.spi.SqlExceptionHelper-错误:此列\u.country\id不存在exist
我尝试过,但收到了以下错误:
error org.hibernate.engine.jdbc.spi.SqlExceptionHelper-错误:此列\uu.country\u id不存在
我只是重新阅读了您的帖子,您无法更改表格。您是否尝试映射
静态映射={country column:'country_code'}