该链接是关于Java Persistence API的,并且似乎定期更新。
http://en.wikibooks.org/wiki/Java_Persistence/Identity_and_Sequencing
身份测序
身份排序使用数据库中的特殊IDENTITY列来允许数据库在插入对象的行时自动为其分配ID。许多数据库(例如 MySQL,DB2,SQL
Server,Sybase和PostgreSQL) 都支持标识列。Oracle不支持IDENTITY列,但可以使用序列对象和触发器来模拟它们。序列对象
序列对象使用特殊的数据库对象来生成ID。仅某些数据库(例如 Oracle,DB2和Postgres)
支持序列对象。通常,SEQUENCE对象具有名称,INCREMENT和其他数据库对象设置。每次选择.NEXTVAL时,序列都会增加INCREMENT。
编辑
如果诸如DB2之类的数据库同时支持IDENTITY列,并且“hibernate”序列选择“身份”列,请参见Dialect:
public Class getNativeIdentifierGeneratorClass() { if ( supportsIdentityColumns() ) { return IdentityGenerator.class; } else if ( supportsSequences() ) { return SequenceGenerator.class; } else { return TableHiLoGenerator.class; }}您可以通过查看
org.hibernate.dialect包中的相关方言来检查每个数据库的supportsIdentityColumns()和supportsSequences()返回的内容。



