如何使用序列递增表的主键?

时间:2016-07-08 14:58:38

标签: oracle hibernate jpa

我正在使用Java代码(带有Hibernate 4.1的JPA)插入到Oracle 12c数据库中。

表:部门:

Name   Null     Type         
------ -------- ------------ 
DEPTNO NOT NULL NUMBER(4)    
DNAME           VARCHAR2(14) 
LOC             VARCHAR2(13)

从Java代码中,我将DNAMELOC的值插入为'研究','伦敦'。

实体类:

    @Entity(name="Department")
@Table(name="mydept")
public class Department {
    @Id 
    @SequenceGenerator(name = "MYDEPT_SEQ", sequenceName ="MYDEPT_SEQ") 
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "MYDEPT_SEQ")
    @Column(name="deptno")
    private int id;
    @Column(name="dname")
    private String name;
    @Column(name="loc")
    private String location;

序列:

CREATE SEQUENCE  "SCOTT"."MYDEPT_SEQ"  MINVALUE 30 MAXVALUE 9999999999999999999999999999 
INCREMENT BY 10 START WITH 80 NOCACHE  NOORDER  NOCYCLE  NOPARTITION ;

但插入时,deptId插入的值为-20,0,10。

0 个答案:

没有答案