【发布时间】:2017-05-18 14:15:51
【问题描述】:
我有生成策略 AUTO 的 id 列,我想知道,为什么 MySql 生成 hibernate_sequence 表?我以为hibernate会选择IDENTITY id生成策略
<mapped-superclass class="com.cl.xlp.model.data.Identity">
<attributes>
<id name="id">
<column name="id" />
<generated-value strategy="AUTO" />
</id>
</attributes>
</mapped-superclass>
休眠属性
hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
hibernate.hbm2ddl.auto=update
Mysql 连接器版本
version.mysql.connector>5.1.39</version.mysql.connector>
Mysql服务器版本为5.6.12
【问题讨论】:
-
Hibernate 中 AUTO 的后备策略是 SEQUENCE,但是由于 MySQL 不支持序列,Hibernate 使用表来模拟它们。将您的策略更改为 IDENTITY。