我正在做一個左外連接,但我只能對第一個表應用限制。第二張桌子上還有一種方法嗎?休眠條件:左外部加入對兩個表的限制
這裏是我的代碼:
Criteria criteria = this.crudService
.initializeCriteria(Applicant.class).setFetchMode("products",
FetchMode.JOIN);.
此作品(申請人的applicantName屬性):
criteria.add(Restrictions.eq("applicantName", "Markos")
無論這些作品(產品有產品名稱屬性)
criteria.add(Restrictions.eq("productName", "product1")
的
criteria.add(Restrictions.eq(「products.productName」,「product1」)//產品:屬性的名稱 criteria.add(Restrictions.eq(「Product.productName」,「product1」)// Product:數據庫表的名稱
這是我收到的異常(如果我理解正確)產品名稱屬性不存在申請人:
EJB Exception: ; nested exception is: org.hibernate.QueryException: could not resolve property: products.inventedName of: org.myCompany.applicant.entity.Applicant; nested exception is: org.hibernate.QueryException: could not resolve property: products.inventedName of: org.myCompany.applicant.entity.Applicant
我試圖使用的別名,但這種生成INNER JOIN,而不是LEFT OUTER JOIN的我想要的。
如何對兩個表應用限制?
UPDATE:
問題可能與此相同: https://forum.hibernate.org/viewtopic.php?p=2393694