MySQL支持的ID生成策略

时间:2014-02-11 08:02:36

标签: hibernate

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

当我使用“已分配”和“增量”类时,我能够成功保留对象。

但是使用“identity”会导致由“Field id(映射到表中的主键的属性)没有默认值”引起的sql异常。在使用“identity”类之前,我们是否必须指定一些默认值?

2 个答案:

答案 0 :(得分:0)

要使用身份策略,您必须使用auto_increment,例如

  

create table'table_name'('id'int not null auto_increment,......   ......)

我应该这样做。

答案 1 :(得分:0)

有四种策略。

@GeneratedValue(策略= GenerationType.TABLE)

  1. 自动 - 使用auto_increment
  2. IDENTITY - 使用auto_increment
  3. SEQUENCE - 不支持
  4. TABLE - 使用hibernate_sequences TABLE
  5. 直接使用MYSQL5.2进行测试