Spring data jpa - поле, имеющее все возможные значения таблицы - PullRequest
1 голос
/ 03 июня 2019

Используя Spring Boot и Spring Data JPA, у меня есть таблица, которая представляет значение перечисления, и соответствующий объект, который я хочу, чтобы одно из его полей было «всеми возможными значениями, которые может иметь перечисление», то есть поле possibleValues это будет выбор всех на другой таблице. Предпочтительно я не хочу иметь отношения как @ManyToMany так как:

  1. Это всегда будет выбор всех, я не хочу сохранять в базе данных все опции и обновлять их каждый раз, когда изменяется таблица значений enum.
  2. У меня будет несколько перечислений, поэтому для каждого перечисления создайте еще одно, многие ко многим не идеально.

Я пытался найти что-то вроде @Formula, которое позволит мне выбрать все значения из другой таблицы, но, похоже, это не сработает:

@Transient
@Formula("select e.name from EnumTable e")
private List<String> possibleValues;

приводит к тому, что possibleValues всегда будет нулевым, и если я удаляю @Transient, я должен определить отношения между двумя сущностями.

1 Ответ

0 голосов
/ 04 июня 2019

Для значения Enum в базе данных я рекомендую использовать строку (для объекта вы можете использовать JSON для преобразования в первую очередь перед сохранением и обратного преобразования после извлечения)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...