我试图连接一个滞后数据库,但我遇到了一些麻烦。我使用的是Grails 3.2.3和Postgresql 9.4。尝试更改列名时,GORM会创建两次列,一次使用我选择的名称,另一次使用GORM列名称格式。 Cidade 实体中的列 estado ,我需要将其映射到" EstadoId" 。
它创造了两个: " EstadoId"整数NOT NULL estadoid整数NOT NULL,
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] }
class Estado { int id String sigla static hasMany = [ cidades: Cidade ] static mapping = { table '`tbEstados`' id column: '`EstadoId`' sigla column: '`Sigla`' version false } }
我注意到我选择了使用下划线格式的名称(例如: my_column_estado 它有效。)
答案 0 :(得分:0)
这是grails的默认行为;当你使用
static belongsTo = [ estado : Estado]
它正在创建映射到estado_id
实例的estado
列。您是否尝试删除约束:
estado column: '
{EstadoId {1}}
drop test db并重新编译项目?