buildSessionFactory()在hibernate 4中被弃用了吗? [英] Is buildSessionFactory() deprecated in hibernate 4?

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

问题描述

当我将Hibernate的版本从3.6.8.final更新到4.0.0.final时,我在这一行中收到了有关不推荐使用的方法 buildSessionFactory()的警告: p>

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

javadoc建议使用另一种方法

buildSessionFactory(ServiceRegistry serviceRegistry) $ b

但是在文档我发现已弃用的变体:($ / b>

您可以帮我解决这个小小的误解吗? 解决方案

是的,它被弃用了。 / p>

Hibernate 4.0,4.1,4.2中

  private static SessionFactory sessionFactory; 
private static ServiceRegistry serviceRegistry;
$ b $ 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 ();


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

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

the javadoc recommends use of another method

buildSessionFactory(ServiceRegistry serviceRegistry)

but in the documentation I found deprecated variant :(

Can you help me with this little misunderstanding ?

解决方案

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

这篇关于buildSessionFactory()在hibernate 4中被弃用了吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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