CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  框架、开源

hibernate查询数据库没有问,但写数据库就出现下面错误

楼主cer(大侠(cer))2006-04-02 15:01:25 在 Java / 框架、开源 提问

环境:  
  tomcat4.1.29  
  hibernate-3.0  
  jdk1.4.2  
  mysql   4.0.21  
  Servlet2.3  
  red   hat   9.0  
   
  我在网上查过这个问题,大部分都说:用JDBC   3.0   就可了,   也就是用mysql-connector-java3.0.10-stable-bin.jar  
   
  问题来了:  
  1.我项目的lib内的mysql-connector已是:mysql-connector-java-3.1.12-bin.jar  
   
  2.我是购买的虚拟主机,我无权更改服务器上tomcat的设置,也就是无权将mysql-connector-java-3.1.12-bin.jar考到tomcat的lib目录下,  
   
  请问现在我应怎样解决?  
   
   
  java.lang.AbstractMethodError:   com.mysql.jdbc.jdbc2.Connection.prepareStatement(Ljava/lang/String;[Ljava/lang/String;)Ljava/sql/PreparedStatement;    
            at   sun.reflect.NativeMethodAccessorImpl.invoke0(Native   Method)    
            at   sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)    
            at   sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)    
            at   java.lang.reflect.Method.invoke(Method.java:324)    
            at   org.hibernate.util.GetGeneratedKeysHelper.prepareStatement(GetGeneratedKeysHelper.java:45)    
            at   org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:435)    
            at   org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:93)    
            at   org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:1948)    
            at   org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2398)    
            at   org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:37)    
            at   org.hibernate.engine.ActionQueue.execute(ActionQueue.java:243)    
            at   org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:269)    
            at   org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:167)    
            at   org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:101)    
            at   org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:186)    
            at   org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:175)    
            at   org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:98)    
            at   org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)    
            at   org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:531)    
            at   org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:523)    
            at   org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:519)    
            at   com.websound.demo.service.UserServiceImpl.saveQuestion(UserServiceImpl.java:420)    
            at   com.websound.demo.actions.QuestionNewSaveAction.executeAction(QuestionNewSaveAction.java:42)    
            at   com.websound.demo.framework.BaseAction.execute(BaseAction.java:159)    
            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:1196)    
            at   org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)    
            at   javax.servlet.http.HttpServlet.service(HttpServlet.java:760)    
            at   javax.servlet.http.HttpServlet.service(HttpServlet.java:853)    
            at   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)    
            at   org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:98)    
            at   org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:176)    
            at   java.security.AccessController.doPrivileged(Native   Method)    
            at   org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:172)    
            at   com.websound.demo.framework.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:29)    
            at   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)    
            at   org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:98)    
            at   org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:176)    
            at   java.security.AccessController.doPrivileged(Native   Method)    
            at   org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:172)    
            at   org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)    
            at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)    
            at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)    
            at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)    
            at   org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)    
            at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)    
            at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)    
            at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)    
            at   org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2417)    
            at   org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)    
            at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)    
            at   org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)    
            at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)    
            at   org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)    
            at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)    
            at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)    
            at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)    
            at   org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)    
            at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)    
            at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)    
            at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)    
            at   org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:193)    
            at   org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:309)    
            at   org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:387)    
            at   org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:673)    
            at   org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:615)    
            at   org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:786)    
            at   org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:666)    
            at   java.lang.Thread.run(Thread.java:534) 问题点数:100、回复次数:14Top

1 楼onkey1999(忆江南信息网:http://www.donfor.com|2006冲刺NET)回复于 2006-04-02 15:20:01 得分 0

期待源代码的发布,呵~!学习Top

2 楼Saro(这也不是江水,这是二十年流不尽的英雄血。)回复于 2006-04-02 15:26:00 得分 50

1.我项目的lib内的mysql-connector已是:mysql-connector-java-3.1.12-bin.jar  
  -------------  
  那就可以了啊?为什么要把它放在tomcat的lib下。你是怎么得到dataSource的?Top

3 楼cer(大侠(cer))回复于 2006-04-02 15:49:13 得分 0

但写数据库还是不行啊...都是报上面的错  
  我没用到dataSource  
   
  我要把它放在tomcat的lib下是在网上查了别人的说是这样:  
   
  http://spring.jactiongroup.net/viewtopic.php?t=629&highlight=&sid=538e1b56c43d8b51b8b10496d97299bbTop

4 楼Saro(这也不是江水,这是二十年流不尽的英雄血。)回复于 2006-04-02 17:54:21 得分 0

应该是jar加载的顺序问题,加载了老版本的驱动。  
   
  创建   MAINFEST.MF   文件,写入:  
  Manifest-Version:   1.0  
  Created-By:   Sun  
  Class-Path:   a.jar  
  Class-Path:   b.jar  
  Class-Path:   c.jar  
  ...............  
   
  把所有依赖包都写进去  
   
  然后把你项目的所有的class打成jar包,打包的时候把上面的mf文件包含进入(参考jar   -help),和依赖包放在lib目录,classes目录清空。  
  试试看,看是否能行。  
  Top

5 楼cer(大侠(cer))回复于 2006-04-03 08:58:15 得分 0

我试试,谢谢   :   Saro(这也不是江水,这是二十年流不尽的英雄血。)Top

6 楼cer(大侠(cer))回复于 2006-04-03 10:02:10 得分 0

试了一下,还是不行啊Top

7 楼dreams1981(子山)回复于 2006-04-03 10:11:12 得分 50

关注...Top

8 楼cer(大侠(cer))回复于 2006-04-03 10:29:33 得分 0

提示这样的错误:  
  2006-4-3   10:13:38   java.util.jar.Attributes   read  
  警告:   Duplicate   name   in   Manifest:   Class-PathTop

9 楼Saro(这也不是江水,这是二十年流不尽的英雄血。)回复于 2006-04-03 11:00:51 得分 0

警告:   Duplicate   name   in   Manifest:   Class-Path  
  你定义了相同名字的Class-Path.检查一下mf文件  
  另外   注意一下顺序。Top

10 楼cer(大侠(cer))回复于 2006-04-03 11:37:31 得分 0

应是不能有多个Class-Path,我现在这样处理的,只有一个Class-Path,然后多个.jar之间用空格分开,然后换行,在本地没问题了...已传到服务器...希望没有问题....  
   
   
  另外,多个jar还有顺序问题吗?Top

11 楼Saro(这也不是江水,这是二十年流不尽的英雄血。)回复于 2006-04-03 12:36:07 得分 0

那应该是我弄错了,我只是在以前部署ejb时候弄过manifest.mf文件。多个jar我记得应该是有顺序的,没有也没关系,多试试吧。Top

12 楼cer(大侠(cer))回复于 2006-04-03 12:44:08 得分 0

OK...主要是我买的虚拟机...没办法让我多试啊Top

13 楼cer(大侠(cer))回复于 2006-04-03 19:53:19 得分 0

我今天在本机用jdbc2.0代替jdbc3.0后发现根本不能查询,所以应不是jdbc的问题,我现在的情况是,只能查询数据库,但不能写数据,这是为什么啊?Top

14 楼cer(大侠(cer))回复于 2006-04-04 19:17:08 得分 0

问题找到了,是由于当前环境不支持,数据库自动编号,换存uuid就可以了Top

相关问题

关键词

得分解答快速导航

  • 帖主:cer
  • Saro
  • dreams1981

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo