Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Date 使用JPA命名查询进行仅日期而不带时间的比较_Date_Jpa_Date Comparison - Fatal编程技术网

Date 使用JPA命名查询进行仅日期而不带时间的比较

Date 使用JPA命名查询进行仅日期而不带时间的比较,date,jpa,date-comparison,Date,Jpa,Date Comparison,我的数据库中有一列是DATE 生成实体时,它在实体类中创建了一个时间戳字段 @Column(name="MY_DATE") private Timestamp myDate; 我的传入对象是java.util.Date对象开始日期和结束日期 我需要编写一个JPA查询,该查询将获取my_date介于startDate和endDate之间的记录。这是在考虑时间 查询条件 o.myDate >=:inputDate AND o.myDate <=:inputDate o.myDate>

我的数据库中有一列是
DATE

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

@Column(name="MY_DATE")
private Timestamp myDate;
我的传入对象是
java.util.Date
对象<代码>开始日期和
结束日期

我需要编写一个JPA查询,该查询将获取
my_date
介于
startDate
endDate
之间的记录。这是在考虑时间

查询条件

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

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

@Column(name="MY_DATE")
@Temporal(TemporalType.DATE)
private Date myDate;
在查询中,您可以使用
BETWEEN
而不是比较运算符:

o.myDate BETWEEN :startDate AND :endDate

那么,你到底有什么问题?如果您提交整个查询以及执行查询时遇到的错误(如果有!),则会有所帮助。查询会将时间考虑在内。我怎么比较日期呢?哦,我明白了。。。您是否尝试过日期函数强制转换?日期(o.myDate)>=:输入日期和日期(o.myDate)