Id Generator 标识符生成器 描述
increment 适用于代理主键。由Hibernate自动以递增方式生成
identity 适用于代理主键。由底层数据库生成标识符
sequence 适用于代理主键。Hibernate根据底层数据库的序列生成标识符,这要求底层数据库支持序列
hilo 适用于代理主键。Hibernate分局high/low算法生成标识符
seqhilo 适用于代理主键。使用一个高/低位算法来高效的生成long,short或者int类型的标识符。
native 适用于代理主键。根据底层数据库对自动生成标识符的方式,自动选择identity、sequence或hilo
uuid.hex 适用于代理主键。Hibernate基于128 位UUID 算法生成16 进制数值(编码后以长度32 的字符串表示)
uuid.string 适用于代理主键。与uuid.hex 类似,只是生成的主键未进行编码(以长度16 的字符串表示),不能应用
在 PostgreSQL 数据库中
assigned 适用于自然主键。由Java应用程序负责生成标识符
foreign 适用于代理主键。使用另外一个相关联的对象的标识符
以下举例:
1、指定参数的情况:
SEQ_CHILD
使用的是sequence,适合oracle数据库;
2、对于sql server2000中的数据库子增字段,在配置文件使用下列方法实现:
这里主要是:identity:代表由sql server2000数据