我在 Hibernate 4 中生成 session 工厂时遇到问题。在 Hibernate 3 中,我简单地做了:
org.hibernate.cfg.Configuration conf= HibernateUtil
.getLimsInitializedConfiguration(systemConfiguration
.getHibernateconfFile());
SessionFactory sf = conf.configure().buildSessionFactory();
现在我需要将一个 ServiceRegistry 类传递给 buildSessionFactory,但 Javadocs 对如何进行此操作非常含糊。有什么建议吗?
最佳答案
是的,他们已经弃用了以前的 buildSessionFactory API,而且它很容易做好。你可以做这样的事情。。
编辑:ServiceRegistryBuilder 已弃用。您必须使用 StandardServiceRegistryBuilder
public void testConnection() throws Exception {
logger.info("Trying to create a test connection with the database.");
Configuration configuration = new Configuration();
configuration.configure("hibernate_sp.cfg.xml");
StandardServiceRegistryBuilder ssrb = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties());
SessionFactory sessionFactory = configuration.buildSessionFactory(ssrb.build());
Session session = sessionFactory.openSession();
logger.info("Test connection with the database created successfuly.");
}
如需更多引用和深入细节,您可以在 https://github.com/hibernate/hibernate-orm/blob/master/hibernate-testing/src/main/java/org/hibernate/testing/junit4/BaseCoreFunctionalTestCase.java 查看 hibernate 的官方测试用例函数(buildSessionFactory())。
关于java - 在 Hibernate 4 中创建 session 工厂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7986750/