100分求助:org.hibernate.exception.GenericJDBCException: could not execute query

sangqing 2007-04-02 10:34:15
我写的程序在大部分时间都是可以正确运行的,但有时报下面的异常
org.hibernate.exception.GenericJDBCException: could not execute query

我是用struct+hibernate+oracle9i开发的
JDBC的驱动是:ojdbc14.jar

请高手看下是驱动的问题还是别的地方的问题,我用的是hibernate自带的连接池,
我的QQ为:463534885,分不够再加
...全文
10149 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
L369017760 2012-05-24
  • 打赏
  • 举报
回复
Hibernate: select this_.rtid as rtid1_0_, this_.title as title1_0_, this_.qxid as qxid1_0_, this_.jdid as jdid1_0_, this_.rent as rent1_0_, this_.shi as shi1_0_, this_.ting as ting1_0_, this_.phone as phone1_0_, this_.fwxx as fwxx1_0_, this_.renttype as renttype1_0_, this_.auther as auther1_0_, this_.publishDate as publish12_1_0_ from seek.Rentmassage this_ where this_.qxid=? and this_.jdid=? and this_.rent between ? and ? and this_.shi=? and this_.ting=? and this_.renttype=? and this_.publishDate>=? order by this_.publishDate desc
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:2223)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
at org.hibernate.loader.Loader.list(Loader.java:2099)
at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:94)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1569)
at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283)
at com.lms.dao.SelectRentMassageDao.getRentMassgeList(SelectRentMassageDao.java:52)
at com.lms.action.SelectRentMassgeAction.execute(SelectRentMassgeAction.java:63)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:124)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:124)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)


我的也是啊 求解啊
qq:369017760
ZDP 2012-05-22
  • 打赏
  • 举报
回复
我今天遇到这个问题,现在找出问题了:我在hibernate.cfg.xml中配置了
<!-- <property name="jdbc.fetch_size">50</property> 一次读的数据库记录数 -->
<!-- <property name="jdbc.batch_size">30</property> 设定对数据库进行批量删除 -->
这两个,注释掉,重试就好了.不知道对你们有木有帮助!
freemuous 2011-11-25
  • 打赏
  • 举报
回复
...我想知道结果。。。
S_tuotuoa 2010-11-08
  • 打赏
  • 举报
回复
解决了跟我说说!!QQ:562994952,我也遇到这个问题,很久都没解决
S_tuotuoa 2010-11-08
  • 打赏
  • 举报
回复
关注!
shuxuzui 2009-09-08
  • 打赏
  • 举报
回复
我的不行啊,我的打datasource是配置在hibernate.cfg.xml里面的
<property name="myeclipse.connection.profile">zui</property>
<property name="connection.url">
jdbc:sqlserver://localhost:1433;databaseName=epai
</property>
<property name="connection.username">naizui</property>
<property name="connection.password">123</property>
<property name="connection.driver_class">
com.microsoft.sqlserver.jdbc.SQLServerDriver
</property>
<property name="dialect">
org.hibernate.dialect.SQLServerDialect
</property>

我的也是这个错。。哎。。还没解决
shuxuzui 2009-09-08
  • 打赏
  • 举报
回复
我的不行啊,我的打datasource是配置在hibernate.cfg.xml里面的
<property name="myeclipse.connection.profile">zui</property>
<property name="connection.url">
jdbc:sqlserver://localhost:1433;databaseName=epai
</property>
<property name="connection.username">naizui</property>
<property name="connection.password">123</property>
<property name="connection.driver_class">
com.microsoft.sqlserver.jdbc.SQLServerDriver
</property>
<property name="dialect">
org.hibernate.dialect.SQLServerDialect
</property>

我的也是这个错。。哎。。还没解决
楼主 2009-02-27
  • 打赏
  • 举报
回复
我也遇到了一样的问题 16楼正解
jakeweny 2008-03-11
  • 打赏
  • 举报
回复
结贴了,不知道你的问题解决了吗?
我的答案不知道帮到你没有!
sangqing 2008-02-20
  • 打赏
  • 举报
回复
不好意思,因为好久都没上,分马上给
coder000 2007-10-31
  • 打赏
  • 举报
回复
也可能是hbm.xml中的数据类型出了问题吧~~
导致sql不能执行
jakeweny 2007-10-24
  • 打赏
  • 举报
回复
这个是我以前遇到过的问题,我当时就是按照上面的解决的!
我上面的回复在13楼啊,楼主不厚道,不结贴!!!不给分啊!!!
鑫鑫_ 2007-08-01
  • 打赏
  • 举报
回复
驱动错了吧~ 应该是class12.jar
jakeweny 2007-08-01
  • 打赏
  • 举报
回复
这个问题是你的hibernate配置文件的问题。
解决方法如下:
把applicationContext.xml文件(当然也许你是别的xml文件)
里面的
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName">
<value>net.sourceforge.jtds.jdbc.Driver</value>
</property>
</bean>

......
全部改成一条语句的形式,如下:
</bean>
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="net.sourceforge.jtds.jdbc.Driver"/>

<property name="url" value="jdbc:jtds:sqlserver://localhost:1433/FundTransaction"/>

<property name="username" value="sa"/>
</bean>

改过之后重新部署,运行。
成功..

解释:
这个问题一般是因为你的hibernate本身的问题,当它读取这些<bean>时,它会
先查找父级的,然后才是子级的,但是有的时候读取子级可能会因为项目的原因,延迟或者是
其他,导致读取不到子级的东西。所以connection无法建立,报了如此Exception

所以你其他项目运行,大部分情况下是正常的。
如果你怕还有这个问题出现,建议你可以把所有的项目的hibernate配置文件都改成一条显示.
sangqing 2007-05-23
  • 打赏
  • 举报
回复
有没牛人来解决一下这个问题??
谜斯特段 2007-04-06
  • 打赏
  • 举报
回复
应该看看不好用时与好用时执行的操作有什么不同。
HappinessBoy 2007-04-05
  • 打赏
  • 举报
回复
学习。如果解决了,贴出来看看。
sangqing 2007-04-05
  • 打赏
  • 举报
回复
难道真的是hql语句的原因??
lookoneyear 2007-04-04
  • 打赏
  • 举报
回复
hql语句那样写有时是会出问题的,想办法改成这种形式String hql = "from UserInfo where autoId= ?";
zudy99 2007-04-04
  • 打赏
  • 举报
回复
关注
加载更多回复(6)

67,518

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧