비교적 간단한 쿼리가 필요하지만 JPA는 그것을 만드는 것이 어렵습니다.JPA Select Count Distinct
는 SQL의 변형은 다음과 같이 보일 것이다 :
SELECT COUNT(DISTINCT OrderID) AS DistinctOrders FROM Orders WHERE CustomerID=7;
[편집 : OrderID를 기본 키가 아닙니다. 더 많은 OrderId가 테이블에 있습니다]
CustomerID
을 내 메서드에 전달되는 변수로 설정해야합니다.
CriteriaQuery
distinct()
에 관한 문서를 찾았지만 모두 정리할 수는 없습니다.
CriteriaBuilder cb = this.em.getCriteriaBuilder();
CriteriaQuery<Order> c = cb.createQuery(Order.class);
Root<Order> order = c.from(Order.class);
Path<String> customerID = order.get("customerID");
c.where(cb.equal(customerID, theId));
JPQL을 :
이것은 내가 지금까지 가지고 무엇인가? "선택 주문 (o.orderID) 주문 o 어디 o.customerID = : customerID GROUP BY o.orderID" –