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;

}

相关推荐
zizle_lin几秒前
WSL初始化Ubuntu的使用
linux·运维·ubuntu·wsl
原创小甜甜12 分钟前
Windows 蓝屏自救手册:从紧急记录到硬件排查的完整指南
windows·stm32·单片机
c++之路14 分钟前
Linux 下 C++ 开发环境搭建
linux·运维·c++
溜达的大象15 分钟前
Ubuntu服务器之间校时
linux·ubuntu·excel
鹏大师运维16 分钟前
Ubuntu 26.04 Linux 7.0内核安装VMware实战
linux·ubuntu·vmware·虚拟机·麒麟·统信uos·linux7.0
Bruce_kaizy17 分钟前
c++网络编程——解析主机字节序、网络字节序以及深入剖析tcp编程中万恶的结构体(爆肝)
linux·服务器·网络·tcp/ip·ubuntu
小猫咪0124 分钟前
Linux 定时任务 crontab 详解:让脚本每天自动执行
linux·运维·服务器
jcbut24 分钟前
在Linux 7.9上安装NetBackup IT Analytics (ITA) 11.2
linux·运维·netbackup·it analytics·ita
1892280486129 分钟前
NV041固态MT29F16T08GSLCEM9-QBES:C
人工智能·算法·microsoft·缓存·性能优化
云川之下40 分钟前
【linux】免密登录
linux·免密