0

私はjpaに少し慣れていません。いくつかの簡単なクエリを作成しました。しかし今、私は単純なクエリに問題があります。3列(Id、Amount1、Amount2)のエンティティPaymentがあります。ここで、Amount1+Amount2がsomevalueよりも大きいPaymentのすべての行を検索したいと思います。次のようなものを試しました。

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

しかし、それは機能していません。SUMも使ってみましたが、それは1列だけです。誰かがこれで私を助けることができますか?ありがとう。

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 に答える