public List findAllUpd() {
try{

Session session=this.getSession();

String sql="select a.nt_id,a.nt_name,b.nt_name,a.nt_flag from newstype a left join newstype b on a.nt_up = b.nt_id";

Query query=session.createSQLQuery(sql);

List list=query.list();
return list;

}catch(RuntimeException re)
{
throw re;
}


}这条语句在项目里查询出来的数据和我在sql中运行查出来的数据不一样...a.nt_name 和b.nt_name的值是一样的...  但是在sql中不一样 我想要的效果也实现不了请问这是为啥?  该如何解决

解决方案 »

  1.   

    有这么怪?
    是不是排序问题,你觉得不一样了,同一条sql语句结果不一样,那只能说数据发生变化了
      

  2.   

    可以肯定的说我运行的sql语句完全一样...
    是不是hibrnate搞的鬼??  项目是SSH框架的
      

  3.   

    hibernate不能用join连接2张表,用from table1 a,table2 b whera a.id=b.id
      

  4.   

    换成trim(a.nt_up) = trim(b.nt_id)试试。不过我觉得也不可能,程序执行的结果应该跟直接运行的结果一样才对。。
      

  5.   

    可能原因:A表和B表不是一一对应的关系,也就是说你的A表和B表是一对多或多对多的关系,建议将left join 改成inner join ,再试试看。