首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有MySQL的Hibernate :自动生成Id :相当于MySQL中的序列(Oracle)

问带有MySQL的Hibernate :自动生成Id :相当于MySQL中的序列(Oracle)
EN

Stack Overflow用户
提问于 2010-07-23 22:07:25
回答 1查看 5.4K关注 0票数 5

据我所知,当'Native‘类用于Oracle中的自动id生成时,会创建一个单独的hibernate序列,其中所有的id都会被提供给所需的任何表。

但我没有看到这种情况发生在MySQL上。相反,每个表的id都以1开头。

如果我错了,请纠正我。

另外,如果我想在MySQL上发生同样的事情,该怎么做呢?

谢谢大家。

拉杰。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-07-24 07:33:32

据我所知,在

中,当'Native‘类用于自动id生成时,会创建一个单独的hibernate序列,其中所有id都会被提供给所需的任何表。

如果您没有指定任何序列名称,就会发生这种情况,如下所示:

代码语言:javascript
复制
<generator class="sequence">
  <param name="sequence">employer_id_seq</param>
</generator>

实际上,大多数情况下,人们不想要唯一的序列,他们更喜欢每个表一个序列。

但是我没有看到这种情况发生在MySQL上。相反,每个表的id都以1开头。

对于MySQL,native生成器将默认使用identity策略,即将使用每个表的标识列。

还有,如果我想在MySQL上发生同样的事情,应该怎么做。

同样的,我猜你的意思是对你所有的实体使用顺序I。尝试一下table生成器:

代码语言:javascript
复制
<generator class="table">
</generator>

但这不会像sequence或identity列那样执行。此外,正如我已经写过的那样,人们通常倾向于不在实体之间共享I。我会再考虑一下这个问题。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3318892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档