Java entitymanager:查询不保留最小值和最大值

Java entitymanager:查询不保留最小值和最大值,java,sql,aggregate-functions,jpql,entitymanager,Java,Sql,Aggregate Functions,Jpql,Entitymanager,上下文:Netbeans 8.0.1、JSF2.2、Primefaces 5.0、JDK1.7、eclipseLink 2.5.2 查询似乎不保留最小值和最大值: 以下是我的jpql声明: Query query = em.createQuery("SELECT po.customerId.customerId, MAX(po.shippingCost), MIN(po.shippingCost), COUNT(po.orderNum) countligne, COUNT(DISTINCT

上下文:Netbeans 8.0.1、JSF2.2、Primefaces 5.0、JDK1.7、eclipseLink 2.5.2

查询似乎不保留最小值和最大值: 以下是我的jpql声明:

Query query = em.createQuery("SELECT po.customerId.customerId, MAX(po.shippingCost), 
MIN(po.shippingCost), COUNT(po.orderNum) countligne, 
COUNT(DISTINCT po.productId.productId)\n"   
+"FROM PurchaseOrder po WHERE po.customerId.customerId = :Id
  GROUP BY` po.customerId.customerId");
这是eclipselink日志sql:

SELECT t0.CUSTOMER_ID, COUNT(t1.ORDER_NUM), COUNT(DISTINCT(t2.PRODUCT_ID)) 
FROM CUSTOMER t0, PRODUCT  t2, PURCHASE_ORDER t1 WHERE ((t1.CUSTOMER_ID = ?) 
AND ((t0.CUSTOMER_ID = t1.CUSTOMER_ID) AND (t2.PRODUCT_ID = t1.PRODUCT_ID)))
GROUP BY t0.CUSTOMER_ID

怎么了?

似乎计数字段别名扰乱了eclipselink,导致结果列列表不准确:

..., COUNT(po.orderNum) countligne, ...
当我禁用“countline”别名时,一切都会完美工作


最奇怪的是,没有呈现聚合字段时,没有任何错误,甚至没有警告。

非常有趣,听起来像个bug。