据我所知,当'Native‘类用于Oracle中的自动id生成时,会创建一个单独的hibernate序列,其中所有的id都会被提供给所需的任何表。
但我没有看到这种情况发生在MySQL上。相反,每个表的id都以1开头。
如果我错了,请纠正我。
另外,如果我想在MySQL上发生同样的事情,该怎么做呢?
谢谢大家。
拉杰。
发布于 2010-07-24 07:33:32
据我所知,在
中,当'Native‘类用于自动id生成时,会创建一个单独的hibernate序列,其中所有id都会被提供给所需的任何表。
如果您没有指定任何序列名称,就会发生这种情况,如下所示:
<generator class="sequence">
<param name="sequence">employer_id_seq</param>
</generator>实际上,大多数情况下,人们不想要唯一的序列,他们更喜欢每个表一个序列。
但是我没有看到这种情况发生在MySQL上。相反,每个表的id都以1开头。
对于MySQL,native生成器将默认使用identity策略,即将使用每个表的标识列。
还有,如果我想在MySQL上发生同样的事情,应该怎么做。
同样的,我猜你的意思是对你所有的实体使用顺序I。尝试一下table生成器:
<generator class="table">
</generator>但这不会像sequence或identity列那样执行。此外,正如我已经写过的那样,人们通常倾向于不在实体之间共享I。我会再考虑一下这个问题。
https://stackoverflow.com/questions/3318892
复制相似问题