Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.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
Java hibernate查询中的时间戳类型更改为日期类型_Java_Hibernate_Date_Timestamp - Fatal编程技术网

Java hibernate查询中的时间戳类型更改为日期类型

Java hibernate查询中的时间戳类型更改为日期类型,java,hibernate,date,timestamp,Java,Hibernate,Date,Timestamp,我有一个名为A的实体,它有一个createdDate,其类型为@Temporal(TemporalType.TIMESTAMP) 我试图检索具有特定createdDate的所有行。我在请求中附加了一个特定的日期,并打印了该日期,它看起来很像“2021-02-11 12:14:02.425”,所有值都达到毫秒 但是来自hibernate的sql,where子句中createdDate的值设置为'11-Feb-21'。因此,我找不到任何行,因为createdDate在db中保存为2021-02-11

我有一个名为A的实体,它有一个createdDate,其类型为@Temporal(TemporalType.TIMESTAMP)

我试图检索具有特定createdDate的所有行。我在请求中附加了一个特定的日期,并打印了该日期,它看起来很像“2021-02-11 12:14:02.425”,所有值都达到毫秒

但是来自hibernate的sql,where子句中createdDate的值设置为'11-Feb-21'。因此,我找不到任何行,因为createdDate在db中保存为2021-02-11 12:14:02.425

public Response getByCreatedDate(Request req) {
    List<AResponse> aList = aRepository.findByIdAndCreatedDate(req.getId(), req.getCreatedDate());
}
公共响应getByCreatedDate(请求请求请求){ List aList=aRepository.findbyiandcreateddate(req.getId(),req.getCreatedDate()); }
我不熟悉Hibernate,我试图找到一些关于它的有用信息,但没有找到。我是否必须使用这些特定的日期和时间显式地创建一个新日期,并将其发送到“findByIdAndCreatedDate”方法?如果有人有同样的经验,你能提供一些信息吗?

你使用的是
java.util.Date
?哪一个Hibernate版本?询问是因为
Date
的设计很差,而且很早就过时了,您应该更喜欢使用Hibernate 5支持。如果不知道具体情况,我不希望这样工作。日期和时间戳不是一回事。因此,要使
findByIdAndCreatedDate
工作,您可能需要将时间戳编码为2021-02-11 00:00:00.000(包括)和2021-02-12 00:00:00.000(不包括)之间(在某个时区)。非常感谢您的建议,我研究了很长时间,仍然找不到解决方案,我想我必须采取其他方式。显然相关: