我对jpa有点新鲜。我创建了一些简单的查询。但是现在我遇到了一个简单查询的问题。我有一个实体付款有3列(Id,Amount1,Amount2)。 现在我想找到来自Payment的所有行,其中Amount1 + Amount2大于somevalue。我试过类似的东西:
Query query = getEntityManager().createQuery(
"Select p from Payment p WHERE p.Amount1 + p.Amount2 >' " + someamount +" ' ");
但它不起作用。我也尝试使用SUM,但这只是一列。 谁能帮我这个。 感谢。
答案 0 :(得分:0)
假设您的实体已正确定义,以下查询应该可以正常工作:
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();