Можно ли использовать @Formula для логического поля? - PullRequest
0 голосов
/ 02 марта 2019

Я пытаюсь узнать, какие типы данных Java поддерживают @ Formula Hibernate, тогда у меня есть этот пример, который я не знаю, как управлять им, если это возможно.

  @Formula("(select boolean_column from table_a where table_a.id = id)"
         + " && " 
         + "(select boolean_column from table_b where table_b.id = id)"") 
  private boolean result;

Не могли бы вы мне помочь?

1 Ответ

0 голосов
/ 02 марта 2019

JavaDoc состояний

Определяет формулу (производное значение), которая представляет собой фрагмент SQL , который в большинстве случаев выступает в качестве альтернативы @Column.

фрагмент SQL означает фрагмент SQL, который может быть интегрирован в сгенерированный оператор.
Поскольку Formula управляет нативными операторами SQL, да, вы можете добавить все, что является допустимым и понятным для СУБД 1017 *, даже подзапросы.

Насколько я знаю,поддерживаются только примитивные типы (например, String и Date и все остальные типы, соответствующие типу данных столбца таблицы).


В вашем случае SQL фрагмент, который вы написали не действительный.

Альтернативой этому утверждению может быть

(select (t1.boolean_column and t2.boolean_column)
from table_a as t1
inner join table_b as t2 on t1.id = t2.id
where t1.id = id)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...