List list=getSession().createSQLQuery(sql3).list()

解决方案 »

  1.   

    应该是这样........public List findById(String id) { 
    String sql3="from UserWord u where u.id=?";
    System.out.println("id is :  "+id); 
    List list=getHibernateTemplate().find(sql3,id); 
    return list; 

      

  2.   


    public List findById(String id) { 
    String sql3="from UserWord where id= ?"; 
    System.out.println("id is :  "+id); 
    List list=getHibernateTemplate().find(sql3,id); 
    return list; 
    } 用了条件还想全部查出来? 除非你的id值全是相同的
      

  3.   

    先按清楚 这个id是否是 是数据库的id  查一下  bean里面的id
      

  4.   

    这样试试:List list=getSession().createQuery(sql3).list();
      

  5.   

    其它参考解决方案:在hibernate.cfg.xml中加入<property name="show_sql">true</property>然后看一看你控制台的sql语句是否正确,看看能不能找到出此“异外”的原因?
      

  6.   

    List list=getHibernateTemplate().find("From UserWord where id=?,new Object[]{id}); 或者
    this.getSession.find("From UserWord where id=:id});
    this.getSession.setInteger("id",id);大概这样,方法名称记不住了.
      

  7.   

    首先要保证HQL的条件的id在UserWord里,另外我想知道你的那个id是Integer类型还是String,如果Integer,那么先把他转型把,
    public List findById(String id) { 
    //转型
    Integer id1=Integer.parseInt(id);String sql3="from UserWord where id= ?"; 
     
    List list=getHibernateTemplate().find(sql3,id1); return list; }