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

Я пытаюсь узнать, работает ли следующий пример с @Formula hibernate, возможно, кто-то может помочь решить другие способы, использовать sql или запросы.

@Formula("SELECT( NOW() > column_date - interval '1 minute' * column_a )")
private Boolean columnA;

Когда я это делаюВ качестве примера получаем следующую ошибку:

2019-03-03 05: 29: 57.568 ОШИБКА [service_a, 4fedd46e4085e86f, 4fedd46e4085e86f, false] 608 --- [nio-8090-exec-1] ohengine.jdbc.spi.SqlExceptionHelper: ОШИБКА: схема "table_a0_" не существует Позиция: 5560

2019-03-03 05: 29: 57.581 INFO [service_a, 4fedd46e4085e86f, 4fedd46e4085e86f, false] 608 --- [nio-8090-exec-1] oheinternal.DefaultLoadEventListener: HHH000327: Ошибка при выполнении команды загрузки:

что не так в моем выражении sql?

1 Ответ

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

В @Formula должен быть правильный SQL-запрос, что-то вроде:

@Formula("select NOW() > ( column_date + interval '1 minute' * column_a ) from some_table")

Конечно, если ваш dbms читает этот синтаксис.some_table - это таблица, где column_date и column_a.

Самым простым будет выполнить SQL-запросы к вашей базе данных и вставить ее в @Formula в случае успеха.

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