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;

}

相关推荐
佟晖10 分钟前
KGDB调试Linux内核与模块
linux·系统编程
cosX+sinY2 小时前
ubuntu 20.04 编译和运行A-LOAM
linux·ubuntu·bash
会飞的土拨鼠呀2 小时前
vim 清除文件所有行
linux·编辑器·vim
Brandon汐3 小时前
Linux第四章练习
linux·运维·服务器
Jayin_chan3 小时前
ragflow本地部署(WSL下Ubuntu)
linux·ubuntu·ai大模型·rag·ragflow
ab_dg_dp3 小时前
解决Ubuntu系统鼠标不流畅的问题
linux·ubuntu·计算机外设
strong_butter4 小时前
清明假期间
windows
理智的煎蛋4 小时前
es 原生linux部署集群
大数据·linux·服务器·elasticsearch
nzxzn4 小时前
linux第三次作业
linux·运维·服务器
海风极客4 小时前
怎样读懂top命令?
linux·后端·程序员