当我将Hibernate版本从3.6.8更新到4.0.0时,我收到了一条关于不推荐使用的方法buildSessionFactory()的警告:

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

Javadoc建议使用另一种方法

buildSessionFactory(ServiceRegistry serviceRegistry)

但在documentation号中我发现了不推荐使用的变体

推荐答案

是的,它被弃用了.将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;
}

UPDATE:

Hibernate 4.3中,ServiceRegistryBuilder是deprecated.请改用以下内容.

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

Java相关问答推荐

javafx getHostServices(). showDocument()调出Chrome而不是默认浏览器(Linux)

表格栏上的事件过滤器在PFA中不起作用

OpenJDK、4K显示和文本质量

当我用OkHttpClient重写shouldInterceptRequest来发布数据时,Android WebView正在以纯HTML加载URL内容

RxJava PublishSubject缓冲区元素超时

无法传递消费者<;>;实例

使用标记时,场景大纲不在多个线程上运行

使用动态ID从json获取详细信息的Jolt规范

为什么一个Test的instance?& gt;在构造函数中接受非空对象?

只需最少的代码更改即可将版本号标记添加到日志(log)

如何在Java中从XML中获取特定的 node ,然后将其删除?

Jolt变换JSON数组问题

如何在antlr4中跳过所有反斜杠-换行符而保留换行符?

Java泛型类方法的静态返回类型是否被类型擦除?

删除打印语句会影响功能...腐败在起作用?

从Spring6中的JPMS模块读取类时出现问题

接受类及其接口的Java类型(矛盾)

如何在Java中的重写方法参数中强制(Enum)接口实现?

@此处不能应用可为null的批注

窗口启动后不久,从java.awt.Graphics disapear创建的矩形