规范中的spring数据可空参数

时间:2014-06-18 09:10:33

标签: java spring null parameter-passing

我创建了这个规范,返回一个字符串,效果很好:

public static Specification<Eleve> nomIsLike(final String nom) {

        return new Specification<Eleve>() {
            @Override
            public Predicate toPredicate(Root<Eleve> personRoot, CriteriaQuery<?> query, CriteriaBuilder cb) {
                String likePattern = getLikePattern(nom);
                return cb.like(cb.lower(personRoot.<String>get(Eleve_.nom)), likePattern);
            }

            private String getLikePattern(final String nom) {
                StringBuilder pattern = new StringBuilder();
                pattern.append(nom.toLowerCase());
                pattern.append("%");
                return pattern.toString();
            }
        };
    }

我的问题是,如果参数为null,则规范不起作用并提供正常的异常,我想知道如何使我的规范接受空参数

1 个答案:

答案 0 :(得分:0)

检查null,并抛出异常或实现null对象模式 - 即用字符串替换null,例如:“没有提供参数”。

或者,不要使用字符串来构建查询,只需使用条件api。