Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Hibernate how to map Enum key and value in Map<enum,enum> as a String

How can i map enums as string to database in Map in Hibernate I now how to map key with @MapKeyEnumerated, but how to do the same with value of my map ?

Part of Model code :

@MapKeyClass(value = Allergen.class)
@MapKeyEnumerated(value = EnumType.STRING)
@ElementCollection(targetClass = AllergicStatus.class)
private Map<Allergen,AllergicStatus> allergens;

Where Allergen and AllergicStatus is enum

like image 857
Mateusz Mańka Avatar asked Oct 22 '16 17:10

Mateusz Mańka


1 Answers

Answer for my own question is @Enumerated(EnumType.STRING)

@MapKeyClass(value = Allergen.class)
@MapKeyEnumerated(value = EnumType.STRING)
@ElementCollection(targetClass = AllergicStatus.class)
@Enumerated(value = EnumType.STRING)
private Map<Allergen,AllergicStatus> allergens;
like image 163
Mateusz Mańka Avatar answered Oct 31 '22 15:10

Mateusz Mańka