HQL-запрос игнорирует временную часть объекта Date - PullRequest
0 голосов
/ 22 января 2020

У меня проблема с HQL, где я устанавливаю параметры запроса. Одним из них является Дата. Когда я отлаживаю код, появляется Date со временем, вводящим метод. Я установил параметр, используя setParameter(timestamp, new Timestamp(date.getTime())) или query.setTimestamp ... et c et c Я использовал много комбинаций ...

Когда я использую p6spy, чтобы проверить SQL передачу из приложения в в БД есть только '29-Jan-21' или другая дата без времени.

Я использую окончательную версию hibernate 5.1.0 и postgre БД. Я буду рад любой помощи.

Пример:

Query query = getSessionFactory().getCurrentSession().createQuery("SELECT user FROM UserEntity cr WHERE user.userStatus.id = :statusId AND :timestamp >= user.valid_to");

Вот как я пытался установить параметр метки времени:

query.setParameter("timestamp", new Timestamp(date.getTime()));
query.setParameter("timestamp", date, TimestampType.INSTANCE);
query.setTimestamp("timestamp", date);
query.setTimestamp("timestamp", new Timestamp(date.getTime()));

Проблема в том, что сгенерировано SQL заменить метку времени на '29-Jan-21' или другую дату, которую я выберу, но без времени. Параметр date поступает в метод из пользовательского интерфейса и содержит полную дату со временем.

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