簡體   English   中英

Hibernate:用破折號映射枚舉

[英]Hibernate: mapping enum with dash

我在數據庫中有一列可能有5個值。 我想將此列映射為枚舉字段。 問題是這些值中有些包含破折號。 我嘗試過這樣的事情:

public enum Status {
    S1("S1"), S2("S2"), S3("S-3"), S4("S-4"), S5("S5");

    private final String text;

    Status(String text) {
        this.text = text;
    }

    @Override
    public String toString() {
        return this.text;
    }

但這是行不通的。 如果數據庫中的行包含帶破折號的值,則會出現錯誤:

Unknown name value [S-3] for enum class [test.package.Status]

有什么方法可以將包含破折號的值映射到枚舉?

您在您的模型中嘗試過這個嗎

@Enumerated(EnumType.STRING)狀態狀態

toString()不起作用,因為枚舉的評估基於public final String name() 由於這是最終的,您無法覆蓋它。

您將不得不使用其他類型。 在此答案中,您將獲得所需的信息。

暫無
暫無

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

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