java - 在 Hibernate 4 中创建 session 工厂

标签 java hibernate

我在 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/

相关文章:

hibernate - StaleObjectStateException : Transaction Error in Grails

java - 线程中的异常 "main"org.hibernate.exception.GenericJDBCException : Cannot open connection using mySQL

java - Hibernate/jpa 将 Java 日期持久保存为 H2 DB Sql 时间戳

java - 无法反序列化 - Hibernate Spring Boot

java - 如何查看幸存者空间中的物体

java - 使用扫描仪从文本文件中挑选出特定信息

java - 停止后移动速度继续有用

java - 来自单个 validator 的集合验证

java - Java 类中的硬编码 Java 列表

java - JButton 覆盖整个内容 Pane