碰到一件奇怪的事情 。 最近在整一个系统(SSH),都是关于表单分步提交的,头晕,发现前面几步表单提交都是正常的,到最后一步碰到一件头痛的事情 ,表单(取个名字表单A)怎么提交都无法更新数据 后来调试程序发现, 執行这句话(Transaction tr=session.beginTransaction())的时候停止了,不能往下走,也没有报错 ---- 不知道为什么? 后来写了个测试类 直接引用spring配置文件运行却可以执行以下方法。 就是运行在tomcat上出现这等怪事。(配置文件是没问题的)。另外表单A刷新再提交,连提交都提交不了(action都不能调用)。重新部署才可以。 是不是 session 出现问题了,导致事物都没法开启了。但是调试的发现session 读写不是空的。 请教下各位有没有碰到这类似的情况 是怎么搞定的?
谢谢了。代码如下:
               String hql = "update VAppBaseT as t set t.checkingFlag=? where t.appId=? ";
Session session = super.getSession(true);
Transaction tr=session.beginTransaction();
try {
Query q = session.createQuery(hql);

q.setString(0, checkflag);
q.setString(1, appId);

       q.executeUpdate();
       tr.commit();

} catch (HibernateException  e) {
e.printStackTrace();
}

解决方案 »

  1.   

    你说TomCat配置没有问题,而且后台连异常都没有,比较奇怪。
    既然表单都提交不了,就把代码也贴上来吧
      

  2.   

    Session session = super.getSession(true); 
    try { 
          session.beginTransaction(); 
          VAppBaseT v = session.load(VAppBaseT.class, appId);
          v.setCeckingFlag(checkingFlag);
          session.update(v);
          session.closeTransaction();} catch (HibernateException  e) { 
          e.printStackTrace();
    }
    试试这么写