Hibernate **关于hibernate4.3版本之后org.hibernate.service.ServiceRegistryBuilder被弃用**
-
之前一直都是使用hibernate4.2.21的我,有一天突然沒有使用本地的jar包而是讓IDEA自動下載最新版本的hibernate5.2.2之后,發現有幾個經常使用的方法報錯了.?
//創建配置對象
Configuration config=new Configuration().configure();
//創建服務注冊對象
ServiceRegistry serviceRegistry2=new ServiceRegistryBuilder() .applySettings(config.getProperties()).buildServiceRegistry();
//創建會話工廠對象
sessionFactory=config.buildSessionFactory(serviceRegistry2);
//會話對象
session=sessionFactory.openSession();
//開啟事務
transaction=session.beginTransaction(); -
-這真是讓我驚了個呆,網上一搜,好像有這個問題的人還不少,然后發現果然是hibernate版本的問題——hibernate4.3之后已經沒有了org.hibernate.service.ServiceRegistryBuilder這個類,它被棄用了?
?
-
這下子問題就迎刃而解了?
-如果使用的是hibernate4.2之前的版本,那么方法就這么寫:
//創建配置對象Configuration config = new Configuration().configure();//創建服務注冊對象ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry();//創建會話工廠對象 sessionFactory = config.buildSessionFactory(serviceRegistry); //會話對象 session = sessionFactory.openSession(); //開啟事務 transaction = session.beginTransaction(); ?
-如果是hibernate4.3之后的版本,那么方法就這么寫:?
導入包更換:org.hibernate.boot.registry.StandardServiceRegistryBuilder;
//創建配置對象 Configuration config = new Configuration().configure();//創建服務注冊對象 ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(config .getProperties()).build();//創建會話工廠對象 sessionFactory = config.buildSessionFactory(serviceRegistry); //會話對象 session = sessionFactory.openSession(); //開啟事務 transaction = session.beginTransaction(); ?
-甚至我還發現到hibernate5之后連上面的包都可以省略了:
//創建配置對象(讀取配置文檔)Configuration config = new Configuration().configure();//創建會話工廠對象sessionFactory = config.buildSessionFactory();//會話對象session = sessionFactory.openSession();//開啟事務 transaction = session.beginTransaction();
轉載于:https://www.cnblogs.com/xiqoqu/p/9218727.html
總結
以上是生活随笔為你收集整理的Hibernate **关于hibernate4.3版本之后org.hibernate.service.ServiceRegistryBuilder被弃用**的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android初学第36天
- 下一篇: Linux学习之三-Linux系统的一些