hibernate主键生成策略详解<generator>

来源:互联网 发布:洛克人网络争霸战ed 编辑:程序博客网 时间:2024/05/20 05:24

<generator class="主键生成的策略"/>

increment 适用于代理主键,由 hibernate 自动以递增方式生成;

identity 使用月代理主键,由底层数据库生成标识符;

sequence 适用于代理主键 hibernate 根据底层数据库的序列生成标识符,这要求底层数据库支持序列

hilo 适用于代理主键,使用一个 高/低位算法来高效生成 long ,short 或者 int 类型的标识符

native 适用于代理主键,根据底层数据库对自动生成标识符的方式,自动选择 identity、sequence或hilo。

uuid.hex 适用于代理主键,hibernate采用128位的UUID 算法生成标识符。(标识符中包括IP地址,JVM启动时间(精确到秒)、系统时间和一个计数器值(在JVM中是唯一的))。

uuid.string 适用于代理主键,UUID 被编码成一个 16字符长的字符串

assigned 适用于自然主键。由Java 应用程序负责生成标识符

foregin 适用于代理主键,适用另外一个相关联的对象的标识符,和<ont-to-one>元素一起使用



0 0
原创粉丝点击