JPA CriteriaBuilder子查询方式是什么
发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,本篇内容主要讲解"JPA CriteriaBuilder子查询方式是什么",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"JPA CriteriaBuilde
千家信息网最后更新 2025年01月24日JPA CriteriaBuilder子查询方式是什么
本篇内容主要讲解"JPA CriteriaBuilder子查询方式是什么",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"JPA CriteriaBuilder子查询方式是什么"吧!
JPA CriteriaBuilder子查询
给自己做个备忘
/** 检索关键字 */if (keyWord != null && !keyWord.trim().equals("")){ // 创建子查询对象 Subquerysubquery = criteriaQuery.subquery(Store.class); Root root2 = subquery.from(Store.class); subquery.select(root2. get("id")); subquery.where(criteriaBuilder.like(root2. get("name"), "%" + keyWord + "%")); // 给读者稍微解释一下,也给自己留个记忆 // 这里的意图是将关键做两个模糊检索,一个是在本表中检索title字段 // 就是criteriaBuilder.like(root. get("title"), "%" + keyWord + "%") // 二是将字段与子表中的检索出来的id与本表中store字段做匹配 // criteriaBuilder.in(root.get("store")).value(subquery)) // 至于id怎么检索出来的,用子查询模糊检索出来的,参照上面的子查询 restrictions = criteriaBuilder.and(restrictions,criteriaBuilder.or(criteriaBuilder.like(root. get("title"), "%" + keyWord + "%"),criteriaBuilder.in(root.get("store")).value(subquery)));}
Jpa在CriteriaBuilder中添加where条件NotIn子查询
final CriteriaBuilder cb = entityManager.getCriteriaBuilder();final CriteriaQuerycq = cb.createQuery(Person.class);final Root root = cq.from(Person.class);cq.select(root);final Subquery subquery = cq.subquery(Integer.class);final Root validityIDSQ = subquery.from(Person.class);subquery.select(cb.max(validityIDSQ.get(Person_.validityID)));subquery.groupBy(validityIDSQ.get(Person_.personID));cq.where(cb.in(root.get(Person_.validityID)).value(subquery));// 将生成select person0_.id as id1_0_, person0_.personID as personID2_0_, person0_.validityID as validity3_0_, person0_.value as value4_0_from person person0_where person0_.validityID in ( select max(person1_.validityID) from person person1_ group by person1_.personID)
自身所需NotIn语法,所以是
SubquerymanageUserSubquery = query.subquery(String.class); Root relationUserManagePlateDomainRoot = manageUserSubquery.from(RelationUserManagePlateDomain.class); Join relationUserManagePlateDomainUserDomainJoin = relationUserManagePlateDomainRoot.join(RelationUserManagePlateDomain_.user, JoinType.INNER); Subquery subquery = manageUserSubquery.select(relationUserManagePlateDomainUserDomainJoin.get(UserDomain_.id)); Predicate predicate1 = criteriaBuilder.and(criteriaBuilder.not(criteriaBuilder.in(root.get(UserDomain_.id)).value(manageUserSubquery))); predicate.getExpressions().add(predicate1);
到此,相信大家对"JPA CriteriaBuilder子查询方式是什么"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
查询
检索
方式
字段
关键
内容
学习
实用
更深
两个
关键字
兴趣
实用性
实际
对象
就是
意图
操作简单
方法
是在
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全知识心德体会
软件开发和nlp哪个更好
厂区监控服务器配置推荐
第四届乌镇互联网黑科技
浦东新区电子软件开发机构整顿
网络安全毕业论文开题报告
华为云核心通用软件开发
华为手机的网络安全密匙在哪
中学网络安全教育讲话
梦幻服务器实力排名
银行业网络安全检查
如何用固定卷内目录提取数据库
数据库统计每个商品的销售总数
虚拟机搭建web服务器
cad mdb数据库
专利wpi数据库
服务器误把电源拔了
数据库技术历史
数据库中表属性设置
黑客入侵公司数据库
英飞凌芯片的软件开发
浦东新区电子软件开发机构整顿
软件开发贴牌部署
软件开发体检项目哪一项
国家网络安全法宣传周主题
网络安全视频的剧本
数据库 编辑 json
定制软件开发服务收入
网络安全的屏保图片
杭州 聊天软件开发