protected  HibernateSessionFactory sessionFactory;
public List<Siteuser> getsiteuser(int bh ,int schoolbh) throws Exception {
Configuration cfg=new Configuration().configure();

    SessionFactory sf= cfg.buildSessionFactory();
Session  session=sf.openSession();
List l=null;
String sql=" from Siteuser where bh=? and schoolbh=?";
Query q = session.createQuery(sql);
 q.setInteger(0, bh);
 q.setInteger(1, schoolbh);
l=q.list();
return l;
}
调用这个方法,为什么取的数据都为空

解决方案 »

  1.   

    都有执行到这 步
    Hibernate: select siteuser0_.BH as BH0_, siteuser0_.SchoolBH as SchoolBH0_, siteuser0_.parentbh as parentbh0_, siteuser0_.Name as Name0_, siteuser0_.level as level0_, siteuser0_.temp1 as temp6_0_, siteuser0_.temp2 as temp7_0_, siteuser0_.temp3 as temp8_0_ from JXT.dbo.J_njbj siteuser0_ where siteuser0_.BH=? and schoolbh=?
      

  2.   

    我感觉这个变量List l=null应该放在全局变量吧。
      

  3.   

    List<Siteuser> l=new ArrayList<Siteuser>();
    这样声明。
    你没有把实体类传进去昂。
      

  4.   

    List<Siteuser> l=new ArrayList<Siteuser>();
    这样声明。
    你没有把实体类传进去昂。 改成这样也一样取值为空
      

  5.   

    那就是sql语句。你的参数传进去了吗?设置断点调一下,能否取到参数值。
      

  6.   

    判读下,就可以试出到底你sql查出来的是什么了。 
    if(q.list().size()>0){
    l=q.list(); 
    }else{
    提示一下
    }就可以了
      

  7.   

    参数有传进去,就是为什么q.list()总为空
      

  8.   

    解决了,是sql连接到2000去了,汗