我通过 JPA 使用 Hibernate,我需要按其Date
属性的时间部分过滤记录。
public class Foo {
Date getDateTime() {
// Returns a date and time value.
}
}
Time startTime = ...;
Time endTime = ...;
TypedQuery<Foo> query = entityManager.createQuery("SELECT foo FROM Foo foo where :startTime <= foo.dateTime AND foo.dateTime <= :endTime", Foo.class);
query.setParameter("startTime", startTime);
query.setParameter("endTime ", endTime);
当然这不起作用,因为您不能直接比较 aDate
和 a Time
。如果这是一个 SQL 查询,那么我会使用一些特定于 DBMS 的日期函数来比较它们,但是如何比较 JPA 中的日期和时间呢?