用SSH框架,基于HibernateDaoSupport的类,查询时用这种写法就不出错:getHibernateTemplate().find("FROM Manager") ;但是改成以下的代码就出错了:Session oSess=this.getHibernateTemplate().getSessionFactory().openSession();
SQLQuery oQuery=oSess.createSQLQuery("SELECT * FROM Manager");
return oQuery.list();执行到第二行就出错了。求指点

解决方案 »

  1.   

    直接这样获取session不行吗?
    Session oSess = this.getSession();
    再来创建Query!
      

  2.   

    1.看看Session是不是有问题
    2.createSQLQuery 查询时SQL语句不是HQL 如果要查询HQL 改为createQuery("from Manager");
    3.注意最后返回的对象List 如果你的是SQL的查询 对象肯定也是不正确的。
    以上的LZ可以都按照我的该试试
      

  3.   

    你要炒作session,正确的做法应该是:
    getHibernateTemplate().executeFind(new HibernateCallback<Object>() {
    @Override
    public List<E> doInHibernate(Session session)throws HibernateException, SQLException {
     //这里写你的sql语句
     return 这里写要返回的结果;
    }
    });
      

  4.   

    你是不是写的是HQL语句哦,数据库里面的表名不是Manager哦!!