spring data jpa 复杂查询忽略大小写

今天和别的系统联调,改了个需求,之前的复杂查询中关键字查询需要加入忽略大小写。

忽略大小写都是把要查的条件都转为大写或者小写,然后把数据库获得的数据同样转为大写或者小写再去比对。

Page page = studentRepository.findAll(new Specification(Root root,

    CriteriaQuery query, CriteriaBuilder cb){

    List preList = new ArrayList<>();

    if(StringUtils.isNotEmpty(keys)){

        Predicate namePre = cb.like(cb.lower(rootget("studentName")),"%" + keys.toLowerCase() + "%");

        preList.add(namePre); 

    }

    Predicate[] predicates = preList.toArray(new Predicate[preList.size()]);

    return cb.and(predicates);

});


你可能感兴趣的:(spring data jpa 复杂查询忽略大小写)