Java 带子查询的JPA条件查询
我想知道是否可以用JPA2.0 criteria api表达以下查询Java 带子查询的JPA条件查询,java,jpa-2.0,Java,Jpa 2.0,我想知道是否可以用JPA2.0 criteria api表达以下查询 simple_table: user_name(varchar), bytes_total(bigint), time_total(bigint) >select user_name, sum(bytes_total), sum(bytes_total) * 100 / (select sum(bytes_total) from simple_table), sum(time_total),
simple_table:
user_name(varchar),
bytes_total(bigint),
time_total(bigint)
>select
user_name,
sum(bytes_total),
sum(bytes_total) * 100 / (select sum(bytes_total) from simple_table),
sum(time_total),
sum(time_total) * 100 / (select sum(time_total) from simple_table)
from simple_table
group by user_name
除了两个子查询之外,我的一切都正常工作。我想知道这是否可能。谢谢。那是办不到的。子查询不能在SELECT子句中使用。JPQL查询中也存在同样的限制。在JPA 2.0规范中,这表示为: 子查询可以在WHERE和HAVING子句中使用
这是不可能做到的。子查询不能在SELECT子句中使用。JPQL查询中也存在同样的限制。在JPA 2.0规范中,这表示为: 子查询可以在WHERE和HAVING子句中使用
我建议在两个单独的查询中进行此计算。不需要太多的代码,而且可能需要更高的性能,因为您只需要计算一次总数。谢谢@RasmusFranke,是的,这是我的第二个选择。我建议在两个单独的查询中进行此计算。不需要太多的代码,而且可能需要更高的性能,因为您只需要计算一次总数。谢谢@RasmusFranke,是的,这是我的第二个选择。非常感谢,考虑到这一点,我可以转移到其他备选方案。非常感谢,考虑到这一点,我可以转移到其他备选方案。