在向oracle保存对象的时候,报org.hibernate.exception.GenericJDBCException

dong880424 2011-06-21 04:20:13
(1621937 ms) [http-80-5] ERROR: org.hibernate.event.def.AbstractFlushingEventListener#performExecutions : Could not synchronize database state with session
org.hibernate.exception.GenericJDBCException: Could not execute JDBC batch update
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:126)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:114)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:275)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:266)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:167)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:365)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:137)
at org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:655)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:732)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:701)
at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:321)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:116)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:635)
at daheng.dao.BaseDao$$EnhancerByCGLIB$$4c06d477.add(<generated>)
at daheng.biz.ProductBiz.bc_product(ProductBiz.java:17)
at daheng.action.ProductAction.bc_product(ProductAction.java:155)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:441)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:280)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:243)
at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:252)
at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:179)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:130)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:165)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:179)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488)
at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
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:128)
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:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Caused by: java.sql.BatchUpdateException: ORA-01461: can bind a LONG value only for insert into a LONG column

at oracle.jdbc.driver.DatabaseError.throwBatchUpdateException(DatabaseError.java:367)
at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:8739)
at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeBatch(NewProxyPreparedStatement.java:1723)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)
... 81 more



这个对象里有一个content变量,存的都是HTML标签,我刚测试了一下应该不是特殊字符引起的,也去网上查了查,有说是内容过多.
但是我在entity实体类里并没有给这个变量规定长度,应该是无限长的.为什么会报错呢...
也有说是类型不符的.这个应该不是,因为短一些就可以保存..
求解..
项目是 s2sh+jquery的 数据库是 oracle9i
实体类的这个属性是

@Column
public String getProduct_content() {
return product_content;
}
public void setProduct_content(String productContent) {
product_content = productContent;
}
...全文
211 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
dong880424 2011-06-21
  • 打赏
  • 举报
回复
<p>
DH-ITS1420GC GigE接口数字摄像机</p>
<p>
DH-ITS-G系列摄像机是我公司专门针对智能交通应用特点开发的CCD数字摄像机。该系列产品通过100M/1000M以太网络传输图像数据和摄像机控制指令在仅使用常规双绞线的情况下,用户就可以在长达100米的距离内完成摄像机的设置和图像的采集与传输,搭建出成本低廉,安装简便的高性能应用系统。<br />
此外,该系列产品已内置了多种高级功能可供用户直接使用,如自动增益/自动曝光/自动白平衡调整、触发测速、闪光灯同步控制、工作参数组保存和自动加载、交通信号灯亮度自动同步等,能够满足道路监控、闯红灯抓拍、超速抓拍、智能卡口等各种全天候智能交通应用的需要。</p>
<p>
<strong>产品特点</strong><strong> </strong></p>
<ol>
<li>
<ul>
<li>
逐行扫描彩色CCD图像传感器,分辨率为140万像素</li>
<li>
全帧电子快门,曝光时间可编程设置</li>
<li>
1000M/100M网自动适应,支持热插拔</li>
<li>
支持包长调节,可有效降低对带宽的占用</li>
<li>
支持多种采集方式:</li>
</ul>
<ol>
<li>
<ol>
<li>
连续采集</li>
<li>
一次触发单帧采集</li>
<li>
一次触发多帧采集</li>
</ol>
</li>
</ol>
<ul>
<li>
3路可编程光耦隔离输入,支持多种触发方式:</li>
</ul>
<ol>
<li>
<ol>
<li>
外同步触发</li>
<li>
软触发</li>
<li>
测速触发</li>
</ol>
</li>
</ol>
<ul>
<li>
3路可编程光耦隔离输出,可输出闪光灯控制信号实现摄像机曝光与闪光灯补光的精确同步</li>
<li>
多种内置的高级功能:</li>
</ul>
<ol>
<li>
<ol>
<li>
自动增益、自动曝光、自动白平衡</li>
<li>
可编程查找表, 支持手动调节图像颜色</li>
<li>
红灯校正</li>
<li>
交通信号灯亮度自动同步</li>
<li>
频闪灯功能</li>
<li>
工作参数保存和自动上电加载</li>
</ol>
</li>
</ol>
<ul>
<li>
紧凑坚固的全金属外壳提供更好的环境适应性</li>
<li>
支持Windows/Linux系统,提供已优化的驱动软件包</li>
<li>
支持多种开发工具,提供免费的SDK和丰富的二次开发实例</li>
</ul>
</li>
</ol>



晕死啊! 没有特殊字符也包 inserted value too large for column

我都不高不清楚到底是什么错了! 来个人帮帮吧
dong880424 2011-06-21
  • 打赏
  • 举报
回复
<table border="1" cellpadding="0" cellspacing="0" width="591">
<tbody>
<tr>
<td>
<a>
</fh><a>
</td>
</tr>
<tr>
<td>
<p>
 </p>
</td>
</tr>
<tr>
<td>
1</td>
</tr>
</tbody>
</table>



只有这么一点东西 他竟然报 inserted value too large for column
插入的数据过大
dong880424 2011-06-21
  • 打赏
  • 举报
回复
不是长度问题,还是字符的问题,可是测试了半天还是不确定是哪里的错..
acertang 2011-06-21
  • 打赏
  • 举报
回复
不要用hibernate的save()方法,写个SQL直接插入。用hibernate的SAVE有时就会出现这个问题,具体原因我也不清楚
dong880424 2011-06-21
  • 打赏
  • 举报
回复
看数据库的话是varchar2 怎么把他改成nvarchar2呢?
话说我在实体类直接是string反向生成的表,也不是手动写的. = =
SIOSXIAOQIANG 2011-06-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 dong880424 的回复:]
不到1万个字符一个oracle都存不下么
[/Quote]
要看你数据库的类型了,还有长度限制;
1、如果是varchar2(10000)的话,建议改成NVARCHAR2(10000);
2、要是插入1W字的话,建议使用blob类型定义。
dong880424 2011-06-21
  • 打赏
  • 举报
回复
不到1万个字符一个oracle都存不下么
解未知数 2011-06-21
  • 打赏
  • 举报
回复
实体类里并没有给这个变量规定长度
但是数据库里面有长度限制..

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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