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;

}

相关推荐
努力学习的小廉1 分钟前
深入了解linux系统—— 线程同步
linux·服务器·数据库·算法
2301_8101545513 分钟前
VM中CentOS 7密码重置
linux·运维·centos
zhaqonianzhu19 分钟前
Linux GPIO 使用 Pinctrl 及 Gpiolib 通俗详解
linux·安卓
骄傲的心别枯萎38 分钟前
RV1126 NO.16:通过多线程同时获取H264和H265码流
linux·c++·音视频·rv1126
空灵之海40 分钟前
Ubuntu系统安全合规配置
linux·ubuntu·系统安全·1024程序员节
喜欢你,还有大家43 分钟前
FTP文件传输服务
linux·运维·服务器·前端
该用户已不存在1 小时前
你没有听说过的7个Windows开发必备工具
前端·windows·后端
枫叶落雨2221 小时前
注解参数校验
windows
通达的K1 小时前
Java实战项目演示代码及流的使用
java·开发语言·windows
czhc11400756631 小时前
LINUX99 centos8:网络 yum配置;shell:while [ $i -ne 5 ];do let i++ done
linux