gpt4 book ai didi

mysql - Hibernate: native 标识符生成策略如何工作

转载 作者:行者123 更新时间:2023-11-29 13:03:13 25 4
gpt4 key购买 nike

Hibernate 有一个名为 native 的标识符生成策略,它根据功能选择 identitysequencehilo的底层数据库。我将 MySQL 与 hibernate.hbm2ddl.auto=update 一起使用,它为 Long 的 id 属性生成了 id BIGINT(20) NOT NULL AUTO_INCRMENT Java 数据类型。

我试图了解 Hibernate 在使用 SchemaExport 工具时如何选择 AUTO_INCRMENTAUTO_INCRMENT 是 MySQL 默认的主键生成策略吗?

有人可以帮我理解吗?

最佳答案

Hibernate在选择 native 模式下的 key 生成机制时,会尝试选择数据库中可用的最佳机制。对于 MySQL,可以使用自动增量,Hibernate 使用它来代替序列,因为自动增量机制稍微好一点,尽管序列也可以正常工作。

它更好的原因是,可以在一个 JDBC 准备好的语句(例如插入)中执行插入并检索生成的键,而无需查询数据库 - 请参阅 here了解更多详情。

对于序列,Hibernate 必须首先在某个时刻调用序列,然后在公式中使用该值或使用结果来填充插入键,然后发出插入。

自动增量节省了增量序列所需的数据库的额外往返,这就是 Hibernate 在 MySQL 中更喜欢它的原因。

关于mysql - Hibernate: native 标识符生成策略如何工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23056660/

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