仅使用JPA命名查询进行无日期比较

时间:2015-11-17 18:04:54

标签: date jpa date-comparison

我的数据库有一列DATE

生成实体时,它在实体类中创建了一个Timestamp字段。

@Column(name="MY_DATE")
private Timestamp myDate;

我的传入对象是java.util.Date对象。 startDateendDate

我需要编写一个JPA查询,该查询将获取my_datestartDate之间endDate的记录。这需要时间考虑。

查询条件

o.myDate >=:inputDate AND o.myDate <=:inputDate

1 个答案:

答案 0 :(得分:0)

您的实体代码是自动生成的吗?也许您应该尝试更新生成的实体代码。将myDate字段的类型更改为Date而不是java.sql.Timestamp。然后使用@Temporal对其进行注释,并指定DATE作为类型,如下面的代码所示:

@Column(name="MY_DATE")
@Temporal(TemporalType.DATE)
private Date myDate;

在您的查询中,您可以使用BETWEEN代替比较运算符:

o.myDate BETWEEN :startDate AND :endDate