Session session = ((SessionFactory) BeanManagerFactory
.getBeanManager(BeanConfigName.BeanName_DAO).getBean(
"hibernate.oracle")).openSession();(BeanConfigName.BeanName_DAO).getBean("dao.dlgis.doc");

try {
String procedure = "{call PRC_GET_TB_DOC_ID(?) }";
CallableStatement cstmt; cstmt = con.prepareCall(procedure);
cstmt.registerOutParameter(1, Types.VARCHAR);
cstmt.execute();
tbDoc.setTp_id(cstmt.getString(1));
} catch (SQLException e) {

e.printStackTrace();
}

tbDoc.setTp_code(tbSubstation.getSt_code());
tbDoc.setTp_extname(".DOC");
tbDoc.setTp_type("文档");
tbDoc.setTp_table("TB_SUBSTATION");
FormFile formFile = tbSubstation.getDocfile();
try { 
    byte[] buf=formFile.getFileData();
    Blob ph= Hibernate.createBlob(buf);
    tbDoc.setTp_pic(ph);
} catch (Exception e) {      
            e.printStackTrace();  
        }
Transaction tx=session.beginTransaction();      
session.save(tbDoc);      
        tx.commit();
        try {         
con.close();
session.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}上面是我插入blob的语句,tomcat开启后第一次插入可以正常插入,可以执行第二次的时候就提示错误了。
2009-03-19 20:38:14.375|[http-8080-3]|ERROR||JDBCExceptionReporter|Io 异常: Software caused connection abort: socket write error
2009-03-19 20:38:14.390|[http-8080-3]|ERROR||JDBCExceptionReporter|无法从套接字读取更多的数据
2009-03-19 20:38:14.390|[http-8080-3]|ERROR||AbstractFlushingEventListener|Could not synchronize database state with session
org.hibernate.exception.GenericJDBCException: could not insert: [com.ze.dlgis.module.TbDoc]
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.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2267)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2660)
at org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:56)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:250)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:234)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:141)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
at com.ze.dlgis.action.SubstationAction.execute(SubstationAction.java:150)
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 com.ze.dlgis.security.AccessFilter.doFilter(AccessFilter.java:80)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.ze.dlgis.util.EncodingFilter.doFilter(EncodingFilter.java:37)
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)
不知道这个该如何解决?????????????????????????????????????????????
哪里出问题了??????????????????????????????