buildSessionFactory()在hibernate 4中被弃用了吗? [英] Is buildSessionFactory() deprecated in hibernate 4?
问题描述
当我将Hibernate的版本从3.6.8.final更新到4.0.0.final时,我在这一行中收到了有关不推荐使用的方法 buildSessionFactory()
的警告: p>
private static final SessionFactory sessionFactory =
new Configuration()。configure()。buildSessionFactory();
javadoc建议使用另一种方法
但是在文档我发现已弃用的变体:($ / b> 您可以帮我解决这个小小的误解吗? 解决方案 buildSessionFactory(ServiceRegistry serviceRegistry) $ 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屋!