当前位置: 首页 > 面试题库 >

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

喻元龙
2023-03-14
问题内容

当我将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中

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


 类似资料:
  • 问题内容: 我的hibernate状态很严重。我遵循了各种书籍和在线教程,但是我曾经遇到过HibernateUtil.java Line抛出的相同异常“ ExceptionInInitializerError” 我的Tomcat日志显示以下内容: Account.java HibernateUtil.java hibernate.cfg.xml 我尝试了Hibernate 3.6.9和4.0.1(

  • 问题内容: 看来log4j存在一些类加载问题(其中包括其他问题),在我看来,趋势是从log4j转向slf4j。(Hibernate停止使用第一个来支持后者) 是真的吗 slf4j解决的log4j主要问题是什么? slf4j是硬道理还是有更好的“下一个下一个log4j”行业标准? 更新: 因此,delfuego的这个答案使我感到困惑,您可以接受/反对吗?: 您似乎偶然发现了log4j(和Apache

  • 问题内容: 我在对此答案的评论中阅读了有关过时的计划(抱歉,没有参考)的其他许多问题。我真的希望不要,因为我将它用作Java中调度事情的简便方法(而且效果很好)。但是,如果过时了,我会去别处。 但是,快速浏览 1.6版 的API文档并没有说明它已被弃用。Sun的“ 不推荐使用的清单”中甚至都没有提到它。 是否正式弃用 *,如果是,我应该使用什么代替? 另一方面, 如果不弃用它,* 人们是否可以停止

  • 问题内容: 您已经意识到了一个古老的问题:包含浮动元素的容器不会自动扩展其高度以围封其子级。 解决此问题的一种方法是“clearfix”,它添加了许多CSS规则以确保容器正确延伸。 但是,仅提供容器似乎同样有效,并且具有相同的浏览器兼容性。 这是否意味着不建议使用“ clearfix”?使用它还有什么优势吗? 这里有一个非常相似的问题:clearfixhack和overflow:hidden与ov

  • 问题内容: 不推荐使用此调用: 在源文件中,我可以看到: 但是我不明白我必须使用哪种方法代替。 问题答案: 您可以在Hibernate 5.2 +中使用以下接口:

  • 我正在写一个应用程序,可以在Twitter上发布推文。我想提供在tweet中包含位置的选项,可以通过POST状态/使用lat和long参数进行更新。 我的问题是:如果twitter帐户没有通过https://twitter.com/settings/account“在我的推文中添加位置”,然后我可以发送带有位置信息的推文,但位置信息不会出现。这对用户的安全来说是一件好事,但对我来说是一个烦恼,因为