Java 实体标识变量上的最大聚合做什么?

Java 实体标识变量上的最大聚合做什么?,java,hibernate,jpa,jpql,Java,Hibernate,Jpa,Jpql,我正在尝试将使用JPA1.0和Hibernate3.3的旧代码迁移到另一个非SQL数据API。其中一个查询如下所示: SELECT tx.transactionId, MAX(tx), SUM(tx.amount) FROM Transaction tx WHERE tx.customerId = :customerId AND ... // etc GROUP BY tx.transactionId 我的问题:MAXtx的结果应该是什么?我看到的所有文档都声称MAX仅对可比较

我正在尝试将使用JPA1.0和Hibernate3.3的旧代码迁移到另一个非SQL数据API。其中一个查询如下所示:

SELECT tx.transactionId, MAX(tx), SUM(tx.amount)
  FROM Transaction tx
  WHERE tx.customerId = :customerId
  AND ... // etc
  GROUP BY tx.transactionId
我的问题:MAXtx的结果应该是什么?我看到的所有文档都声称MAX仅对可比较的标量值、数字、字符串、日期有效,而不是实体引用。从上下文来看,查询实际上返回了事务的实例,但我不知道这些实例是哪些特定的持久化实体?某种复合实体?或者它们与分组结果集的关系

这是规范的Hibernate扩展吗?我在Hibernate文档中也找不到任何东西,也无法在Hibernate源代码中找到处理特定行为的代码。实际上,我不在乎任何一种方式,因为我必须以不同的方式重写整个调用,我只是想知道替换者应该做什么

有人认识这个吗