<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>元素一起使用