4
"name + surname"문자열을 키로 사용하여 "customers"테이블을 쿼리하려고합니다.연결된 필드의 JPA 쿼리 필터
이름과 성은 다른 필드에 저장됩니다.
그래서 제 질문은 다음과 같습니다
SELECT
*
FROM
customers
WHERE
CONCAT(name,' ',surname) LIKE '%term%'
OR CONCAT(surname,' ',name) LIKE '%term%'
그러나, 나는 할 수 없어, 내 쿼리는 JPA2 기준 쿼리입니다. 예 :
CriteriaBuilder cb = getEntityManager().getCriteriaBuilder();
CriteriaQuery cq = cb.createQuery();
Root<Customer> from = cq.from(Customer.class);
cq.select(from);
Predicate whereClause = cb.or(
cb.like(from.<String>get("name"), "%"+ r +"%"),
cb.like(from.<String>get("surname"), "%"+ r +"%"),
);
cq.where(whereClause);
TypedQuery<Customer> query = getEntityManager().createQuery(cq);
list = query.getResultList();
결과 집합을 이름과 성을 조합하여 어떻게 필터링 할 수 있습니까?
! 고맙습니다!! –