Grails映射域类自定义列名
在我的Grails项目中,我连接到一个现有的DB,我有以下结构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 } 但它似
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'}