在 spring boot 的 jpa 规范上设置别名

问题描述 投票:0回答:0

如何在用户的 id 上设置别名并将其更改为“userId”?

Specification.java


    public static Specification<Subject> byColumnNameAndValueSubject(String value) {
        return new Specification<Subject>() {
            @Override
            public Predicate toPredicate(Root<Subject> root, CriteriaQuery<?> query, CriteriaBuilder criteriaBuilder) {

                Join<Subject, UsersSubjects> joinUsersSubjects = root.join("usersSubjects", JoinType.INNER);
                Join<UsersSubjects, User> joinUser = joinUsersSubjects.join("user", JoinType.INNER);

                Predicate predicateForData = criteriaBuilder.or(
                    criteriaBuilder.like(root.get("id").as(String.class), "%" +  value + "%"),
                    criteriaBuilder.like(joinUser.get("id").as(String.class), "%" + value + "%"));

                return criteriaBuilder.and(predicateForData);
            }
        };
    }

我想从用户那里搜索ID,请帮忙。

java spring-boot spring-data-jpa criteria specifications
© www.soinside.com 2019 - 2024. All rights reserved.