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

Man*_*iek 4 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;
Run Code Online (Sandbox Code Playgroud)

其中 Allergen 和 AllergicStatus 是枚举

Man*_*iek 5

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

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