------我正在写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);
--- hibernate查询它不工作------
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的翻译过程