使用 Hibernate 的 update()方法出现奇怪的有关问题
阅读
DAO中,我写了个 update 方法 如下:
- Java code
/** * 自己写的更新记录函数 */ public boolean UpdateOperatorInfo(OperatorInfo operatorinfo){ boolean b=false; Session session=(Session) this.getSession(); Transaction tron=session.beginTransaction(); try{ OperatorInfo opinfo=new OperatorInfo(); session.load(opinfo, operatorinfo.getOperatorId()); opinfo.setOperatorName(operatorinfo.getOperatorName()); opinfo.setOperatorPwd(operatorinfo.getOperatorPwd()); opinfo.setIsAdmin(operatorinfo.getIsAdmin()); session.update(opinfo); //session.flush(); tron.commit(); b=true; }catch(HibernateException e){ if(tron!=null){ tron.rollback(); e.printStackTrace(); } }finally{ session.close(); } return b; }
然后我在jsp页面中调用 更新数据库中的 operator表
jsp页面的代码如下:
- Java code
<%@ page language="java" pageEncoding="utf-8" import="pojo.OperatorInfo,pojo.OperatorInfoDAO,java.util.Iterator"%> <%request.setCharacterEncoding("utf-8"); %> <% String s_id=request.getParameter("id"); String name=request.getParameter("name"); String pwd=request.getParameter("pwd"); String isno=request.getParameter("isno"); name=name.trim(); pwd=pwd.trim(); isno=isno.trim(); OperatorInfoDAO opdao=new OperatorInfoDAO(); OperatorInfo opinfo=new OperatorInfo(); opinfo.setOperatorId(Integer.parseInt(s_id)); opinfo.setIsAdmin(isno); opinfo.setOperatorName(name); opinfo.setOperatorPwd(pwd); //out.println(opinfo.getOperatorId()); if(opdao.UpdateOperatorInfo(opinfo)){ response.sendRedirect("addoperator.jsp"); }else{ out.println("你必须手动刷新一下本页才能更新成功,为什么,我也不知道"); } //opdao.attachDirty(opinfo); //response.sendRedirect("addoperator.jsp"); %>
问题出来了,点击更新之后,首先显示更新失败,然后 你手动刷新几下网页,才能更新成功。 每次都得刷新几下才行,我的电脑不关机,你可以访问我的电脑运行一下看看,到底是怎么回事,我用的 TOMCAT 5.5 MSSQL2000
访问我电脑的地址是:http://www.cao123.cn:8080/cn_mobile/addoperator.jsp
进去之后,点 更新 查看病灶。删除倒是正常,就是那个更新操作,真郁闷了,请求大家帮助下,谢谢! 明天过来重谢!
------解决方案--------------------
1,更新失败的异常是什么?
2,就更新操作的话,搞不懂为什么要先从数据库中取出数据,封装成对象,更新对象的属性,再持久化到数据库 呢?一条简单的SQL并且只操作一次数据库不就搞定了呀..我不太明白.
------解决方案--------------------
session.flush()
是需要执行的。
------解决方案--------------------
加载延时问题.网上找找.有相应的办法.或打我qq:427731398
阅读
上一篇:WEBLOGIC和ORAVLE解决思路 下一篇:返回列表