代码之家  ›  专栏  ›  技术社区  ›  Jacob

topredicate()方法与jpa criteria api规范中的and/or/not/where的区别

  •  0
  • Jacob  · 技术社区  · 7 年前

    我现在正在探索用于创建动态查询和类型安全查询的jpa标准api。我正在探索如何使用规范。当我探索的时候我发现 toPredicate() 方法,用于为实体引用的查询创建where子句。同时探索关于和/或不以及在规范中的位置。

    实际上如果 重拨() 我想创建where子句,那么为什么我们使用“where”方法呢?在比较时,其他方法的作用是什么 重拨() 方法?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Jens Schauder    6 年前

    如果你实现了 Specification 从零开始实施 toPredicate .

    如果你已经有一个或多个 规范 你可以用 and , or 以及 not 将它们组合成一个新的规范。

    例如,给定两个规范 isVip placedAnOrderLastMonth 您可以这样组合它们:

    shouldReceiveNagMail = isVip.and(not(placedAnOrderLastMonth));
    

    这个 where 方法只是人们可能希望用来使代码更可读的语法糖。它只会返回基本相同的结果 规范 ;

    推荐文章