Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.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.time.LocalDate和DATE()的Hibernate 4构造需要java.util.DATE_Java_Hibernate_Date_Persistence - Fatal编程技术网

带有java.time.LocalDate和DATE()的Hibernate 4构造需要java.util.DATE

带有java.time.LocalDate和DATE()的Hibernate 4构造需要java.util.DATE,java,hibernate,date,persistence,Java,Hibernate,Date,Persistence,我正在尝试在我的应用程序中使用Java 8的LocalDate和LocalDateTime。我正在使用Hibernate4.3.5和Spring。我在这里学习了这个有趣的教程和所有的工作,但是我在使用DATE()construct时遇到了一个问题 当我尝试这样做时: SELECT * FROM TABLE WHERE DATE(data)=DATE(:data) 我得到了一个IllegalArgumentException,因为setParameter期望的是java.util.Date,而

我正在尝试在我的应用程序中使用Java 8的
LocalDate
LocalDateTime
。我正在使用Hibernate4.3.5和Spring。我在这里学习了这个有趣的教程和所有的工作,但是我在使用
DATE()
construct时遇到了一个问题

当我尝试这样做时:

SELECT * FROM TABLE 
WHERE DATE(data)=DATE(:data)

我得到了一个
IllegalArgumentException
,因为setParameter期望的是
java.util.Date
,而不是
java.time.LocalDate
,如果我不使用Date()构造,它期望的是
java.time.LocalDateTime
,我已经实现了hibernate转换器,但我找不到一个好的解决方案(从
LocalDate
转换到
java.util.Date
对我来说不太合适),有人知道如何解决这个问题吗?

Date-Date=Date.from(LocalDate.atStartOfDay(ZoneId.systemDefault()).toInstant();().google Search的第一个匹配项从LocalDate转换为java.util.Date不适合我,我已经在我的问题中写了,我很感兴趣为什么我不能在这里使用LocalDate。“不适合我”这可能意味着很多事情。你是说它不好吗?如果是,为什么?因为hibernate知道,当我使用完整日期和时间时,我想使用LocalDateTime,但当我只想比较日期时,它仍然尝试使用java.util.date。