В Hibernate как передать дату (без времени) в качестве параметра в CriteriaQuery? - PullRequest
0 голосов
/ 22 октября 2018

Я использую Hibernate 5.2.12. Наконец, с Java 8. Я пытаюсь создать запрос, в котором я передаю параметр даты.Однако я хочу указывать только год, месяц и день как часть параметра даты, а не время.Итак, я построил это ...

        final java.sql.Date searchDate = new java.sql.Date(myObjectDate.toDateTimeAtStartOfDay().toDate().getTime());
    final ParameterExpression<Date> d = builder.parameter(Date.class);

    query.where(
            builder.greaterThanOrEqualTo(d, objectPlanRoot.<Date>get(MyObject_.startDate)),
            builder.lessThanOrEqualTo(d, objectRoot.<Date>get(MyObject_.endDate))
            );

    result = null;

            result = entityManager.createQuery(query)
                .setParameter(d, searchDate)
                .getSingleResult();

Однако, когда мой запрос фактически построен и выполняется, компонент времени попадает в смесь.Выводя журнал Hibernate, я вижу, что этот параметр заполняется в моем запросе ...

 '2013-06-30 05:00:00'>=myobject0_.START_DATE and '2013-06-30 05:00:00'<=myobject0_.END_DATE 

Обратите внимание, что заполнено "05:00:00". Как я могу устранить это и только иметьзаполненный компонент даты?

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