我的数据库有一列DATE
。
生成实体时,它在实体类中创建了一个Timestamp
字段。
@Column(name="MY_DATE")
private Timestamp myDate;
我的传入对象是java.util.Date
对象。 startDate
和endDate
。
我需要编写一个JPA查询,该查询将获取my_date
和startDate
之间endDate
的记录。这需要时间考虑。
查询条件
o.myDate >=:inputDate AND o.myDate <=:inputDate
答案 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