繁体   English   中英

使用MySQL休眠:自动生成ID:MySQL中的序列等效(Oracle)

[英]Hibernate with MySQL : Auto-Generate Id : Equivalent of Sequence (Oracle) in MySQL

据我了解,当在Oracle中将“本机”类用于自动ID生成时,将创建一个休眠序列,从该序列将所有ID提供给所需的任何表。

但是我看不到MySQL会发生这种情况。 相反,每个表的ID均以1开头。

如果有错,请纠正我。

另外,如果我想在MySQL上进行同样的调试,应该怎么做。

谢谢大家

拉吉

据我了解,当在Oracle中将“本机”类用于自动ID生成时,将创建一个休眠序列,从该序列将所有ID提供给所需的任何表。

如果您不指定任何序列名称,则会发生这种情况:

<generator class="sequence">
  <param name="sequence">employer_id_seq</param>
</generator>

实际上,大多数情况下,人们并不需要唯一的序列,而是希望每个表使用一个序列。

但是我看不到MySQL会发生这种情况。 相反,每个表的ID均以1开头。

使用MySQL,本native生成器将默认使用identity策略,即将使用每个表的身份列。

另外,如果我希望在MySQL上发生同样的事情,应该怎么做。

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

<generator class="table">
</generator>

但是,这样做的效果不如序列或标识列。 同样,人们通常倾向于不像我已经写过的那样在实体之间不共享ID。 我会再考虑一下。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM