q是一个非常简单的接口Q某些应用程序可以选择提供他们自己特定的实现。当ӞHibernate提供了很多内|的实现。下面是一些内|生成器的快 捷名字:
incrementQ递增Q?
用于为long,
short或者intcd生成唯一标识。只有在没有其他q程往同一张表中插入数据时才能使用?在集下不要使用?/p>
identity
对DB2,MySQL, MS SQL Server,
Sybase和HypersonicSQL的内|标识字D|供支持。返回的标识W是long, short 或者intcd的?/p>
sequence Q序列)
在DB2,PostgreSQL, Oracle, SAP DB,
McKoi中用序列(sequence)Q而在Interbase中用生成器(generator)。返回的标识W是long, short或?
intcd的?/p>
hilo Q高低位Q?
使用一个高/低位法来高效的生成long, short或?
intcd的标识符。给定一个表和字D(默认分别是是hibernate_unique_key
和next_hiQ作为高位值得来源。高/低位法生成的标识符只在一个特定的数据库中是唯一的。在使用JTA获得的连接或者用戯行提供的q接中,不要
使用q种生成器?/p>
seqhiloQ用序列的高低位)
使用一个高/低位法来高效的生成long, short或?
intcd的标识符Q给定一个数据库序列Qsequence)的名字?/p>
uuid.hex
用一?28-bit的UUID法生成字符串类型的标识W。在一个网l中唯一Q用了IP地址Q。UUID被编码ؓ一
?2?6q制数字的字W串?/p>
uuid.string
使用同样的UUID法。UUID被编码ؓ一?6个字W长的Q意ASCII字符l成的字W串。不能用在
PostgreSQL数据库中
nativeQ本圎ͼ
Ҏ底层数据库的能力选择identity, sequence 或者hilo中的一个?/p>
assignedQ程序设|)
让应用程序在save()之前为对象分配一个标C符?/p>
foreignQ外部引用)
使用另外一个相兌的对象的标识W。和< one-to-one>联合一起用?/p>