本帖最后由 yilvqingtai 于 2014-06-09 16:33:36 编辑

解决方案 »

  1.   

    我去~这不科学啊!
    你show_sql出来看看Hibernate打印的sql是神马!!!
      

  2.   

    我show_sql出来的代码直接在命令行运行结果正确,所以我也很郁闷,感觉不科学。我一字在看我哪儿出错了,我把sql语句精简到很简单,仍然是这样,但是当我把sql转化成hql的时候查询又是正确的。妈的,我真想知道是我自己错了,可是我用排除的办法,也不行
      

  3.   

    我show_sql出来的代码直接在命令行运行结果正确,所以我也很郁闷,感觉不科学。我一字在看我哪儿出错了,我把sql语句精简到很简单,仍然是这样,但是当我把sql转化成hql的时候查询又是正确的。妈的,我真想知道是我自己错了,可是我用排除的办法,也不行难道这是BUG?
    去官网提交下看看!
      

  4.   

    不过我觉得不应该啊~你应该先看看你还没有转换之前的Hibernate返回的list数据!
    也许是a.id跟b.id名称相同了,get("id")的时候总是取到一个呢?
    你应该弄个别名试试!!!
      

  5.   

    hibernate也不是万能的啊,有时候要用sql
      

  6.   

    hibernate查询对别名的支持不是很好,两个都是id,无法区分
      

  7.   

    哥们你说的真的很对啊,确实是这样的,如果两个表中的字段相同他就会出错,sql语句中为每个id取不同的别名之后就没有问题了。