Hibernate4 中 Configuration.buildSessionFactory() 的方法已经标记为过时,官方建议使用:buildSessionFactory(ServiceRegistry serviceRegistry) 这个方法来获取 SessionFactory。
具体实现代码:
private static Configuration configuration = null;
private static SessionFactory sessionFactory = null;
/*ServiceRegistry是Hibernate4.X新增接口,
应用于Hibernate的配置或者服务等将统一向这个ServiceRegistry注册后才能生效。
所以需要构建一个ServiceRegistry对象,将配置信息向它注册,然后Configuration对象根据从这个ServiceRegistry对象中获取配置信息生成SessionFactory。
Hibernate4的配置入口不再是Configuration对象,而是ServiceRegistry对象,Configuration对象将通过ServiceRegistry对象获取配置信息。
hibernate4 源码位置:org.hibernate.service.ServiceRegistryBuilder 具体可参看hibernate源码。以及API*/
private static ServiceRegistry serviceRegistry = null;
static{
try {
configuration=new Configuration();
serviceRegistry=new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
sessionFactory=configuration.buildSessionFactory(serviceRegistry);
} catch (Exception e) {
e.printStackTrace();
}
}