Java 用于Joda时间比较的JPA规范
我正在尝试使用JPA规范获取特定范围的订单 请找到下面的代码和我的域类。日期类型来自Joda Time,但无法与该日期匹配Java 用于Joda时间比较的JPA规范,java,spring-data-jpa,jodatime,Java,Spring Data Jpa,Jodatime,我正在尝试使用JPA规范获取特定范围的订单 请找到下面的代码和我的域类。日期类型来自Joda Time,但无法与该日期匹配 public static Specification<BnvOrder> byStatusChangedDateRange(String statusName, String fromDate, String toDate) { DateTimeFormatter format = DateTimeFormat.forPattern("YYYY
public static Specification<BnvOrder> byStatusChangedDateRange(String statusName, String fromDate, String toDate) {
DateTimeFormatter format = DateTimeFormat.forPattern("YYYY-MM-dd");
LocalDateTime fromDateTime = format.parseLocalDateTime(fromDate);
// LocalDateTime toDateTime = format.parseLocalDateTime(toDate+" 00:00:00");
return new Specification<BnvOrder>() {
@Override
public Predicate toPredicate(Root<BnvOrder> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
// return cb.and(cb.lessThanOrEqualTo(root.<LocalDateTime>get(statusName), fromDateTime),
// cb.greaterThanOrEqualTo(root.<LocalDateTime>get(statusName), toDateTime));
// cb.greaterThanOrEqualTo("DATE("+root.get("deliveryEndDate")+")", fromDateTime);
return cb.between(root.get("deliveryEndDate"),fromDateTime,fromDateTime);
}
};
}
事实上,它对我来说工作正常,如果它的LocalDateTime数据类型是fromDateTime和fromDateTime之间的同一个参数吗?在这种情况下,你没有真正的范围,但一个单一的点。提供更多信息您的实际问题是什么-您是否遇到异常或未找到您希望找到的数据?如果是后者,则显示数据和查询参数的示例。