您的位置:首页 > 编程语言 > Java开发

spring data 复杂条件查询, in 语句查询

2018-03-30 12:20 274 查看

1、CriteriaQuery 安全查询主语句

2、Root 定义查询的From子句中能出现的类型、

3、Predicate 过滤条件

4、Predicate[] 多个过滤条件

代码                                List<Predicate> predicatesList = new ArrayList<Predicate>();

if( bhjlquery != null && bhjlquery.getWxzt() != null ) {
predicatesList.add(criteriaBuilder.equal(_bhwxzt, bhjlquery.getWxzt()));
}

if( bhjlquery != null && bhjlquery.getPgzt() != null ) {
predicatesList.add(criteriaBuilder.equal(_pgzt, bhjlquery.getPgzt()));
}
// 数据权限 通过管养路段去实现
Expression<String> exp = root.<String>get("ldcode");
List<String> lds = getBmLdService.getLds();
if( lds == null || lds.size() == 0 ) return null;
predicatesList.add(exp.in(lds));
if( predicatesList.size() > 0 ) {
Predicate[] p = new Predicate[predicatesList.size()];
return criteriaBuilder.and(predicatesList.toArray(p));
} else {
return null;
}in 语句查询Expression<String> exp = root.<String>get("ldcode");
List<String> lds = getBmLdService.getLds();
if( lds == null || lds.size() == 0 ) return null;
predicatesList.add(exp.in(lds));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java jpa hibernate