gpt4 book ai didi

java - Hibernate_sequence 表生成

转载 作者:IT王子 更新时间:2023-10-28 23:53:11 30 4
gpt4 key购买 nike

我有生成策略 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 属性

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 5.0 版开始,Hibernate 解释 AUTO 生成类型的方式发生了变化。

当使用 Hibernate v 4.0 和 Generation Type 作为 AUTO 时,特别是对于 MySql,Hibernate 会选择 IDENTITY 策略(因此使用 AUTO_INCREMENT 功能)用于为相关表生成 ID。

从 5.0 版开始,当 Generation Type 选择为 AUTO 时,Hibernate 使用 SequenceStyleGenerator 而与数据库无关。在 MySql Hibernate 使用表模拟序列的情况下,这就是您看到 hibernate_sequence 表的原因。 MySql 本身不支持标准序列类型。

引用文献

关于java - Hibernate_sequence 表生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41461283/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com