spring集成hibernate时后要配置sessionFactory,请问hibernate中的sessionFactory起着什么样的作用?

解决方案 »

  1.   

    sessionFactory一个关联特定数据库的连接工厂,与数据库的连接就从这里产生。如果操作多个数据库的话,那就要建立多个SessionFactory
    这个工厂只需被创建一次,然后通过里面的方法,可以获取对数据库的连接
      

  2.   

    sessionFactory用来产生和管理session对象的,对数据库的每一次操作需要调用一次session对象。
      

  3.   

    3楼说得很好了,我试着作说说我自己的理解吧。SessionFactory顾名思义就是建立session的工厂。通常一个应用程序只需要建立一个连接工厂,客户端的连接请求线程们会从这个工厂里获得连接。SessionFactory的行为是在配置时被定义的,也就是configuration time, 而不像普通的过程,在run time时建立。另外建立SessionFactory的配置是在程序的运行环境里被建立,而不像通常在程序中建立。这样做的好处是防止sessionfactory在程序中被重复建立,而每个单独建立的实例不能被整个工程使用。
      

  4.   

    在没有用Spring之前,我们这样得到Session:
    SessionFactory factory = cfg.buildSessionFactory();
    Session session = factory.openSession();
    用了Spring以后我们就可以让Spring给我们SessionFactory,我们不用再亲自创建了,让Spring去管理
    说来说去就是一个注入问题,让Spring管理我们的对象