內@Embedded我有一個複合鍵如下使用自定義的順序枚舉休眠
@Embeddable
public class TableAPrimary implements Serializable{
private Course course;
private int tableId;
}
場就在這裏
枚舉但是id的值我在數據庫中沒有映射枚舉中的序數。
例如,我有
enum Course{
HISTORY(20), MATHS(100);
private Course(int courseId) {
id = courseId;
}
@Override
public int getId() {
return id;
}
private static final Map<Integer, Course> lookup = new HashMap<Integer, Course>();
static {
for (Course courseId : Course.values()) {
lookup.put(courseId.getId(), courseId);
}
}
public static Course getById(int id) throws IllegalArgumentException{
Course courseId = lookup.get(id);
if (courseId == null) {
throw new IllegalArgumentException("No course enum exists for Id " + id);
}
return courseId;
}
}
能否請你幫我設置基礎上,從custom id
數據庫中正確enum
內@embedded
那麼它是數據庫而不是序數?你試圖顯式添加@Enumerated? – 2014-09-26 20:10:25
數據庫有每行的值爲20,100等。我試着添加@Enumerated,但仍然無法轉換爲正確的枚舉值。 – sreeprasad 2014-09-27 00:41:24