-1

我正在使用 SpringBoot2 来创建微服务。我用于实体的数据库表是在主键的数据库级别使用默认序列定义的。如下图,

CREATE TABLE EMPLOYEE (
EMP_ID INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 1 .....) NOT NULL,
EMP_NAME VARCHAR2(100 BYTE))

我希望 spring boot 数据 jpa 对 emp id 使用上述默认序列

@Entity
@Table(name="EMPLOYEE")
public class Employee {

@Id
@Column(name = "EMP_ID", insertable = false)   
private Integer empId;

@Column(name = "EMP_NAME", insertable = false) 
private String empName
}

我希望从创建表查询中添加的默认序列生成 empId。我尝试了 GeneratedValue 中的所有策略,但它不起作用。我只剩下创建显式序列并在序列生成器中使用它。

4

2 回答 2

1
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "EMP_ID", insertable = false)   
private Integer empId;
于 2021-08-17T17:42:18.300 回答
0

请尝试以下内容,它应该可以按您的预期工作。

     @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(nullable = false, columnDefinition = "INTEGER GENERATED BY DEFAULT AS IDENTITY NOT NULL")
    private Integer empId;
于 2021-08-18T07:27:03.300 回答