2014-02-11 58 views
0

这与Hibernate Framework有关。 MySQL支持哪些ID生成策略? 通过hibernate文档,我开始知道它不支持“序列”类。MySQL支持的ID生成策略

当我使用“赋值”和“增量”类时,我能够成功地坚持对象。

但是,“身份”的使用导致由“字段id(映射到表中的主键的属性)没有默认值导致的sql异常”。在使用“身份”类之前,我们是否必须分配一些默认值?

回答

0

有四种策略。

@GeneratedValue(策略= GenerationType.TABLE)

  1. AUTO - 与AUTO_INCREMENT
  2. 的身份 - 与AUTO_INCREMENT
  3. SEQUENCE - 不支持
  4. 表 - 与hibernate_sequences表

用MYSQL5.2直接测试

+0

我使用mysql5方言并将AUTO设置为策略。但是hibernate创建一个表(hibernate5,MySQL5Dialect,MarianDB)? –

0

要使用你必须使用AUTO_INCREMENT身份的策略,像

创建表 '表名'( '身份证' INT NOT NULL AUTO_INCREMENT,...... ...)

我应该这样做。