【发布时间】:2018-09-30 20:16:50
【问题描述】:
我有一个这样的查询:
@Query("SELECT rhwp.pk.reservation FROM ReservationHasWorkingPlace rhwp WHERE rhwp.pk.workingPlace.idWorkingPlace = ?1 AND NOT (DATE(rhwp.pk.reservation.endDateTime) < ?2 OR DATE(rhwp.pk.reservation.startDateTime) > ?3)")
List<Reservation> getReservationsForWPAndDateInterval(Integer idWorkingPlace, LocalDate startDate, LocalDate endDate);
我将存储到数据库中的 DateTime 与通过 java 方法传递的 localDate 进行比较。 我收到此异常:
Caused by: java.lang.IllegalArgumentException: Parameter value [2018-04-20] did not match expected type [java.util.Date (n/a)]
有一种方法可以配置 hibernate/jpa 以自动进行这种转换,或者我必须传递一个 Date 对象而不是 LocalDate? 我什至尝试过导入 hibernate-java8 但没有改变
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>${hibernate.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-java8</artifactId>
<version>${hibernate.version}</version>
</dependency>
【问题讨论】:
标签: mysql sql spring hibernate jpa