簡體   English   中英

hibernate左邊連接多個where條件

[英]hibernate left join with multiple where conditions

------我正在寫sql查詢它的工作正常------------------

SELECT SUM (lb.QUANTITY*mp.DB_PRICE) 
FROM ledger_balance lb 
LEFT JOIN material_price mp ON (mp.MATERIAL_ID = lb.MATERIAL_ID) 
WHERE lb.QTY_TYPE ='G' 
AND lb.BALANCE_TYPE='CUMU' 
AND lb.CUSTOMER_ID = 13
AND mp.CUSTOMER_ID = 13 AND  lb.MATERIAL_ID IN (226, 230, 362, 365)
AND mp.MATERIAL_ID IN (226, 230, 362, 365);

-休眠查詢無法正常工作------

SELECT SUM (B.quantity*P.dbPrice) 
FROM com.efl.efms.data.domain.common.LedgerBalance as B 
LEFT JOIN com.efl.efms.data.domain.material.MaterialPrice as P   
with (B.materialId = P.materialCatalog.materialId)  
WHERE   B.balanceType=:balanceType 
AND B.qtyType=:qtyType and B.customerId in (:customerId) AND P.customer.customerId IN (:customerId)  
AND B.materialId in (:materialPriceId)  
AND P.materialCatalog.materialId in (:materialPriceId) ;

請幫助我休眠左聯接,並且在沒有左手的情況下進行左聯接hibernate java.lang.illegalstateexception點節點時遇到以下錯誤

您無法加入與Hibernate的非映射關系。

如果您的查詢只返回非結構化數據(在您的情況下是一個數字),我傾向於使用本機查詢。

  • 您不必浪費時間將查詢翻譯成HQL
  • 它運行得更快,因為可以省略所有Hibernate的翻譯過程

暫無
暫無

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

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