Я использую 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". Как я могу устранить это и только иметьзаполненный компонент даты?