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位的值插入 |