Допустим, у вас есть класс с полем java.util.Date.Может быть, класс To или класс планировщика событий.
@Temporal(TemporalType.TIMESTAMP)
private Date startTime;
Это сопоставит столбец datetime в MySQL.
Существуют случаи, когда вы хотите точно знать, когда происходит это событие.,«Что запланировано на 11 августа 2011 года в 8 часов вечера?»
Иногда вы просто хотите узнать, какие события запланированы на определенную дату.«Что запланировано на 11 августа 2011 года?»
Если ваш JPAQL равен:
SELECT blah blah etc. WHERE ti.startTime = :d1
, а параметр является экземпляром java.util.Date:
query.setParameter("d1", date, TemporalType.DATE);
ваши результаты будут ограничены датой, но также временем.
Это такой распространенный случай использования, что я удивлен, что не существует простогоспособ сделать это даже в JPA 2.0.
Я бы предпочел не использовать хак, специфичный для поставщика, и не поиграться со строками / подстроками.
Как вы решили эту проблему?