簡體   English   中英

將Hibernate實體中的枚舉定義為常量字符串

[英]Define enums in Hibernate entities as constant string

在Hibernate實體中將枚舉定義為常量並通過代碼使用它們是否可以接受?

@Entity
@Table(name = "table", schema = "", catalog = "")
public class Table {

    @Transient
    public static final String STATUS_PENDING = "PENDING";
    @Transient
    public static final String STATUS_ACCEPTED = "ACCEPTED";
    @Transient
    public static final String STATUS_REJECTED = "REJECTED";

    private String status;

    @Basic
    @Column(name = "status", nullable = false, insertable = true, updatable = true, length = 8)
    public String getStatus() {
         return status;
    }

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

然后我可以使用它們:

if(status.equals(Table.STATUS_PENDING) {
     entityObject.setStatus(Table.STATUS_PENDING);
} 

當然,我可以定義枚舉類並使用它,但是這種方法呢?

如果您僅將Table類用作DTO,這已經足夠了。

如果要同時將其用作DTO和DAO,則需要添加@JsonIgnore和@Transient

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM