jpa 复杂查询 specification 多层嵌套怎么查? 有一个sql 如下:select *from userwhere name in (a,b,c) or ( name is null and nicheng in (a,b,c) )这个sql用specification怎么写?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 interface UserRep extends JpaRepository<User, Integer>, JpaSpecificationExecutor<User>代码实现: Specification<User> specification = (Specification<User>) (root, query, criteriaBuilder) -> { Predicate conjunction = criteriaBuilder.conjunction(); //in CriteriaBuilder.In<Object> name = criteriaBuilder.in(root.get("name")); Arrays.asList("a", "b", "c").forEach(name::in); conjunction = criteriaBuilder.and(conjunction, name); //or CriteriaBuilder.In<Object> nicheng = criteriaBuilder.in(root.get("nicheng")); Arrays.asList("a", "b", "c").forEach(nicheng::in); conjunction = criteriaBuilder.and(conjunction, criteriaBuilder.or(criteriaBuilder.isNull(root.get("name")), nicheng)); return query.where(conjunction).getRestriction(); }; userRep.findAll(specification);未测试,自己可以 debugger 看看参考:https://blog.csdn.net/qq_22161527/article/details/84390418 你这连代码都没写对,而且打印出来的sql也是p1 and (p2 or p3) 我要的是 p1 or ( p2 and p3) 你这连代码都没写对,而且打印出来的sql也是p1 and (p2 or p3) 我要的是 p1 or ( p2 and p3)“ 添加多行信息后如何传输到数据库中!! hibernate注解 主键做外键 分页导航 myeclipse插入到mysql数据乱码 web应用项目的优化问题 路由表的下一跳为全0是什么意思? jsp调用存储过程为什么返回的值不正确?急!急!请各位帮忙 jsp退出系统后,如何防止后退再次进入系统(b/s) 请问lucene建索引的话,在命令提示符下怎样输入命令? 关于使用JAVABEAN问题。 Javaweb入门程序题 今天开发接口,接收调用方参数使用map,领导说我low让我改掉,请问有相关规范没?
Predicate conjunction = criteriaBuilder.conjunction();
//in
CriteriaBuilder.In<Object> name = criteriaBuilder.in(root.get("name"));
Arrays.asList("a", "b", "c").forEach(name::in);
conjunction = criteriaBuilder.and(conjunction, name); //or
CriteriaBuilder.In<Object> nicheng = criteriaBuilder.in(root.get("nicheng"));
Arrays.asList("a", "b", "c").forEach(nicheng::in);
conjunction = criteriaBuilder.and(conjunction, criteriaBuilder.or(criteriaBuilder.isNull(root.get("name")), nicheng));
return query.where(conjunction).getRestriction();
};
userRep.findAll(specification);未测试,自己可以 debugger 看看参考:https://blog.csdn.net/qq_22161527/article/details/84390418
“