CriteriaBuilder 联合查询

public List<String> findProdFactoryDesc(String prodtype, String prodName) {

CriteriaBuilder cb = entityManager.getCriteriaBuilder();

CriteriaQuery<String> cq = cb.createQuery(String.class);

Root<Product> prt = cq.from(Product.class);

Root<Factory> fct =cq.from(Factory.class);

Predicate pType=cb.equal(prt.get("type"), prodtype);

Predicate pName=cb.equal(prt.get("name"),prodName);

Predicate prtAnd=cb.and(pType,pName);

Predicate facType=cb.equal(fct.get("prodType"), prodtype);

Predicate facName=cb.equal(fct.get("prodName"),prodName);

Predicate facAnd=cb.and(facType,facName);

Predicate prtFacAnd=cb.and(prtAnd,facAnd);

cq.where(prtFacAnd);

cq.multiselect(fct.get("ftyDesc")).distinct(true);

List<String> list = entityManager.createQuery(cq).getResultList();

return list;

}

相关推荐
刚入坑的新人编程几秒前
Linux-cgdb
linux·运维·服务器
困死,根本不会2 分钟前
Python 基础语法速通:从入门到上手
windows·笔记·python·学习
不光头强6 分钟前
ArrayList知识点
java·开发语言·windows
桌面运维家8 分钟前
Linux VHD 虚拟磁盘更新指南:高效管理与优化
linux·运维·数据库
进击切图仔9 分钟前
Linux 挂载操作
linux·运维·服务器
炽天使32812 分钟前
龙虾尝鲜记(4)——Ubuntu 笔记本无头服务器全配置
linux·服务器·ubuntu
TLY-101-01016 分钟前
工作日记:在win11上开启WSL安装ubuntu,使用VLLM运行ASR模型
linux·ubuntu·ai·vllm
不知名。。。。。。。。27 分钟前
仿muduo库实现高并发服务器--定时器模块的整合
linux·运维·服务器
csdn_aspnet27 分钟前
使用 C# 和 Microsoft Agent Framework 构建 AI 代理
人工智能·microsoft·ai·c#·.net·agent·ai agent
AC赳赳老秦30 分钟前
2026多智能体协同趋势:DeepSeek搭建多智能体工作流,实现复杂任务自动化
人工智能·python·microsoft·云原生·virtualenv·量子计算·deepseek