
关于2005年打开的问题,还有一个旧的Hibernate错误HHH-879
org.hibernate.QueryException:duplicate association path仍在打开…
其他问题已关闭,但没有解决方案HHH-7882
因此,选项1)不太适合。
但是,在上述错误的意见的有用 的解决方法 是使用提及
exists
因此,请使用两次
sqlRestriction,
exists并使用一个相关的子查询来过滤属性类别。您将获得唯一的 企业 连接到这两个类别。
crit.add( Restrictions.sqlRestriction( "exists (select null from Company_Customercategory a where {alias}.company_Id = a.company_Id and a.CUSTOMERCATEGORYID = ?)", 1, IntegerType.INSTANCE ) );crit.add( Restrictions.sqlRestriction( "exists (select null from Company_Customercategory a where {alias}.company_Id = a.company_Id and a.CUSTOMERCATEGORYID = ?)", 6, IntegerType.INSTANCE ) );这导致以下查询提供正确的结果
select this_.COMPANY_ID as COMPANY_ID1_2_0_, this_.COMPANY_NAME as COMPANY_NAME2_2_0_ from COMPANIES this_ where exists (select null from Company_Customercategory a where this_.company_Id = a.company_Id and a.CUSTOMERCATEGORYID = ?) and exists (select null from Company_Customercategory a where this_.company_Id = a.company_Id and a.CUSTOMERCATEGORYID = ?)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)