0
나는 같은 조건으로 동적 쿼리를 작성하려고합니다. MySQL을 원시 SQL과 함께 사용하면 매우 잘 동작합니다. 다음은 예제입니다.JPA/기준 백분율 문자처럼
select * from dbiwant.want_activity m where m.want like "%bike%"
그런 다음 CriteriaBuilder로 시도했지만 Java에서 동일한 결과를 얻지 못했습니다. 그냥 빈 결과. 내 코드는 다음과 같습니다.
Specifications specifications = Specifications.where(specificationService.isLike("want", search));
public Specification<WantActivity> isLike(String param, String search) {
return new Specification<WantActivity>() {
public javax.persistence.criteria.Predicate toPredicate(Root<WantActivity> root, CriteriaQuery<?> query,
CriteriaBuilder builder) {
return builder.like(root.get(param) ,"%" + search + "%");
}
};
}
문제점 :
. 아직 결과가 비어 있습니다. – Ahmet
도움말보기 : https : //spring.io/blog/2011/04/26/advanced-spring-data-jpa-specifications-and-querydsl/ –