Проблема с запросом на основе отметки времени и мгновенного - PullRequest
0 голосов
/ 31 октября 2019

Я пытаюсь сделать запрос в критериях API и ищу строки, где дата больше или равна предоставленной.

База данных Oracle -> hibernate -> приложение весенней загрузки

Определение столбца Oracle: TIMESTAMP с зоной времени

Конфигурация Hibernate: jpa.properties.hibernate.jdbc.time_zone: UTC

Сервер и база данных находятся в другом часовом поясе.

Карта столбцов как мгновенная

    criteriaBuilder.greaterThanOrEqualTo(root.get("date"), this.startDate)

Генерируемый sql:

entity0_.date>=? 

BasicBinder      : binding parameter [7] as [TIMESTAMP] - [2019-10-01T00:11:11Z]

Когда я это делаюзапрос в sqlplus

select * from plan where date >= TIMESTAMP '2019-10-01 00:11:11 UTC'

Я получил правильный результат, но в спящем режиме я получил дополнительную строку, где, например, дата. 2019-10-01 00:00:00 UTC ', что является неправильным поведением.

Есть идеи, что не так с этим кодом?

Ps. Для ZonedDateTime это то же самое поведение

...