我在Spring Boot应用程序中有一个表单实体:
@Data
@Entity
public class Form {
@Id
private String caseId;
private String leadingUnit;
private Set<Addiction> currentAddictions;
}
成瘾是一个枚举:
public enum Addiction {
Alcohol, Nicotine, Drugs
}
而且我想将整个表单映射到数据库中的一个表。具有以下各列:caseId,leadingUnit,currentAddictionsAlcohol,currentAddictionsNicotine和currentAddictionsDrugs。我希望currentAddictions *列为bo boolean,以仅指示当前上瘾是否存在于集合中。我一直在查看自定义UserType,但是我不知道该怎么做。有一个简单的解决方案吗?
这感觉不正确(将集合映射到布尔列)。但是这里有一些选择。我认为这两个选项都要求将单个布尔值映射到实体类中。我想非常清楚:映射此方法的正确方法是拥有一个瘾君子表,然后链接这些表。如果以后您想增加一个额外的依赖,这将成为插入新行而不是更改数据库的结构。