Используя Spring Boot и Spring Data JPA, у меня есть таблица, которая представляет значение перечисления, и соответствующий объект, который я хочу, чтобы одно из его полей было «всеми возможными значениями, которые может иметь перечисление», то есть поле possibleValues
это будет выбор всех на другой таблице. Предпочтительно я не хочу иметь отношения как @ManyToMany
так как:
- Это всегда будет выбор всех, я не хочу сохранять в базе данных все опции и обновлять их каждый раз, когда изменяется таблица значений enum.
- У меня будет несколько перечислений, поэтому для каждого перечисления создайте еще одно, многие ко многим не идеально.
Я пытался найти что-то вроде @Formula
, которое позволит мне выбрать все значения из другой таблицы, но, похоже, это не сработает:
@Transient
@Formula("select e.name from EnumTable e")
private List<String> possibleValues;
приводит к тому, что possibleValues
всегда будет нулевым, и если я удаляю @Transient
, я должен определить отношения между двумя сущностями.