2017-03-03 117 views
0

我正在開發一個簡單的應用程序,我使用主鍵爲GenerationType.SEQUENCE,並且它在數據庫中生成int數據類型。有沒有辦法通過映射來告訴JPA,我想要在數據庫中生成串行數據類型而不是int數據類型?JPA - 用於PostgreSQL的映射序列(主鍵)數據類型

公司:

@Id 
    @SequenceGenerator(
      name="Company_Id_seq", 
      sequenceName="\"Company_Id_seq\"", 
      schema="test", 
      allocationSize=1) 
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator="Company_Id_seq") 
    @Column(name = "\"Id\"", nullable = false) 
    private Integer id; 

的PostgreSQL:

CREATE TABLE test."Company" 
(
    "Id" integer NOT NULL, 

我想要什麼:

CREATE TABLE test."Company" 
(
    "Id" serial NOT NULL, 
+0

以及使用「IDENTITY」生成策略時會發生什麼?即等同於「SERIAL」數據庫類型的東西 –

+0

我有一個使用「IDENTITY」的問題,但是,它會生成串行數據類型。請參閱此鏈接使用「IDENTITY」我的問題http://stackoverflow.com/questions/42239134/the-column-name-x-was-not-found-in-this-resultset-jpa – netto

回答

0

SEQUENCE對於使用不是當你有一個 「自動遞增」 列類型數據存儲。對於這種情況,您應該使用IDENTITY策略