正常情况下不是程序运行正常用commit()方法,抛出异常程序回滚,用rollback()方法么?

我想问一下session变量是在try里面的,在finally会报错的
恩,如果写的更标准一些应该是如下的
catch (Exception e) {
if(tx!=null)
tx.rollback();
e.printStackTrace();
throw e;
}finally{
if(session!=null&&session.isOpen())
session.close();
}