buildSessionFactory() Configuration 方法在 Hibernate 中是否已被弃用?

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

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

Javadoc 建议使用另一种方法

buildSessionFactory(ServiceRegistry serviceRegistry)

但是在文档中,我发现了已弃用的变体


答案 1

是的,它已被弃用。将会话网站替换为以下内容:

休眠 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();

答案 2

是的,它已被弃用。http://docs.jboss.org/hibernate/core/4.0/javadocs/org/hibernate/cfg/Configuration.html#buildSessionFactory()专门告诉你使用你找到的其他方法() - 所以使用它。buildSessionFactory(ServiceRegistry serviceRegistry)

文档从一个版本复制到另一个版本,可能只是还没有更新(他们不会在每个版本中重写手册) - 所以相信Javadocs。

有关此更改的详细信息,请参阅:

一些额外的参考:


推荐