我需要一个相对简单的查询,但JPA使它很难创建它。JPA Select Count Distinct
的SQL变种是这样的:
SELECT COUNT(DISTINCT OrderID) AS DistinctOrders FROM Orders WHERE CustomerID=7;
[编辑:订单是不是主键。可以有更多的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? “SELECT COUNT(o.orderID)FROM订单o WHERE o.customerID =:customerID GROUP BY o.orderID” –