首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

Hibernate3提醒Session is closed

2012-11-15 
Hibernate3提示Session is closedpublic void save(ScClassSort instance) {log.debug(saving ScClassSor

Hibernate3提示Session is closed

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{...}中的分支不出错!

热点排行