2017-02-19 75 views
0

我有有一些行的數據庫表:JPA地圖數據庫,以枚舉

table Cars

+ id +  name  + 
+-------+---------------+ 
+ 1 | AUDI   | 
+ 2 | BMW   | 
+ 3 | MERCEDES  | 
+-------+---------------+ 

在我的Java代碼我想使用該表作爲enum這樣的: entity.setModel(Cars.BMW)

我的問題是,如果在JPA中可以將表映射到enum

謝謝

+0

爲什麼要這麼做?在Java代碼中,您有一個固定的枚舉類(帶有序號+名稱),然後有人在您的數據存儲中使用您的CARS表,並且它們突然不一致!不要 –

回答

0

不,因爲枚舉不能是一個實體。

這是沒有道理的,因爲Java枚舉不可更改,但您的表Cars是。

0

如果你會使用它像一些實體的領域,你可以像這樣把它聲明:

@Enumerated(EnumType.STRING) 
    @CollectionTable(name = "cars", joinColumns = @JoinColumn(name = "your_entity_id")) 
    @Column(name = "car") 
    private Cars car;