【发布时间】:2019-10-30 10:17:28
【问题描述】:
我在 Spring Boot 应用程序中有一个 Form 实体:
@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* 列为布尔值,仅指示当前成瘾是否存在于集合中。我正在查看自定义用户类型,但我不知道该怎么做。有没有简单的解决方案?
【问题讨论】:
-
您使用的是哪个数据库? currentAddictions 要在数据库中使用哪种数据类型
-
我正在使用 postgresql,我想使用 bit 数据类型或其他任何表示布尔值的数据类型,即使是 0 和 1 的整数也可以。
-
好的,1 caseid 可以有多个瘾,所以你能在一列中保存多个值吗,我建议再创建一个表 caseAddiction 与一对多关系
标签: java hibernate spring-boot nhibernate-mapping compositeusertype