SSH(Hibernate3)在保存长字符串到Clob报错

问题描述

测试源码如下:ApplicationContextctx=newClassPathXmlApplicationContext("spring-config.xml");AdministrationhistoryServiceIadministrationhistoryService=(AdministrationhistoryServiceI)ctx.getBean("administrationhistoryService");SessionFactorysessionFactory=(SessionFactory)ctx.getBean("sessionFactory");Administrationhistoryash=newAdministrationhistory();ash.setId(UUIDUtil.getUUID());Strings1="1231dsdgasf范德萨范德萨范德萨范德萨d的飒飒大";Clobclob=Hibernate.getLobCreator(sessionFactory.openSession()).createClob(s1);ash.setOrganabstrat(clob);administrationhistoryService.save(ash);在保存的时候,执行到这行出错:administrationhistoryService.save(ash);错误如下:java.lang.AbstractMethodError:org.apache.commons.dbcp.DelegatingPreparedStatement.setCharacterStream(ILjava/io/Reader;J)Vatorg.hibernate.type.descriptor.sql.ClobTypeDescriptor$4$1.doBind(ClobTypeDescriptor.java:114)atorg.hibernate.type.descriptor.sql.BasicBinder.bind(BasicBinder.java:93)atorg.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java:280)atorg.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java:275)atorg.hibernate.type.AbstractSingleColumnStandardBasicType.nullSafeSet(AbstractSingleColumnStandardBasicType.java:57)atorg.hibernate.persister.entity.AbstractEntityPersister.dehydrate(AbstractEntityPersister.java:2786)atorg.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3064)atorg.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3509)atorg.hibernate.action.internal.EntityInsertAction.execute(EntityInsertAction.java:88)atorg.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:377)atorg.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:369)atorg.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:286)atorg.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:339)atorg.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:52)atorg.hibernate.internal.SessionImpl.flush(SessionImpl.java:1234)atorg.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:404)atorg.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.beforeTransactionCommit(JdbcTransaction.java:101)atorg.hibernate.engine.transaction.spi.AbstractTransactionImpl.commit(AbstractTransactionImpl.java:175)atorg.springframework.orm.hibernate4.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:554)atorg.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:755)atorg.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:724)atorg.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:475)atorg.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:270)atorg.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)atorg.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)atorg.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:91)atorg.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)atorg.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)atcom.sun.proxy.$Proxy25.save(UnknownSource)atcom.fangneng.test.ClobTest.test(ClobTest.java:58)atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)atjava.lang.reflect.Method.invoke(Method.java:606)atorg.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)atorg.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)atorg.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)atorg.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)atorg.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)atorg.junit.runners.ParentRunner$3.run(ParentRunner.java:231)atorg.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)atorg.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)atorg.junit.runners.ParentRunner.access$000(ParentRunner.java:50)atorg.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)atorg.junit.runners.ParentRunner.run(ParentRunner.java:300)atorg.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)atorg.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)哪位大哥帮解决下,不胜感激啊

解决方案

解决方案二:
自己顶啊,谢谢啊

时间: 2024-10-30 06:54:08

SSH(Hibernate3)在保存长字符串到Clob报错的相关文章

maven问题,在pom.xml配置ssh时spring有两个依赖包报错

问题描述 maven问题,在pom.xml配置ssh时spring有两个依赖包报错 //一条红线划着<>org.springframeworkspring-orm3.1.1.RELEASE <dependency>//一条红线划着<<dependency>> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> &l

急!用jdbc中executeQuery()方法执行查询为什么在程序中停顿很长时间,甚至报错。

问题描述 急!用jdbc中executeQuery()方法执行查询为什么在程序中停顿很长时间,甚至报错. 程序中的sql如以下: select t3.*,t1.costPrice as costP,t1.retailPrice as retailP,t1.basicPricing as basicP from goodsGroupCopy t1 left join groupCopyGoods t2 on t1.id = t2.goodsGroupCopyId left join goods t

eclipse-Eclipse的bebug模式下,修改代码,保存之后,整个文件报错

问题描述 Eclipse的bebug模式下,修改代码,保存之后,整个文件报错 Eclipse的bebug模式下,修改代码,保存之后,整个文件报错 ,有没有什么解决方法, clean之后还是存在这样的问题 解决方案 clean一下试试,不想代码错误 解决方案二: 楼上说得对,clean一下试试,我曾经也试过这样,有时候IDE会出现这种校验错误的情况.如果再不行,试试万能的restart-,- 解决方案三: 已解决,原因:java编译的时候是用jdk1.8的,但实际使用的是1.6的,导致保存之后发生

C#做了一个界面遇到了点问题,界面上有查询和保存两个按钮,当我查询出数据后,然后在界面上修改查询出的数据,可能修改的时候时间过长了,再点击保存的时候就会报错。

问题描述 解决方案 解决方案二:报神马错误?贴点代码,光看你的描述,怎么帮你?!解决方案三:把报错的信息贴出来,再把保存的代码贴出来.你是就想发一下牢骚呢,还是想解决问题呢.

java 字符串+冒号 不报错 什么意思 看不懂啊

问题描述 package other;import java.awt.*; import java.awt.event.*; import javax.swing.*; public class CardLayoutDemo implements ActionListener{ JPanel p1,p2,p3,p4; int i=1; JFrame f; public CardLayoutDemo(){ f=new JFrame();//当做top-level组件 Container conte

ssh整合报错404

问题描述 struts-config.xml<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEstruts-configPUBLIC"-//ApacheSoftwareFoundation//DTDStrutsConfiguration1.2//EN""http://struts.apache.org/dtds/struts-config_1_2.dtd"><

在SQL中获取一个长字符串中某个字符串出现次数的实现方法

以下是对在SQL中获取一个长字符串中某个字符串出现次数的实现方法进行了详细的分析介绍,需要的朋友可以参考下   在SQL中获取一个长字符串中某个字符串出现次数的实现方法 比如有个字符串: X-BGS-2010-09-15-001 我想知道其中'-'出现的次数,可以用下面的方法实现,而不需要复杂的一个个字符分析. declare @a varchar(100) set @a='X-BGS-2010-09-15-001' select len(replace(@a,'-','--'))-len(@a

使用Rope来高效处理长字符串

  前段时间看了这篇文章<Ropes:理论与实践>.这两天为了提高工作中某个系统对外接口的效率,才认真学习了一番.本质上Ropes是将字符串表示为一棵二叉树,特别适用于长字符串的处理,貌似c++ STL库中也有这么个实现.具体实现和原理还是看这篇paper.<Ropes:理论与实践>一文中给出的测试数据相当惊人,Ropes比之String和StringBuffer在append,insert,delete等操作上的效率都有一个数量级以上的差距.跑下作者给出的测试程序,其实在测试的字

编程c语言-字符串的分割以及分割后的字符串保存到字符串数组

问题描述 字符串的分割以及分割后的字符串保存到字符串数组 怎么能分割字符串并将他们分别保存到字符串数组里,c语言思路或者源代码 解决方案 #include <stdio.h> #include <string.h> void split(char **arr, char *str, const char *del) { char *s = strtok(str, del); while(s != NULL) { *arr++ = s; s = strtok(NULL, del);