0

APVendorクラスのコレクションAPInvoiceと一意のName;を持つクラスがあります。それぞれにクラスAPInvoiceのコレクションがあります。APPaymentAPPaymentオブジェクトは、 、、およびプロパティの 1 つBankAccountのクラスのみを参照します。ClearedDateAmountCheckNumber

小切手記録のある銀行取引明細書を使用して、私のBank of Foo の当座預金口座である $1000.00 の小切手1111考えてみましょう。支払いが永続化されたレイヤーに存在するかどうかを確認し、オブジェクトのプロパティをマークします。APPaymentClearedDate

これを行うには、仕入先にクエリを実行し、次にベンダーの請求書にクエリを実行BankAccountして、Criteria.

誰かがそれがどのように見えるべきかについて私を助けることができますか? 操作する必要があるオブジェクト グラフを取得するために、SQL でクエリを記述する方法は次のとおりです。

select p.*, i.*, v.*
from appayments p
join bankaccounts a on p.bankaccountid = a.bankaccountid
join apinvoices i on i.invoiceid = p.invoiceid
join apvendors v on v.vendorid = i.vendorid
where a.bankaccountid = ????
and p.checknumber = ????
4

1 に答える 1

1

HQL クエリは、SQL クエリと非常によく似ています。

select payment from APPayment payment
inner join payment.BankAccount bankAccount
left join fetch payment.Invoice invoice
left join fetch invoice.Vendor vendor
where bankAccount.id = :accountId
and payment.checkNumber = :checkNumber

Criteria クエリは演習として残しておきますが、そのような静的クエリに Criteria を使用するポイントはわかりません。

于 2012-06-20T17:35:56.563 に答える