zoukankan      html  css  js  c++  java
  • hibernate4.0中SessionFactory的创建

    创建SessionFactory

              首先创建Configuration对象,主要方式是:

    1. new Configuration().configure()  

    默认情况下Hibernate会去classPath下加载hibernate.cfg.xml文件,如果你没有采用默认的配置文件名,那么你就需要在configurate()方法里面带上你的配置文件名,如aa.xml。注意路径正确。


          接着,就是创建SessionFacotry. 那么在以前的版本中,通常我们创建的方式是:configure.buildSessionFactory(); 但是在4.0之后的版本中,这种方式已经不被推荐了,那么官方推荐的做法是什么列?

    1. StandardServiceRegistryBuilder serviceRegistryBuilder = new StandardServiceRegistryBuilder();  
    2.   ServiceRegistry serviceRegistry = serviceRegistryBuilder.build();  
    3.   SessionFactory sf = configuration.buildSessionFactory(serviceRegistry);  

    这是Hibernate4.0之后引入的新特性,Service Register机制   。关于这块的介绍,内容太多,我不想贴过来了,给一个链接,有兴趣的朋友可以自己去看。

    Service Register机制介绍http://planet.jboss.org/post/hibernate_orm_service_registry


    但是紧接着在4.1之后的版本中,StandardServiceRegistryBuilder又被取消了,取而带之的做法是

    1. Configuration configiguration = new Configuration().configure();  
    2.         ServiceRegistryBuilder builder = new ServiceRegistryBuilder().applySettings(configiguration.getProperties());  
    3.         ServiceRegistry registry = builder.buildServiceRegistry();   
    4.         factory = configiguration.buildSessionFactory(registry);  



    关于Hibernate的配置项,在此不一一举列,请参见Hibernate的官方文档,具体路径是:documentationmanualen-UShtmlch03.html


    上面有很详细的介绍,必配置与选备,都有。



    ps:其实SessionFactory的创建方式非常多,这点可以从官方文档中看出,由于我们最常用的还是以上的XML方式,所以本文只讲述这种方式


    今天自己用hibernate4创建sessionfactory时也遇到了这个问题,记录一下!

    【转载自:】http://blog.csdn.net/zl3450341/article/details/8640005

  • 相关阅读:
    Oracle中查询表中数据的上次更新时间
    数据库分区 分库 分表 分片(转)
    beanFactory和factoryBean的区别(转)
    TCP三次握手形象理解
    深拷贝,浅拷贝(转)
    真的要去做
    '庞然大物'是怎么来的?为何有的技术明明看了很多遍依然不能很好的理解
    java6大原则之单一职责原则,里式替换原则
    状态不好记录一下
    java继承,多态
  • 原文地址:https://www.cnblogs.com/rookiebob/p/3749391.html
Copyright © 2011-2022 走看看