我是JPA的新手。所以我的问题对某些人来说应该很简单。
以下是我想转换为JPA的SQL中的简单查询。我已经有一个名为的实体类TimeEnt
。
SELECT
SUM(TimeEntryActualHours) as UnBilledHrs,
SUM (TimeEntryAmount) as UnbilledAmount
FROM TimeEnt WHERE MatterID = 200
在JPA查询语言确实像AVG,COUNT,MAX,MIN,SUM SELECT子句中载体聚集体的功能和不支持多个select_expressions SELECT子句中,在这种情况下,结果是一个List
的Object
阵列(Object[]
)。根据JPA规范:
4.8.1 SELECT子句的结果类型
...
SELECT子句的结果类型由其中包含的select_expressions的结果类型定义。当在SELECT子句中使用多个select_expressions时,查询的结果为type
Object[]
,并且此结果中的元素对应于其在SELECT子句中指定的顺序,并且类型对应于每个select_expressions的结果类型。
换句话说,您在注释中提到的查询类型(并且由于您没有提供您的实体,因此我将以您的示例为基础)得到支持,这没有问题。这是一个代码示例:
String qlString = "SELECT AVG(x.price), SUM(x.stocks) FROM Magazine x WHERE ...";
Query q = em.createQuery(qlString);
Object[] results = (Object[]) q.getSingleResult();
for (Object object : results) {
System.out.println(object);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句