您的位置:首页 > 其它

hibernate异常 Session was already closed

2017-07-19 22:55 246 查看
hibenate连接Sql Server异常:

public class TestMain {

public static void main(String[] args) {
// TODO Auto-generated method stub
try {
//对数据持久层操作
//该类主要是用于读取hibernate.cfg.xml
Configuration cf=new Configuration().configure();
//创建一个会话工厂.
SessionFactory sf=cf.buildSessionFactory();
//创建Session(会话)<->Connection
Session s=sf.getCurrentSession();
//开始事务
Transaction ts=s.beginTransaction();
//加入一个对象(记录)
Employe employe=new Employe();
//employe.setId(10);
employe.setName("杨德成");
s.save(employe);//添加该对象到数据库
ts.commit();
s.close();

} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
}

}


运行报错:



出现以上原因是Session关闭

如果不是使用的SessionFactory.getSession()来获得Session。

而是使用SessionFactory.getCurrentSession()方法来获得Session时,当事务结束的时候,不管是提交还是回滚事务,hibernate会自动关闭Session的,


所以不需要手动关闭。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hibernate 异常 Session
相关文章推荐