Spring Data JPA-具有表的所有可能值的字段

时间:2019-06-03 04:15:15

标签: java hibernate spring-boot spring-data-jpa

使用Spring Boot和Spring Data JPA,我有一个表代表一个枚举值,并且我想要一个相应的实体,我希望它的字段之一是“枚举可以具有的所有可能值”,即字段{ {1}}将成为另一个表的全选。最好,我不想拥有像possibleValues这样的关系,因为:

  1. 这将始终是全选,我不想将所有选项都保存到数据库中,并且每次枚举值表更改时都进行更新。
  2. 我将有几个枚举,因此为每个枚举创建另一个多对多的枚举并不理想。

我试图找到类似@ManyToMany的东西,可以让我从另一个表中选择所有值,但似乎不起作用:

@Formula

导致@Transient @Formula("select e.name from EnumTable e") private List<String> possibleValues; 始终为空,如果删除possibleValues,则必须定义两个实体之间的关系。

1 个答案:

答案 0 :(得分:0)

对于数据库中的Enum值,我建议使用字符串(对于对象,您可以使用JSON在存储之前先进行转换,并在检索后进行隐蔽)