0

我对jpa有点陌生。我创建了一些简单的查询。但现在我遇到了一个简单查询的问题。我有一个包含 3 列(Id、Amount1、Amount2)的实体 Payment。现在我想从 Payment 中找到 Amount1+Amount2 大于 somevalue 的所有行。我尝试了类似的方法:

Query query = getEntityManager().createQuery(
  "Select p from Payment p WHERE p.Amount1 + p.Amount2 >' " + someamount +" ' ");

但它不起作用。我也尝试使用 SUM ,但这只是一列。谁能帮我这个。谢谢。

4

1 回答 1

-1

假设您的实体已正确定义,以下查询应该可以正常工作:

final BigDecimal threshold = BigDecimal.valueOf(1000);
TypedQuery<Payment> query = getEntityManager().createQuery(
      "SELECT p FROM Payment p WHERE p.Amount1 + p.Amount2> :value",
      Payment.class);
query.setParameter("value", threshold);
List<Payment> results = query.getResultList();
于 2012-04-14T12:58:59.380 回答