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;

}

相关推荐
wzyannn15 分钟前
Linux字符设备驱动开发详细教程(简单字符设备驱动框架)
linux·运维·驱动开发·嵌入式
REDcker18 分钟前
Cursor Chrome DevTools MCP 配置指南 for Windows
前端·windows·chrome devtools
LCG元30 分钟前
Linux 下的端口转发:ssh、socat、iptables 三种方案对比
linux
LCG元33 分钟前
深入理解 Linux 网络命名空间:自己动手实现"虚拟网络"
linux
powerfulhell1 小时前
11.11作业
linux·运维·centos
板鸭〈小号〉1 小时前
进程间关系(linux)
linux·运维·服务器
liu****1 小时前
18.HTTP协议(一)
linux·网络·网络协议·http·udp·1024程序员节
脏脏a2 小时前
【Linux】冯诺依曼体系结构与操作系统概述
linux·服务器
r***d8652 小时前
云存储服务选型:S3 vs Azure Blob
microsoft·azure
adnyting3 小时前
【Linux日新月异(三)】CentOS 7软件管理深度指南:从YUM到源码编译
linux·运维·centos