hibernate4 获取 sessionfactory

本文详细介绍了Hibernate4中Configuration.buildSessionFactory()方法被标记为过时的情况,并提供了使用buildSessionFactory(ServiceRegistry serviceRegistry)方法获取SessionFactory的示例。通过StandardServiceRegistryBuilder应用设置构建ServiceRegistry,进而构建SessionFactory。

Hibernate4 中 Configuration.buildSessionFactory() 的方法已经标记为过时,官方建议使用:buildSessionFactory(ServiceRegistry serviceRegistry) 这个方法来获取 SessionFactory。估计是和新特性支持多租户有关(没有深入了解,猜测而已)。Hibernate4中获取SessionFactory的方法示例如下:

HibernateTest.java

1    package com.micmiu.hibernate;    
2    
3    import org.hibernate.Session;    
4    import org.hibernate.SessionFactory;    
5    import org.hibernate.cfg.Configuration;    
6    import org.hibernate.service.ServiceRegistry;    
7    import org.hibernate.service.ServiceRegistryBuilder;    
8    
9    import com.micmiu.hibernate.anno.entity.User;    
10    
11    /**    
12     *    
13     * @author <a href="http://www.micmiu.com">Michael Sun</a>    
14     */    
15    public class HibernateTest {    
16    
17        public static void main(String[] args) {    
18            Configuration configuration = new Configuration().configure();    
19            ServiceRegistry serviceRegistry = new ServiceRegistryBuilder()    
20                    .applySettings(configuration.getProperties())    
21                    .buildServiceRegistry();    
22            SessionFactory sessionFactory = configuration    
23                    .buildSessionFactory(serviceRegistry);    
24            Session session = sessionFactory.getCurrentSession();    
25            session.beginTransaction();    
26    
27            User user = new User();    
28            user.setLoginName("micmiu.com");    
29            user.setName("Michael");    
30    
31            session.save(user);    
32    
33            session.getTransaction().commit();    
34            session.close();    
35            sessionFactory.close();    
36    
37        }    
38    }

StandardServiceRegistryBuilder 即可:

1    Configuration config = new Configuration().configure();    
2    ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()    
3        .applySettings(config.getProperties()).build();    
4    sessionFactory = config.buildSessionFactory(serviceRegistry);


转载于:https://my.oschina.net/u/1157906/blog/269022

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值