解決oracle自增長sequence失效的問題

2021-04-19 21:39:34 字數 971 閱讀 6011

如果oracle程式沒有按照hibernater設定的sequence自增長。可以試試這樣。

在@sequencegenerator中加入allocationsize = 1就可以了如果使用 @generatedvalue 批註指定乙個sequence型別的主鍵生成器,則可以使用@sequencegenerator批註微調該主鍵生成器以:

表 1-42 列出了此批註的屬性。有關更多詳細資訊,請參閱 。有關更多詳細資訊,請參閱 api。

表 1-42 @sequencegenerator 屬性

屬性必需

說明name

sequencegenerator的名稱必須匹配其startegy設定為sequencegeneratedvalue的名稱。

allocationsize

預設值: 50.

預設情況下,jpa 持續性提供程式使用的分配大小為 50。

如果此分配大小與應用程式要求或資料庫效能引數不匹配,請將allocationsize設定為所需的int值。

initialvalue

預設值: 0.

預設情況下,jpa 持續性提供程式假設持續性提供程式將所有主鍵值的起始值設定為 0。

如果這與現有資料模型不匹配,請將initialvalue設定為所需的int值。

sequencename

預設值:jpa 持續性提供程式分配它自己建立的序列名。

如果要使用事先存在或預定義的序列,請將sequencename設定為所需的string名稱。

Oracle 的 自增長

oracle的自增長與mysql 的自增長不同,mysql使用其關鍵字auto increment實現自增長,而oracle中沒有改關鍵字,所以要使oracle中表自增長,可以使用序列實現該效果。如下所述 1 建立表user create table user id number 2 not nul...

oracle 自增長主鍵

1 首先,你要有一張表!create table example id number 4 not null primary key,name varchar 25 phone varchar 10 address varchar 50 2 然後,你需要乙個自定義的sequence create se...

ORACLE自增長列

新建序列 create sequence create sequence q tpa acitive alarms id minvalue 1 maxvalue 99999999999999999 start with 100 increment by 1 cache 100 觸發器 create ...