Имя столбца пользовательского внешнего ключа

Я пытаюсь подключить базу данных lagacy, и у меня возникли некоторые проблемы. Я использую Grails 3.2.3 и Postgresql 9.4. При попытке изменить имя столбца, GORM создать столбец дважды, один раз с именем я выбираю, а другой с форматом имени столбца GORM.
Столбец является estado в сущности Cidade, и мне нужно сопоставить его с «EstadoId» .

Это создание обоих:
«EstadoId» целое число NOT NULL
estadoid целое число не NULL,

класс Cidade {
 int id
 Струнный ном
 Булева столица

 статическое сопоставление=  {
 таблица " tbCidades`
 столбец id: "CidadeId`
 колонка nome: "Nome`
 колонка капитала: "Капитал`
 колонка estado: "EstadoId`
 версия false
 }

 static belongsTo = [ estado : Estado]
}

класс Estado {
 int id
 String sigla

 static hasMany = [ cidades: Cidade ]

 статическое сопоставление=  {
 стол " тбестадос`
 колонка id: "EstadoId`
 колонка sigla: "Sigla`
 версия false
 }
}

Я заметил, что я выбираю имя, используя формат подчеркивания (например: my_column_estado он работает.)

1 ответ

  1. Это по умолчанию bahaviour граалей; при использовании

    static belongsTo = [ estado : Estado]

    это создание estado_idстолбца, который сопоставляется estadoэкземпляру. Вы пытались удалить ограничение:

    estado column: 'Эстадоид'

    drop test db и перекомпилировать проект?