![](/img/trans.png)
[英]Query an IndexedEmbedded list of Enumerated (enum) with Hibernate Search
[英]How to set default enum value while using Hibernate's @Enumerated?
我的數據庫表中有一列我要映射到Java對象。 我用注釋標記了所選列:
@Enumerated(EnumType.STRING)
private RoleType code;
問題是在數據庫方面,除了我感興趣的值之外,存在無效(在我正在執行的任務的上下文中)值,因此我想將它們映射到“未知”類型。
ADMIN ("ADMIN "),
CLIENT ("CLIENT"),
SOMEBODY ("SOMEBODY"),
UNKNOWN ("UNKNOWN");
試着做上面的我得到了Hibernate映射錯誤。 是否可以使用Hibernate將枚舉(ADMIN,CLIENT,SOMEBODY)中提到的值不同於3的值映射到某個默認枚舉值(即UNKNOWN)?
編輯:
使事情更清楚
數據庫端的值應如何映射到Java端:
TYPE_1 ---> UNKNOWN
ADMIN ---> ADMIN
CLIENT ---> CLIENT
SOMEBODY ---> SOMEBODY
TYPE_2 ---> UNKNOWN
SOMEBODY_2 ---> UNKNOWN
好吧,您可以運行更新查詢以使它們都未知,但如果您不想這樣做,您可以創建自己的用戶類型: http ://www.gabiaxel.com/2011/01/better-enum-mapping- 與-hibernate.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.