我正在寻找一个解释如何使用这三种技术的教程,发现这个one,但它正在使用HyperSql DB(是的,我编辑了hibernate.cfg.xml来连接MySql ...但我刚收到一堆错误。)
答案 0 :(得分:1)
您的表创建脚本对于您当前使用的hibernate生成器策略是错误的。正如我所说,你的主键应该被定义为自动增量:
CREATE TABLE COURSES (
COURSE_ID int(11) NOT NULL AUTO_INCREMENT,
COURSE_NAME varchar(20) DEFAULT NULL,
PRIMARY KEY (COURSE_ID)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
你应该让SchemaExport为你生成你的DDL,它通常会防止这样的错误;)
答案 1 :(得分:1)
您可以尝试设置<generator class="identity">
。但是,如果您已将数据库列设置为native
,那么auto_increment
也应该正常工作。
答案 2 :(得分:1)
使用“Toad for MySQL”创建表时解决了问题,将列设置为主键时,我只清除了“默认值”,并将AutoIncrement属性设置为true。