Grails 自定义外键列名
我正在尝试连接lagacy数据库,但遇到了一些问题。我正在使用Grails 3.2.3和Postgresql 9.4。当尝试更改列名时,GORM将创建两次列,一次使用我选择的名称,另一次使用GORM列名格式。 列是Cidade实体中的estado,我需要将其映射到“EstadoId” 它创建了两个: “EstadoId”整数不为空 estadoid整数不为空 class Cidade { int id String nome Boolean capital static mapping = { table '`tbCidades`' id column: '`CidadeId`' nome column: '`Nome`' capital column: '`Capital`' estado column: '`EstadoId`' version false } static belongsTo = [ estado : Estado] } 类Cidade{ 整数id 字符串名称 布尔资本 静态映射={ 表'`tbCidades`' id列:'`CidadeId`' nome列:“`nome`” 大写栏:“`capital`” estado列:''EstadoId`' 版本错误 } 静态belongsTo=[estado:estado] } 类Estado{ 整数id 弦西格拉 静态hasMany=[cidades:Cidade] 静态映射={ 表'`tbEstados`' id列:'`EstadoId`' sigla列:''sigla`' 版本错误 } }Grails 自定义外键列名,grails,gorm,Grails,Gorm,我正在尝试连接lagacy数据库,但遇到了一些问题。我正在使用Grails 3.2.3和Postgresql 9.4。当尝试更改列名时,GORM将创建两次列,一次使用我选择的名称,另一次使用GORM列名格式。 列是Cidade实体中的estado,我需要将其映射到“EstadoId” 它创建了两个: “EstadoId”整数不为空 estadoid整数不为空 class Cidade { int id String nome Boolean capital static map
我注意到我使用下划线格式选择了一个名称(比如:my_column\u estado它可以工作)。它是grails的默认名称;当你使用
static belongsTo=[estado:estado]
它正在创建映射到estado
实例的estado\u id
列。是否尝试删除约束:
estado列:'
EstadoId'
drop test db and recompile project?实际上我需要该列的名称为“EstadoId”。但是由于a不需要任何级联,a只是这样声明了atribute:Estado Estado并映射了列名:Estado column:“EstadoId”。 class Estado { int id String sigla static hasMany = [ cidades: Cidade ] static mapping = { table '`tbEstados`' id column: '`EstadoId`' sigla column: '`Sigla`' version false } }