首页 > 其他 > 详细

Session/EntityManager is closed

时间:2019-05-28 23:42:01      阅读:1775      评论:0      收藏:0      [点我收藏+]

这个问题也是郁闷, 也就是说Session被关闭了, 而这个Session又是必须的. 

关键是我并没有关闭, 也找不到是哪里被关闭了的.

技术分享图片

 

 我把代码改成如下的样子, 则是可以运行的, 在执行之前,开启事务

  /**
     * 查询用户
     * @param uid
     * @return
     */
    @Override
    public User get(Integer uid) {
        Transaction transaction = session.beginTransaction();
        User user = null;
        try {
            user = session.get(User.class,uid);
        } catch(Exception e) {
            e.printStackTrace();
        }
         return user;
    }

原因分析: 每次调用了session之后, 在事务提交了以后就会把session关闭

                这是因为Hibernate会维护这个Session, 在我提交事务的时候关闭Session

解决思路: 1. 在代码执行之前, 开启Session;

                2. 在业务处理结束的时候再关闭Transaction事务

 

Session/EntityManager is closed

原文:https://www.cnblogs.com/zjulanjian/p/10940959.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!