identity | 采用数据库生成的主键,用于为long、short、int类型生成唯一标识, Oracle 不支持自增字段. | <id name="id" column="id" type="long"> <generator class="identity" /> </id> |
sequence | DB2、Oracle均支持的序列,用于为long、short或int生成唯一标识。 需要oracle创建sequence。 | <id name="id" column="id" type="long"> <generator class="sequence"> <param name="sequence">seq_name</param> </generator> </id> |
native | 根据底层数据库的能力,从identity、sequence、hilo中选择一个,灵活性更强。 | <id name="id" column="id"> <generator class="native" /> </id> |
increment | 个是由Hibernate在内存中生成主键,每次增量为1,不依赖于底层的数据库,因此所有的数据库都可以使用 | <id name="id" column="id"> <generator class="increment" /> </id> |
uuid.hex | 使用一个128-bit的UUID算法生成字符串类型的标识符 | <id name="id" column="id"> <generator class="uuid.hex" /> </id> |
uuid.string | hibernate会算出一个16位的值插入 |
Hibernate3主键生成策略
原文地址:https://www.cnblogs.com/loaderman/p/10037064.html