У меня есть устаревшая таблица, которую я пытаюсь соединить с Grails. Я собираюсь упростить его модель, чтобы сделать вещи проще. В таблице 2 поля: «ИМЯ», которое имеет тип string, и «CPAR», которое имеет тип Integer и действует как идентификатор таблицы (первичный ключ).
То, что я хочу сделать, это сохранить «CPAR» для обратной совместимости и вставить в таблицу новое поле «ID», которое будет автоматически сгенерировано и фактически будет первичным ключом таблицы.
Вот мой класс домена:
Class Partners {
Long id
String name
Integer cpar
static mapping = {
table "PARTNERS"
version false
columns {
id column: "ID", generator: "sequence"
name column: "NAME"
cpar column: "CPAR"
}
}
}
Когда я запускаю это приложение, оно создает поле идентификатора в таблице, но все строки заполняются нулями (поле «ID» равно нулю, а не всей строке). При попытке получить доступ к приложению через его веб-интерфейс с поддержкой скаффолдинга выдает ошибку: не удается получить свойство id для нулевого объекта. Я хотел бы, чтобы эти поля «ID» заполнялись правильными значениями, а не нулями. Как я могу сделать это? База данных, которую я использую - Firebird.