首页 > 解决方案 > 我们可以在 JPQL + hibernate 中使用带有值列表的关系运算符吗?

问题描述

我的实体如下所示:

@Entity
public class interval {
       private Integer id;
       private LocalDateTime intervalDate;
}

我想编写一个 JPQL 查询来获取所有间隔日期大于我传递给查询的日期列表的间隔。

像这样的东西:

SELECT i from Interval i where i.intervalDate >= :listOfDates

其中 listOfDates 是 List<LocalDateTime> listOfDates = new ArrayList<>();

标签: javahibernatejpajpql

解决方案


您必须为每个用例创建一个专用查询。就像评论中建议的那样,一个查询

SELECT i from Interval i where i.intervalDate >= :listOfDatesMax

其中listOfDatesMax参数设置为列表中的最大值。和

SELECT i from Interval i where i.startTime >= :startTimeListMax And i.endTime <= :endTimeListMin

其中startTimeListMaxendTimeListMin参数再次设置为相应列表中的最大值/最小值。


推荐阅读