具有LEAST和GREATEST函数的JPA CriteriaQuery
我有一个问题,我需要使用LEAST和GREATEST函数联接两个表,但要使用JPA CriteriaQuery。这是我要复制的SQL …
select * from TABLE_A ainner join TABLE_X x on
(
a.COL_1 = least(x.COL_Y, x.COL_Z)
and
a.COL_2 = greatest(x.COL_Y, x.COL_Z)
);
我看过CriteriaBuilder.least(..)和great(..),但是在尝试理解如何创建Expression<T>
传递给任何一个函数的过程中遇到了困难。
回答:
事实证明,CriteriaBuilder确实支持将LEAST和GREATEST作为非聚合函数来调用,并且可以使用CriteriaBuilder.function(..)进行访问,如下所示:
Predicate greatestPred = cb.equal(pathA.get(TableA_.col2), cb.function("greatest", String.class,
pathX.get(TableX_.colY), pathX.get(TableX_.colZ)));
以上是 具有LEAST和GREATEST函数的JPA CriteriaQuery 的全部内容, 来源链接: utcz.com/qa/414825.html