-
Hibernate4 获取SessionFactory 的体式格式
添加时间:2013-5-28 点击量:这些年一向都在做Mybatis的开辟,几乎都忘怀了Hibernate的开辟,如今从头进修一下,新的Hibernate 正式版Hibernate.4.2.2.Final。
若是你是用maven的话就是
1 <dependency>
2 <groupId>org.hibernate</groupId>
3 <artifactId>hibernate-core</artifactId>
4 <version>4.2.2.Final</version>
5 </dependency>发明Hibernate4已经将configuration的buildSessionFactory办法已经划线了,申明已经过期了。
后来参看hibernate源码。以及API帮助文档,发明Hibernate4新增了一个接口ServiceRegistry,
所有基于Hibernate的设备或者办事都必须同一贯这个ServiceRegistry注册后才干生效。
所以不丢脸出 Hibernate4的设备进口不再是Configuration对象,而是ServiceRegistry对象,Configuration对象将经由过程ServiceRegistry对象获取设备信息。
应用了Builder模式创建一个ServiceRegistry对象,可以看到源码org.hibernate.service.ServiceRegistryBuilder这个类。
具体获取如下:
1 import org.hibernate.HibernateException;
2 import org.hibernate.SessionFactory;
3 import org.hibernate.cfg.Configuration;
4 import org.hibernate.service.ServiceRegistry;
5 import org.hibernate.service.ServiceRegistryBuilder;
6
7 public class Test {
8
9 private static Configuration configuration = null;
10 private static SessionFactory sessionFactory = null;
11 private static ServiceRegistry serviceRegistry = null;
12 public static void main(String[] args) {
13 try {
14 configuration = new Configuration().configure();
15 serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
16 sessionFactory = configuration.buildSessionFactory(serviceRegistry);
17 } catch (HibernateException e) {
18 e.printStackTrace();
19 }
20 }
21
22 }
我俩之间有着强烈的吸引力。短短几个小时后,我俩已经明白:我们的心是一个整体的两半,我俩的心灵是孪生兄妹,是知己。她让我感到更有活力,更完美,更幸福。即使她不在我身边,我依然还是感到幸福,因为她总是以这样或者那样的方式出现在我心头。——恩里克·巴里奥斯《爱的文明》