【发布时间】:2011-03-17 13:47:17
【问题描述】:
我还是 Grails 和 Hibernate 的新手,所以如果你回答,请记住我只使用了 IDE 5 天。我有一个我正在尝试连接的 MYSQL 数据库。我将数据库设置为更新,因为我稍后需要。然后我运行 db-reverse-engineer 插件,它会在 STS 中为所有表自动生成 groovy 文件。当我查看文件时,我注意到文件中有一个静态映射。我测试了一张表并创建了它的控制器来显示所有记录。它运行完美。当我查看表结构时,它创建了 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 中的 db 表
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;
【问题讨论】:
标签: grails mapping grails-plugin