关于criteriabuilder 多个like查询拼接的问题(or不是and)

predicates.add(builder.or(builder.like(expression, "%" + vals[0] + "%"),builder.like(expression,"%"+vals[1]+"%"),.......));
builder.or里面有多个builder.like, vals是一个数组,怎么用for循环往builder.or里
面添加,才能达到我想要的效果,也就是对应的SQL为:select * from xx where name
like '%王%’or name like '%李%' or name like '%高%' or ......

已解决:
String[] str = value.split(",");
List predicateList = new ArrayList();
Predicate [] p = new Predicate[str.length];

                            for(int i = 0; i < str.length; i++){
                                predicateList.add(builder.like(expression, "%" + str[i] + "%"));
                            }
                            predicateList.toArray(p);
                            predicates.add(builder.or(p));

是spring API的查询的话 我觉得你不需要自己写SQL
按照这样的看看
predicate.getExpressions().add(cb.equal(root.get("XX").get("XX").as(类型.class), resinformSearchVo.getInfoType()));