偶得空闲,整理一下hibenate主键常用方式。
*increment方式:这种方式hibernate采用自增的方式处理主键。
<id name="userId" type="java.lang.Long">
<column name="USER_Id" precision="22" scale="0" />
<generator class="increment" />
</id>
*suquence方式:这种方式hibernate自己会在数据库查找对应的序列.如下:
<id name="userId" type="java.lang.Long">
<column name="USER_ID" precision="22" scale="0" />
<generator class="sequence">
<param name="sequence">SEQ_USER</param> //序列名称SEQ_USER
</generator>
</id>
*assigned方式:这种情况是hibernate将不会用自己的机制处理表的主键,完全由设计者程序内部完成主键的产生。
<id name="userId" type="java.lang.Long">
<column name="USER_ID" precision="22" scale="0" />
<generator class="sequence">
<param name="sequence">SEQ_USER</param> //序列名称SEQ_USER
</generator>
</id>
*assigned方式:这种情况是hibernate将不会用自己的机制处理表的主键,完全由设计者程序内部完成主键的产生。
*native方式:由 Hibernate 根据使用的数据库自行判断采用 identity、hilo、sequence 其中一种作为主键生成方式。