首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

getHibernateTemplate().getSessionFactory().openSession().createSQLQuery(strSql)解

2012-06-15 
getHibernateTemplate().getSessionFactory().openSession().createSQLQuery(strSql)用SSH框架,基于Hibern

getHibernateTemplate().getSessionFactory().openSession().createSQLQuery(strSql)
用SSH框架,基于HibernateDaoSupport的类,查询时用这种写法就不出错:

getHibernateTemplate().find("FROM Manager") ;

但是改成以下的代码就出错了:

Session oSess=this.getHibernateTemplate().getSessionFactory().openSession();
SQLQuery oQuery=oSess.createSQLQuery("SELECT * FROM Manager");
return oQuery.list();

执行到第二行就出错了。求指点

[解决办法]
直接这样获取session不行吗?
Session oSess = this.getSession();
再来创建Query!
[解决办法]
什么错误?
[解决办法]
1.看看Session是不是有问题
2.createSQLQuery 查询时SQL语句不是HQL 如果要查询HQL 改为createQuery("from Manager");
3.注意最后返回的对象List 如果你的是SQL的查询 对象肯定也是不正确的。
以上的LZ可以都按照我的该试试
[解决办法]
你要炒作session,正确的做法应该是:
getHibernateTemplate().executeFind(new HibernateCallback<Object>() {
@Override
public List<E> doInHibernate(Session session)throws HibernateException, SQLException {
 //这里写你的sql语句
 return 这里写要返回的结果;
}
});
[解决办法]
你是不是写的是HQL语句哦,数据库里面的表名不是Manager哦!!

热点排行