Java 如果日期的时间部分在两个使用querydsl的LocalTime值之间,如何进行最佳比较?

Java 如果日期的时间部分在两个使用querydsl的LocalTime值之间,如何进行最佳比较?,java,postgresql,spring-data-jpa,querydsl,Java,Postgresql,Spring Data Jpa,Querydsl,QueryDSL版本4.1.4-目前无法升级 如果日期的时间部分在两个使用QueryDSL的LocalTime值之间,如何进行最佳比较 声明: private java.time.LocalTime.LocalTime beginTime;->postgresql中的时间 私有java.time.LocalTime.LocalTime endTime;->postgresql中的时间 private java.util.Date calltime;->postgresql中的时间戳 表达方式

QueryDSL版本4.1.4-目前无法升级

如果日期的时间部分在两个使用QueryDSL的LocalTime值之间,如何进行最佳比较

声明:

private java.time.LocalTime.LocalTime beginTime;->postgresql中的时间
私有java.time.LocalTime.LocalTime endTime;->postgresql中的时间
private java.util.Date calltime;->postgresql中的时间戳

表达方式:

TimeExpression calltimepath=Expressions.asTime(qTicket.calltime);
TimePath beginTimePath=qCallCenterTimeslot.beginTime;
TimePath endTimePath=qCallCenterTimeslot.endTime;

谓词:

.where(calltimepath.between(beginTimePath,endTimePath));
异常:无法解析方法“介于(com.querydsl.core.type.dsl.TimePath,com.querydsl.core.type.dsl.TimePath)”之间”

工作示例:

TimeExpression<LocalTime> testTimeExpression = Expressions.asTime(test);

.where(testTimeExpression.between(beginTimeExpression, endTimeExpression))

有什么想法可以最好地解决这个问题吗?

也许我找到了一个解决方案:TimeTemplate calltimetemplate=Expressions.TimeTemplate(LocalTime.class,“cast({0}AS{1})”,qTicket.calltime,“TIME”);也许我找到了一个解决方案:TimeTemplate calltimetemplate=Expressions.TimeTemplate(LocalTime.class,“cast({0}AS{1})”,qTicket.calltime,“TIME”);