我在使用 JPA 时遇到了一点问题。考虑这种情况:
表 A (id_a) | 表 B (id_b, id_a)
我需要的是这样的查询:
Select a.*, c.quantity from A as a, (Select Count(*) as quantity
from B as b where b.id_a = a.id_a) as c;
问题是我想使用 jpa 查询而不是本机查询,如下所示:
Select a, c FROM A a, (Select Count(b) FROM B b where a.idA = b.a.idA) c;
因此,我可以从结果(每个节点中带有 a 和 c 的 Object[] 列表)进行迭代,然后分配 a.quantity = c;
我再说一遍,我不想使用本机查询,但我发现除了使用冗余数据之外别无他法,并在 A 中添加另一个名为 Quantity 的列,每次我从 B 插入和删除时,更新 A 中的这一列。
请帮忙,我在某处读到 JPA 不接受 Form 子句中的子查询,那么,我该怎么办?
非常感谢 !