Hibernate 数据库执行SQL问题
qmwuu 2009-03-21 12:24:11 我用Hibernate连接池,连接MSSQL 2000的数据库。目前提示如下的问题,不知道是什么问题。SQL语句是正常的,没有问题,我已经单独在SQL中执行过。我也已将MSSQLSERVER相关的3个jar文件更新了。但是还是有如下的问题,请教各位:
org.hibernate.exception.GenericJDBCException: could not execute query
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.loader.Loader.doList(Loader.java:2148)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029)
at org.hibernate.loader.Loader.list(Loader.java:2024)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:375)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:308)
at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:153)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1106)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
at com.success.util.hibernate.HibernateMgr.findAll(HibernateMgr.java:111)
at com.success.logic.action.PictureAction.findAll(PictureAction.java:52)
at com.success.framework.BaseAction.listall(BaseAction.java:198)
at com.success.framework.BaseAction.dispatch(BaseAction.java:155)
at com.success.framework.BaseAction.execute(BaseAction.java:103)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1192)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:412)
PictureAction.findAll()
{
hsql="from com.success.logic.dbform.ItemPicture o,Device d where o.itemId=7 and o.deviceId=d.id order by o.pictureName asc"
request.setAttribute("forms", HibernateMgr.findAll(hsql));
}
HibernateMgr.findall(String hql) throws Exception
{
Session session = getSession();
try {
Query query = session.createQuery(hql);
List list = query.list(); <------执行到词句的时候提示上面的错误
return list;
} catch (Exception e) {
throw e;
} finally {
Connection conn = session.connection();
if (session != null){
session.close();
}
if (conn !=null){
conn.close();
}
}
}
}