浅聊Hibernate不同版本创建SessionFactory的不同方式

今晚在做一个小demo的时候突然发现 Hibernate 的不同版本创建 sessionFactorysession 的方式有所不同。所以就上网查阅。先就 Hibernate4 与 Hibernate5 创建 做抄录。

在 Hibernate4.2 版本中,我们曾用如下方法创建 sessionFactory

//创建配置对象
Configuration config = new Configuration().configure();
//创建服务注册对象
//Hibernate4.1又舍弃了StandardServiceRegistryBuilder,可以通过如下方式创建:
ServiceRegistryBuilder serviceRegistryBuilder=new ServiceRegistryBuilder().applySettings(config.getProperties());   
ServiceRegistry registry=serviceRegistryBuilder.buildServiceRegistry();
//创建sessionFactory
//SessionFactory sessionFactory=config.buildSessionFactory();
SessionFactory sf=config.buildSessionFactory(registry); 
//创建session对象
Session session = sf.openSession();

在 Hibernate5.0 版本中,buildServiceRegisery() 方法被替换了,用如下方法:

StandardServiceRegistry standardRegistry = new StandardServiceRegistryBuilder()  
        .configure().build();  
Metadata metadata = new MetadataSources(standardRegistry)  
        .getMetadataBuilder()  
        .applyImplicitNamingStrategy(  
                ImplicitNamingStrategyJpaCompliantImpl.INSTANCE)  
        .build();  
SessionFactory sessionFactory = metadata.getSessionFactoryBuilder().build(); 
坚持原创技术分享,您的支持将鼓励我继续创作!