在hibernate中,HibernateTemplate对象执行find(String sql)返回空值,可是用其sql到数据库中去查却能查询到值,不知道是怎么回事?

解决方案 »

  1.   

    select o from User o where o.usrName='admin' and o.usrPassword = 'pass' 
      

  2.   

    朋友你的select o from User o where o.usrName='admin' and o.usrPassword = 'pass'是sql语句不是HQL语句find()支持的是HQL语句你改为:from User usrName=? and usrPassword =?,new String[]{"admin","pass"};是你对象里的属性,我不知道是不是这个,你根据你的改
      

  3.   

    HibernateTemplate.find("from User usrName=? and usrPassword =?",new String[]{"admin","pass"});
      

  4.   

    HibernateTemplate.find("from User usrName=? and usrPassword =?",new String[]{"admin","pass"});
      

  5.   

    hql简单应用的例子
    传单一参数:
    this.getHibernateTemplate().find("from User u where u.usrName=?", "admin");
    传多个参数:
    String hql= "from User u where u.usrName=? and u.usrPassword=?"
    this.getHibernateTemplate().find(hql, new String[]{"admin", "pass"});
      

  6.   

    它应该是HibernateTemplate.find(hql)应该是返回一个List<Object>集合吧,你可以判断这个集合 size()是不是等于一来判断,如果不是一的话,肯定是登陆失败的