[英]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.