java - Spring JPA规范转换根类型比较成功
问题描述
所以我File
创建的日期是一个时间戳,API的请求参数没有任何时间OffsetDateTime
进来。LocalDate
如果日期相同,我需要将它们进行比较,从等式中删除时间。
我虽然想做这样的事情,但它不能正常工作。即使使用<LocalDate>
.
private Specification<File> isOfInitiationDate(LocalDate initiationDate) {
return (Specification<File>) (root, criteriaQuery, criteriaBuilder) ->
criteriaBuilder.equal(root.<LocalDate>get("created"), initiationDate);
}
我收到:
Parameter value [2021-02-03] did not match expected type [java.time.OffsetDateTime (n/a)]
root.get("created)
如果日期与日期相同,我如何使此规范返回值LocalDate initiationDate
?
解决方案
如下将 OffsetDateTime 转换为 localdate,示例代码如下
OffsetDateTime offsetDateTime=get("created");
Localdate localDate=offsetDateTime.toLocaldate();
criteriaBuilder.equal(localDate, initiationDate);