Hibernate3主键生成策略
生成策略 | 解释 | 配置实例 |
---|---|---|
identity | 采用数据库生成的主键,用于为long、short、int类型生成唯一标识,Oracle 不支持自增字段. | <id name="id" column="id" type="long"><generatorclass="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位的值插入 |