У меня есть старый стол, который я пытаюсь подключить к Grails. Я собираюсь упростить модель, чтобы упростить ситуацию. В таблице есть 2 поля: «NAME», которое имеет строку типа и «CPAR», которое имеет тип Integer и действует как идентификатор таблицы (первичный ключ).Как добавить новое автоматически сгенерированное поле первичного ключа в старый стол с Grails?
Что я хочу сделать, это сохранить «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.