hibernate问题:java.sql.SQLException: could not reset reader

hepeng19861212 hepeng19861212 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

//已知一个Blob类型的photo,要在jsp页面显示所对应的图片
public void showPhoto(){
InputStream is = null;
OutputStream os = null;
byte[] buffer = null;
//get response
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("image/jpeg");
try{
// if(examinee != null){
// System.out.println("examinee:"+examinee);//examinee是该方法所在的类的属性。
// HibernateSessionFactory.getSession().refresh(examinee, LockMode.WRITE);
// }
is = photo.getBinaryStream();//就是在这里报的错。photo是Blob类型
os = response.getOutputStream();
buffer = new byte[1024];
int bytesRead = 0;
while((bytesRead = is.read(buffer)) != -1){
os.write(buffer);
System.out.println("hepeng:outputStream writes "+bytesRead+" bytes!");
}
response.flushBuffer();
os.close();
is.close();

}
catch(SQLException e){
e.printStackTrace();
}
catch(IOException e){
e.printStackTrace();
}
}

报错信息:

java.sql.SQLException: could not reset reader
at org.hibernate.lob.BlobImpl.getBinaryStream(BlobImpl.java:106)
at org.hibernate.lob.SerializableBlob.getBinaryStream(SerializableBlob.java:62)
at com.hepeng.javabean.UserInfo.showPhoto(UserInfo.java:136)
at org.apache.jsp.registerSuccess_jsp._jspService(registerSuccess_jsp.java:93)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
at org.apache.struts2.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:139)
at org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:178)
at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:348)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:253)
at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:221)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:150)
..............................
...全文

相关推荐

电动助力转向系统建模仿真中的控制策略与转向柱动力学研究(Matlab代码、Simulink仿真实现)

内容概要:本文系统解读了一套完整的多机器人路径规划(MAPF)MATLAB代码库,聚焦于基于优先级规划的无冲突轨迹生成方法。该框架将求解过程划分为几何、拓扑、调度与呈现四个解耦层次,涵盖地图解析、四邻域拓扑与Petri网构建、优先级启发式路径规划、时间同步与冲突消解,以及动画可视化等环节。其核心技术包括动态边权膨胀、节点预留历史、几何惩罚驱动的局部同步机制,有效提升了路径规划的效率与可行性。同时,框架支持Petri网双阶段整数规划求解,并提供完整的可视化链路,适用于仓储物流、无人机编队、自动驾驶等应用场景。; 适合人群:具备一定编程基础,熟悉MATLAB/Simulink环境,从事机器人、自动化、智能交通等领域研究的研发人员与高校研究生。; 使用场景及目标:① 学习并实现多智能体无冲突路径规划算法;② 研究动态边权膨胀、节点预留、Petri网建模等关键技术在路径规划中的应用;③ 借助可视化模块进行算法行为分析与教学演示;④ 在仓储调度、无人机编队等实际场景中进行算法迁移与二次开发。; 阅读建议:建议读者按照文档组织顺序,从总体架构入手,逐步深入各模块实现细节,重点关注优先级启发式设计、冲突消解机制与Petri网建模的接口逻辑,并结合提供的示例代码进行调试与可视化验证,以全面掌握框架的设计思想与工程实现要点。

然哥爱编程

基于spring boot+vue的共享农机管理系统的设计与实现_q20upn14毕业设计源码数据库.zip

基于spring boot+vue的共享农机管理系统的设计与实现_q20upn14毕业设计源码数据库.zip

源码论文专家

62Linux文件下载工具wget详解.docx

62Linux文件下载工具wget详解

云计算练习生

【基于优化算法的光伏系统】基于光伏系统(由光伏、电池、转换器、PI 控制器、逆变器和充电控制器组成)的 Simulink 模型

内容概要:本文介绍了一个基于优化算法的光伏系统Simulink模型,该系统由光伏阵列、蓄电池、DC-DC转换器、PI控制器、逆变器及充电控制器等核心部件构成,旨在通过Matlab/Simulink平台实现对光伏发电系统的建模、控制与仿真分析。模型重点体现了最大功率点跟踪(MPPT)控制策略与能量管理机制,利用PI控制器调节电压电流以实现系统稳定运行,并通过仿真验证系统在不同光照和负载条件下的动态响应特性与能量转换效率。该模型为研究光伏系统的稳定性、能效优化及并网控制提供了可靠的仿真基础。; 适合人群:具备一定电力电子、自动控制理论及Matlab/Simulink仿真基础的高校研究生、科研人员及从事新能源系统设计的工程技术人员。; 使用场景及目标:①用于教学实验中帮助学生理解光伏发电系统的工作原理与控制策略;②支撑科研项目中对新型控制算法(如改进MPPT、储能协调控制)的验证与对比分析;③为光伏微网系统的设计与优化提供仿真验证工具。; 阅读建议:建议读者结合Matlab/Simulink环境动手搭建与调试模型,重点关注各模块之间的信号传递关系与控制逻辑实现,同时可尝试引入不同优化算法对PI参数整定或能量管理策略进行改进,以深化对系统动态特性的理解。

荔枝科研社

Vue基于springboot和vue的家校互动平台_vhq1a3g2毕业设计源码数据库.zip

Vue基于springboot和vue的家校互动平台_vhq1a3g2毕业设计源码数据库.zip

源码论文专家
评论 6
收藏 已收藏
分享
返回顶部
hepeng19861212
Java EE 67,535 成员 225,843 内容