Hibernate 中是否弃用了 buildSessionFactory() 配置方法? [英] Is the buildSessionFactory() Configuration method deprecated in Hibernate?

查看:25
本文介绍了Hibernate 中是否弃用了 buildSessionFactory() 配置方法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我将 Hibernate 版本从 3.6.8 更新到 4.0.0 时,我在此行中收到有关已弃用方法 buildSessionFactory() 的警告:

private static final SessionFactory sessionFactory =new Configuration().configure().buildSessionFactory();

Javadoc 推荐使用另一种方法

buildSessionFactory(ServiceRegistry serviceRegistry)

但在 文档 我发现不推荐使用的变体

解决方案

是的,它已被弃用.将您的 SessionFactory 替换为以下内容:

Hibernate 4.0、4.1、4.2

私有静态SessionFactory sessionFactory;私有静态 ServiceRegistry serviceRegistry;公共静态 SessionFactory createSessionFactory() {配置配置=新配置();配置.configure();ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(配置.getProperties()).buildServiceRegistry();sessionFactory = configuration.buildSessionFactory(serviceRegistry);返回会话工厂;}

<块引用>

更新:

Hibernate 4.3 中,ServiceRegistryBuilder 已弃用.请改用以下内容.

serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();

When I updated the Hibernate version from 3.6.8 to 4.0.0, I got a warning about deprecated method buildSessionFactory() in this line:

private static final SessionFactory sessionFactory =
         new Configuration().configure().buildSessionFactory();

the Javadoc recommends using another method

buildSessionFactory(ServiceRegistry serviceRegistry)

but in the documentation I found deprecated variant

解决方案

Yes it is deprecated. Replace your SessionFactory with the following:

In Hibernate 4.0, 4.1, 4.2

private static SessionFactory sessionFactory;
private static ServiceRegistry serviceRegistry;

public static SessionFactory createSessionFactory() {
    Configuration configuration = new Configuration();
    configuration.configure();
    ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(
            configuration.getProperties()). buildServiceRegistry();
    sessionFactory = configuration.buildSessionFactory(serviceRegistry);
    return sessionFactory;
}

UPDATE:

In Hibernate 4.3 ServiceRegistryBuilder is deprecated. Use the following instead.

serviceRegistry = new StandardServiceRegistryBuilder().applySettings(
            configuration.getProperties()).build();

这篇关于Hibernate 中是否弃用了 buildSessionFactory() 配置方法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆