我正在做一个左外连接,但我只能对第一个表应用限制。第二张桌子上还有一种方法吗?休眠条件:左外部加入对两个表的限制
这里是我的代码:
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