Hibernate如何将Map <enum,enum>中的枚举键和值映射为String

时间:2016-10-22 17:25:00

标签: java mysql spring hibernate spring-boot

如何在Hibernate中的Map中将枚举作为字符串映射到数据库 我现在如何使用@MapKeyEnumerated映射键,但如何对我的地图值进行相同的操作?

模型代码的一部分:

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

过敏原和AllergicStatus是枚举的

1 个答案:

答案 0 :(得分:3)

回答我自己的问题是@Enumerated(EnumType.STRING)

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