zoukankan      html  css  js  c++  java
  • JPA拼接子查询语句

    public static Specification<CatDomain> listAdvanceSpec() {
            return (Root<CatDomain> root, CriteriaQuery<?> query, CriteriaBuilder cb) -> {
               
          //创建主查询条件对象('where'后的语句对象)
          Predicate predicate = cb.conjunction();
          //创建子查询对象subQuery Subquery subQuery = query.subquery(String.class);
          //创建"实体类Hobby"的root对象

          Subquery subQuery = query.subquery(String.class);
          Root from = subQuery.from(IntentionRecord.class);
    //创建子查询条件对象('where'后的语句对象)
          Predicate predicate1 = cb.conjunction();
    predicate1 = cb.and(predicate1,cb.greaterThanOrEqualTo(from.get("createTime"), newDate2));
    predicate1 = cb.and(predicate1,cb.equal(from.get("schoolId"), dto.getSchoolId()));
          //完成子查询
    subQuery.select(from.get("studentId")).where(predicate1);
        //把子查询结果拼接到原查询语句后面---这里是id not in的写法
           predicate = cb.and(predicate, cb.not(cb.in(root.get("id")).value(subQuery)));
          //id in的写法

         
    predicate = cb.and(predicate, cb.in(root.get("id")).value(subQuery));
          //id equals的写法      
          
    , cb.equal(root.get("id"),"123"));                        }; }


  • 相关阅读:
    【人生苦短,我学Python】个人学习笔记——str.count方法
    微信支付问题解决
    针对listview上面的按钮点击事件的操作
    Android界面之间的跳转和返回
    贪吃蛇
    数据库的连接
    Android中实现圆的面积的计算问题
    关于安卓环境的搭建问题
    python 获取cpu、内存、硬盘等实时信息 psutil
    python 配置文件
  • 原文地址:https://www.cnblogs.com/hmpcly/p/10489563.html
Copyright © 2011-2022 走看看