在*.hbm.cfg映射文件中,主键的生成机制是可以自己设置的:
<id name="pid" column="pid" length="5" type="java.lang.Long">
<generator class="increment"></generator>
<id>
1.increment
先得到主键最大值,在此基础上+1
2.identity
主键的生成交给数据库来做,数据库必须支持自动增长
注:Oracle不支持
3.sequence
利用底层数据库提供的序列生成,需要支持序列
注:mysql不支持
4.native
依据数据库底层对自动生成标识符支持能力自动选择identity或者sequence
5.uuid
主键由hibernate内部完成