我们可以在 JPQL + hibernate 中使用带有值列表的关系运算符吗?

问题描述

我的实体如下所示:

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

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

像这样:

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

其中 listofDates 是 List listofDates = new ArrayList();

解决方法

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

的查询
SELECT i from Interval i where i.intervalDate >= :listOfDatesMax

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

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

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