我有,爲簡單起見,看起來像一個傳統的數據庫表:的Hibernate映射枚舉
table address{
varchar line1
varchar line2
varchar line3
varchar(1) deliveryline
}
有上deliveryline
檢查約束確保它的值'1,'2', or '3'
。
這似乎是一個很好的候選人在休眠枚舉。我有一個看起來像這樣表示地址表中的實體:映射枚舉當
public class Address{
String line1;
String line2;
String line3;
DeliveryLine deliveryLine;
}
我通常使用@Enumerated(EnumType.STRING)
,但這個策略並不在這裏工作。例如:
公共枚舉DeliveryLine { 1,2,3 } 這不會編譯,因爲在數據庫中(1,2,3)的有效值是無效的Java標識符。
有沒有一種直接的方式來強制這種映射在休眠?
什麼是數據庫你在用嗎?你能改變數據庫中'deliveryline'的數據類型嗎? – tscho 2012-02-01 18:37:23
Oracle 10g/11g,不幸的是我堅持使用給定的模式。 – BuffaloBuffalo 2012-02-01 20:44:59