Я все еще новичок в Grails и Hibernate, поэтому, если вы ответите, имейте в виду, что я использовал IDE только в течение 5 дней. У меня есть база данных MYSQL, к которой я пытаюсь подключиться. Я установил обновление БД, как мне потребуется позже. Затем я запускаю плагин db-reverse-engineer, и он автоматически генерирует отличные файлы в STS для всех таблиц. Когда я смотрю на файлы, я замечаю в файле статическое отображение. Я протестировал одну таблицу и создал ее контроллер, чтобы показать все записи. Это бежало отлично. Когда я посмотрел на структуру таблицы, я создал 2 новых столбца «id» и «version». Итак, я заметил, что статическое отображение выглядит так:
class TopTen {
Integer ttMlId
Integer ttWeekId
Integer ttAmount
Integer ttRank
static mapping = {
id column: "tt_id"
version false
}
}
Когда я их удаляю, это вообще не работает. Я могу понять вторую строку, но не знаю, почему она создаст новый столбец в БД, и я не понимаю, что это за версия или почему она помещает ее туда при обратном проектировании.
Вот таблица БД в базе данных MySQL версии 5.0.51
DROP TABLE IF EXISTS `top_ten`;
CREATE TABLE `top_ten` (
`tt_id` int(10) unsigned NOT NULL auto_increment,
`tt_ml_id` int(10) unsigned NOT NULL default '0',
`tt_week_id` int(10) unsigned NOT NULL default '601',
`tt_amount` int(10) unsigned NOT NULL default '0',
`tt_rank` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`tt_id`)
) ENGINE=InnoDB AUTO_INCREMENT=511 DEFAULT CHARSET=latin1;