hibernate 关闭session有很多方式 当一个请求过程全部完成后再关闭session 保证一个用户一个session,建议你写个过滤器!

解决方案 »

  1.   

    action中(业务层中不能关)
    在service中有可能进行其它操作,
    为什么,经验问题!
      

  2.   

    过滤器还有挺多说道吧!能详细些吗?
    action中可以关闭action也是调用service里的方法调用完
    就可以关闭只不过不好看
      

  3.   

    session关闭,事务提交和回滚,很多时候是通过hibernate过滤器来完成的。每次用一次手动开一次很不方便,用过滤器可以很好的将事务的范围扩展为一次请求。但要注意在web.xml将hibernate过滤器的配置放在其他过滤器的首位,确保完成正常的业务在关闭session。
      

  4.   

    没怎么单独使用hibernate,都是用spring的hiberanteTemplate做的,spring会控制这些
      

  5.   


    在业务处理如果用的了spring 下面的这些也都省了 public List findAllQuesManager() {
    Session sess = getSession();
    Transaction tx = sess.beginTransaction();
                    List l=null;
    try {
                            //你的业务处理
                                tx.commit();
    return l;
    } catch (Exception e) {
                             tx.rollback();
    throw new RuntimeException(this.getClass().getName() + "业务逻辑错误", e);
    } finally {
    sess.close();
    }
    }
      

  6.   

    看你怎么分层了 dao 管理  业务 控制  显示
    可以在管理做
      

  7.   

      try {
                            //你的业务处理
                               //这里调用dao的方法
                               dao.findAllQuesManager();
                            //是这样处理的吧就和我想的一样了 
                                tx.commit();
                return l;
            } catch (Exception e) {
                             tx.rollback();
      

  8.   

    查询不关闭HibernateSessionFactory.closeSession()有什么后果吗?
      

  9.   

    你在什么地方查询 就在什么地方关吧
    hibernate都与spring 或者struts一起用
    好多都在dao中关的
    或者实现daoimpl中关的】
      

  10.   

    可以进这个J2EE群 68775388 探讨一下