2017-02-19 4 views
0

У меня есть таблица базы данных, которая имеет несколько строк:JPA карта базы данных для Enum

table Cars

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

В моем Java коде, который я хочу использовать таблицу в качестве enum, как это: entity.setModel(Cars.BMW)

Мой вопрос, если это возможно в JPA, чтобы отобразить таблицу с enum

Thanks

+0

почему ты сделал это? В Java-коде у вас есть фиксированный класс enum (с порядковым именем + name), а затем кто-то фригирует с вашей таблицей CARS в хранилище данных, и они внезапно непоследовательны! Просто не делайте –

ответ

0

Нет, потому что перечисление не может быть сущностью.

Это не имело бы смысла, потому что перечисление Java не изменчиво, но ваш стол Cars.

0

Если вы будете использовать его как поле некоторого объекта, вы можете объявить его как это:

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