【发布时间】:2013-09-25 21:27:19
【问题描述】:
如何在休眠条件的 LEFT_JOIN 中提供 OR 子句。
Criteria mainCrit=hibernateSession.createCriteria("Main.class");
Criteria aPropertyCrit=mainCrit.createCrieria("child",CriteriaSpecification.LEFT_JOIN);
它生成sql为
select this_.Id,this_childId....
from main as this_
left join child as child1_ on child1_ .id=this_.childId
where.....
而且我需要生成 sql 为
select this_.Id,this_childId....
from main as this_
left join child as child1_ on child1_.id=this_.childId or child_.ParentId=this_.childId
where.....
如何在上述条件中的 LEFT_JOIN 中提供 OR 子句。
【问题讨论】:
-
你可以使用hibernate conjuction/disjunction来做到这一点。
-
你有没有解决过这个问题?如果是,请分享可能的解决方案