JPA CriteriaBuilder子查询方式是什么
发表于:2025-11-14 作者:千家信息网编辑
千家信息网最后更新 2025年11月14日,本篇内容主要讲解"JPA CriteriaBuilder子查询方式是什么",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"JPA CriteriaBuilde
千家信息网最后更新 2025年11月14日JPA CriteriaBuilder子查询方式是什么
本篇内容主要讲解"JPA CriteriaBuilder子查询方式是什么",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"JPA CriteriaBuilder子查询方式是什么"吧!
JPA CriteriaBuilder子查询
给自己做个备忘
/** 检索关键字 */if (keyWord != null && !keyWord.trim().equals("")){ // 创建子查询对象 Subquery subquery = 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安全错误
数据库的锁怎样保障安全
网络安全生产协会工作报告
阿里云主机如何删除数据库
计算机网络技术可以看的书
华为通信设备软件开发面试
软件开发公司面试题目
数据库配置安装路径的文件是哪个
机房服务器设置多少度
互联网科技对实体业的影响
宝塔面板数据库是什么
山西大数据网络技术开发联系人
计算机网络技术的教学方法
数据库if语句实训总结
徐州互联网科技有限公司
go语言开发的游戏服务器
大逃杀服务器列表
吉林省企信互联网科技
软件开发商和运维
湖北服务器防火墙品牌
网络安全日推文
一个人买几个腾讯云服务器
江西服务器电源价位
网络技术能力是什么
香港的游戏服务器怎么样
柯达软件开发
关于网络安全的板报有防御盾牌
社交软件开发费用是多少
绵阳软件开发市场价
牟平区商城软件开发公司
惠州广州app软件开发
数据库ogg同步卡死