Hibernate3提醒Session is closed
Hibernate3提示Session is closed
我把session.close()不注释的时候提示Session is already closed,估计是session.commit()的时候自动关闭了,但是注释了的话还是出错,
不过奇怪的是如果执行else{...}中的分支不出错!
public void save(ScClassSort instance) { log.debug("saving ScClassSort instance"); Session session = null; Transaction tx = null; try { session = getSession(); tx = session.beginTransaction(); if (instance.getParentId()!=0) { //这个分支出错! ScClassSort parent = findById(instance.getParentId()); instance.setChild(0); instance.setDepth(parent.getDepth()+1); instance.setParentDir(parent.getParentDir()+parent.getDir()+"/"); instance.setParentPath(parent.getParentPath()+","+parent.getId()); System.out.println(instance); session.save(instance); parent.setChild(parent.getChild()+1); System.out.println(parent); session.update(parent); } else { //这个分支不出错! instance.setChild(0); instance.setDepth(0); instance.setParentDir("/"); instance.setParentPath("0"); System.out.println(instance); session.save(instance); } tx.commit(); log.debug("save successful"); } catch (RuntimeException re) { if(tx!=null) { tx.rollback(); } log.error("save failed", re); throw re; } finally { //session.close(); } }
我把session.close()不注释的时候提示Session is already closed,估计是session.commit()的时候自动关闭了,但是注释了的话还是出错,
不过奇怪的是如果执行else{...}中的分支不出错!