日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle导出建表主键,oracle主键自动生成 配合hibernate的生成策略详解

發布時間:2023/12/10 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle导出建表主键,oracle主键自动生成 配合hibernate的生成策略详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

hibernate配合oracle自動生成主鍵策略有兩種方法:

A)設置ID的增長策略是sequence,同時指定sequence的名字,最好每個表建一個sequence,此種做法就如同MS-SQL,MY-SQL中的自動增長一樣,不需要創建觸發器,具體的oracle數據庫腳本及hibernate配置文件如下:

1.創建表這里忽略,創建序列語句:

CREATE SEQUENCE TEST_ID_SEQ MINVALUE 10000 MAXVALUE

999999999999999999999999INCREMENT BY 1 NOCYCLE;

這里TEST_ID_SEQ 為序列的名稱,MINVALUE 10000

為序列最小值,MAXVALUE 999999999999999999999999為序列最大值,INCREMENT BY

1序列自增的大小為1。

2.創建實體類并添加getXXX和setXXX方法這里忽略,在getXXX主鍵上添加如下注解

@Id?@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="SEQ_STORE")

@SequenceGenerator(name="SEQ_STORE",

sequenceName="TEST_ID_SEQ",allocationSize=1)

@GeneratedValue是設置一個生成器,@SequenceGenerator就是設置主鍵自增了.sequenceName屬性中指定數據創建的那個sequence名字.?allocationSize = 1這個是指每次自增1, 不填的話自增值將是隨機的。

如果沒有注解用xml的主鍵配置如下:

DEPARTMENT_ID_SEQ

//id為主鍵名

//precision表示數字中的有效位。如果沒有指定precision的話,Oracle將使用38作為精度。

//scale表示數字小數點右邊的位數,scale默認設置為0.  如果把scale設成負數,Oracle將把該數字取舍到小數點左邊的指定位數。?DEPARTMENT_ID_SE為sequence名稱

最后測試即可。這里每個表都要創建一個序列保證的主鍵的連續性。

B)1.創建表這里忽略,創建序列語句:

CREATE SEQUENCE HIBERNATE_SEQUENCE MINVALUE 90000 MAXVALUE

999999999999999999999999INCREMENT BY 1 NOCYCLE;

2.創建觸發器,創建語句:(后來測試不用創建觸發器也能自動生成id,所以可以不用創建)

CREATE OR REPLACE TRIGGER

NTEST_ID_TRG BEFORE INSERT ON NTEST?FOR EACH ROW

BEGIN IF INSERTING AND :NEW.ID IS NULL THEN SELECT

HIBERNATE_SEQUENCE.CURRVAL INTO :NEW.ID FROM DUAL;END

IF;END;

3.創建實體類并添加getXXX和setXXX方法這里忽略,在getXXX主鍵上添加如下注解:

@Id?@GeneratedValue(generator =

"paymentableGenerator")?@GenericGenerator(name = "paymentableGenerator",

strategy = "native")

如果不用注解,xml的配置方式如下:

最后測試即可。

總結

以上是生活随笔為你收集整理的oracle导出建表主键,oracle主键自动生成 配合hibernate的生成策略详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。