Hibernate 實現對oracle 數據庫表ID的自動增長
1:建表
Create table test_table (
id integer not null primary key ,
name varchar2(20)
)
2:建序列
Create sequence test_table_seq
start with 1
increment by 1
minvalue 1
maxvalue 999999999999
nocycle
nocache;
3:Hibernate 映射文件 testtable.hbm.xml
<id name="id" column="ID" type="java.lang.Integer">
<generator class="sequence">
<param name="sequence">test_table_seq </param>
</generator>
</id>
4:與SQLSERVER 主鍵生成方式對比
<id name="id" column="ID" type="java.lang.Integer">
<generator class="native"/>
</id>
當然對於sqlserver 來說主鍵的生成方式也可以是:increment
總結:
1:創建表和序列且測試序列是否能正常工作,確保序列的正確性;
2:hibernate 中 主鍵的生成方式爲上面紅色的部分,這樣hibernate就會感知到此字段是通過序列來生成的。
以上已經通過測試。