貌似不可能
一般也没必要,两个sql一个意思

解决方案 »

  1.   

    是left outer join问题,没仔细研究
    要不加上or state is null
    要不就left outer join (select * from public.bbsreply where state=?)
      

  2.   

    研究了哈,必须我那样写饿。看来只能用hql了。
      

  3.   


    criteria.createAlias("bbsreplies", "reply",Criteria.LEFT_JOIN); 
    criteria.add(Restrictions.eq("reply.state", 2)); 
    改成
    Criteria  addcriteria=criteria.createAlias("bbsreplies", "reply",Criteria.LEFT_JOIN); 
    addcriteria.add(Restrictions.eq("state", 2)); 试试看,不确定行不。。
      

  4.   

    Criteria  addcriteria=criteria.createAlias("bbsreplies", "reply",Criteria.LEFT_JOIN); 
    addcriteria.add(Restrictions.eq("state", 2)); 
    用hql
      

  5.   

    都不行啊,郁闷,暂时用hql搞定了,还是期待高手能用代码搞定
      

  6.   

    为什么我用HQL对LEFT_JOIN不好用呢?
      

  7.   

    那应该是映射没有配好或者hql写的有问题
      

  8.   

    你用的hibernate jar包是多少?我的是hibernate3.jar, 好像和你的不一致,有些方法不能用。
      

  9.   

    Criteria似乎是不能这么些的,用hql吧,hql有个with关键字,可以实现关联的onleft join a.xxxs x with x.flag='Y'