如何在Java pojo类中编写枚举列?

时间:2018-12-07 16:36:22

标签: java hibernate

enter image description here在我的数据库中,我有一列enum数据类型。下面是表结构。

CREATE TYPE STATUSENUM AS ENUM('Published','Draft','Expire');
CREATE TABLE IF NOT EXISTS T_COMMODITY_INSIGHT(
    ID integer NOT NULL,
    COMMODITY_ID integer NOT NULL,
    CREATED_DATE date NOT NULL,
    MODIFIED_DATE date NOT NULL,
    STATUS STATUSENUM DEFAULT 'Draft',
    CONSTRAINT "T_COMMODITY_INSIGHT_pkey" PRIMARY KEY (ID)
);

在我的POJO类中,如何使用getter和setter方法以及接受用户输入值的参数化构造函数编写枚举列,以及如何确保枚举列的输入值必须是已定义的在数据库中?

我正在使用Hibernate。

请让我知道是否需要其他信息。

1 个答案:

答案 0 :(得分:1)

在JPA中,您可以在Java类文件中使用它:

@Enumerated(EnumType.STRING)
@Column(name = "status")
private StatusEnum status = StatusEnum.DRAFT;

public StatusEnum getStatus() {
    return status;
}

public void setStatus(StatusEnum status) {
    this.status = status;
}

StatusEnum:

public enum StatusEnum {
    DRAFT, SENT
}