歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Hibernate中使用oracle的sequence產生主鍵

Hibernate中使用oracle的sequence產生主鍵

日期:2017/3/2 9:59:54   编辑:關於Linux

使用Hibernate不長時間,今天想動手做一個小例子,數據庫使用的是Oracle。打算使用Oracle中的序列作為表的主鍵,卻不知道使用Hibernate如何與其關聯在一起。請教同事,被告知要使用諸如select語句進行查詢“select sequence.nextval from dual”,

方法如下:

1、在oracle 首先創建sequence
2.在你的hbm.xml中的配置
這樣再插入數據的時候,Hibernate回自動生成如下語句:
自動生成下一個序列值,然後將對象插入表中。
這樣問題得解!

sequence就是采用數據庫提供的sequence機制生成主鍵。如oralce中的Sequence
native就是由hibernate根據數據庫的Dialect,自動采用identity,hilo,sequence的其中一種作為主鍵生成方式

create sequence seq_id
minvalue 1
start with 1
increment by 1
cache 20;

<id column="ID0000" name="id" type="integer">
<generator class="sequence">
<param name="sequence">seq_id</param>
</generator>
</id>

hibernate: select seq_id.nextval from dual

hibernate: insert into YXJK.T_YXJK_WHRYTXL (XM0000, ZW0000,

LXDH00,SJHM00,DZYJ00,IP0000,ID0000) values (?, ?, ?, ?, ?, ?, ?)

Copyright © Linux教程網 All Rights Reserved