一尘不染

Hibernate是否弃用了buildSessionFactory()配置方法

hibernate

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

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

Javadoc建议使用另一种方法

buildSessionFactory(ServiceRegistry serviceRegistry)

但是在文档中我发现不推荐使用的变体:(

您能帮我解决这个小小的误会吗?


阅读 277

收藏
2020-06-20

共1个答案

一尘不染

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

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;
}

更新:

Hibernate 4.3 中, 不建议使用 ServiceRegistryBuilder 。请改用以下内容。

serviceRegistry = new StandardServiceRegistryBuilder().applySettings(
            configuration.getProperties()).build();
2020-06-20