zoukankan      html  css  js  c++  java
  • hibernate 获取sesssionFacotory

    hibernate的版本更新很快,获取sessionFactory的方式也在变化

    1.通用的方式:

    public SessionFactory test1(){
            Configuration cfg = new Configuration().configure("hibernate.cfg.xml");
            SessionFactory sessionFactory = cfg.buildSessionFactory();
            return sessionFactory;
        }

    这种方式是最早的方式,在以前不支持注解.直到 3.6.0.Final 这个版本才开始支持注解的方式.到 4.0.0.Final 过时

    2.annotation

    public SessionFactory test2(){
            Configuration cfg = new org.hibernate.cfg.AnnotationConfiguration().configure("hibernate.cfg.xml");
            SessionFactory sessionFactory = cfg.buildSessionFactory();
            return sessionFactory;
    
        }

    自有annotation出现以来,hibernate先使用这种方式支持注解.到 3.6.0.Final 过时了.也就是方式一开始支持注解.到 4.3.0.Final 这个版本的时候,

    org.hibernate.cfg.AnnotationConfiguration 整个类都不存在了.也就是彻底取消了这种方式.

    3.service的方式
        public SessionFactory test3(){
            Configuration cfg = new Configuration().configure("hibernate.cfg.xml");
            ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(cfg.getProperties()).buildServiceRegistry();
            SessionFactory sessionFactory = cfg.buildSessionFactory(serviceRegistry);
            return sessionFactory;
        }

    这种使用方法经历3个大版本  4.0.x.Final 4.1.x.Final  4.2.x.Final 如果想在4.3.0.Final 继续使用过时的方法,ServiceRegistryBuilder 下已经没有buildServiceRegistry()这个方法了,使用 build() 代替

    4.service2

    Configuration cfg = new Configuration().configure("hibernate.cfg.xml");
            ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(cfg.getProperties()).build();
            SessionFactory sessionFactory = cfg.buildSessionFactory(serviceRegistry);
            return sessionFactory;

    在最新的4.3.x.Final中使用,5的版本还没出ga,目前测试版也是使用的这种方式.

     注:

    hibernate3.4之前的版本都是使用cglib(cglib 2.1.3, asm 1.5.3 ,asm-attr 1.5.3)的方式进行代理
    从3.4(包含3.4)开始使用javassist进行代理
  • 相关阅读:
    微信小程序wx.request请求用POST后台得不到传递数据
    小程序的movable-view怎么持续移动
    当inline-block或者float失效的时候怎么弄
    js中如何删除json对象的某一个选项
    情非得已
    框架变量的问题
    隐式等待写法__和显示等待对比问题___及误区
    显式等待大结局___封装成API方便控制层调用
    显式等待第二集____灵活写法__
    显式等待__第一集___追加了误区
  • 原文地址:https://www.cnblogs.com/fengyexjtu/p/4592431.html
Copyright © 2011-2022 走看看