Hibernate生成器类增量vs序列?

M S*_*ach 3 hibernate

我可以在http://www.roseindia.net/hibernate/hibernateidgeneratorelement.shtml看到许多生成器类 来生成标识符.但如果我看看增量和顺序,我不确定区别是什么,哪个更好?

kda*_*bir 14

Sequence使用数据库序列(例如在Oracle中)生成id,同时increment在jvm中跟踪id并在进程内递增它.如果要将任何其他程序/人员插入数据库表,则序列更安全.

要使用序列:

  1. 您的数据库必须支持序列(Oracle,DB2,Postgresql ...)
  2. 你应该创建一个序列(CREATE SEQUENCE mySquence;)

Increment是一种不那么安全的解决方案(但是对于那些不支持Sequence的数据库而言是便携式的)并且适用于测试和/或入门.有比Increment在生产中使用更好的方法(例如本地/身份等).