2017-02-19 54 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;