【发布时间】:2010-12-06 19:29:18
【问题描述】:
我希望这应该是一个简单的。
我有一张发票,该发票上有付款清单。
我正在尝试使用 Criteria API 返回发票列表及其付款总额。所以,在 SQL 中我想要这样的东西:
SELECT i.*, (SELECT SUM(PMT_AMOUNT) FROM INVOICE_PAYMENTS p WHERE p.INVOICE = i.INVOICE) FROM INVOICES i
我终其一生都无法弄清楚如何使用 Criteria API 实现这一目标。做类似的事情:
Criteria crit = session.createCriteria(Invoice.class)
criteria.setProjection(Projections.projectionList()
.add(Projections.sum("payements.paymentAmount").as("paymentTotal"))
仅返回 1 行,其中包含所有发票的预计付款总额,这实际上是您所期望的,但这是我能得到的最接近的结果。
非常感谢任何帮助。
【问题讨论】:
标签: java hibernate criteria subquery