簡體   English   中英

高效的復雜NHibernate標准查詢

[英]Efficient complex NHibernate Criteria query

我有一個APVendor類,它具有集合APInvoice類和獨特的Name ; 每個APInvoice都有一組APPayment類。 每個APPayment對象都精確地引用一個BankAccount類,一個ClearedDate ,一個Amount和一個CheckNumber屬性。

對於具有支票記錄的銀行對帳單,假設我的Foo銀行支票帳戶檢查1111 ,金額為$ 1000.00 ,我想查看付款是否存在於我的持久層中,並標記APPayment對象的ClearedDate屬性。

我可以通過查詢供應商,然后查詢供應商的發票,然后查找針對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 = ????

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用於此類靜態查詢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM