构建休眠会话工厂
building hibernate sessionFactory
当我使用旧的已弃用的休眠方法来构建会话工厂时,它工作正常:
SessionFactory sessionFactory = new Configuration()
.configure().buildSessionFactory();
当我用新方法替换它时,它被编译但在运行时出现未知实体异常,似乎新方法没有获取映射资源="xyz.hbm.xml" 属性:
Configuration configuration = new Configuration().configure();
ServiceRegistry serviceRegistry
= new StandardServiceRegistryBuilder()
.applySettings(configuration.getProperties()).build();
// builds a session factory from the service registry
SessionFactory sessionFactory = `configuration.buildSessionFactory(serviceRegistry);`
我的问题是,我是否需要在配置中进行一些更改或在 hibernate.cfg.xml 文件中添加一些 属性 以便读取 属性 并在使用构建会话工厂的新方法时加载?
我也试过以下:
Configuration configuration = new Configuration(); configuration.configure("hibernate.cfg.xml"); ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder() .applySettings(configuration.getProperties()).build(); SessionFactory sessionFactory = configuration .buildSessionFactory(serviceRegistry);
在新版本的 Hibernate 中,您不能将配置与新的 Configuration().configure()
和 config.buildSessionFactory(registry)
混合使用。您应该使用 StandardServiceRegistryBuilder
进行所有配置。
有关详细信息,请参阅 and this。
当我使用旧的已弃用的休眠方法来构建会话工厂时,它工作正常:
SessionFactory sessionFactory = new Configuration()
.configure().buildSessionFactory();
当我用新方法替换它时,它被编译但在运行时出现未知实体异常,似乎新方法没有获取映射资源="xyz.hbm.xml" 属性:
Configuration configuration = new Configuration().configure();
ServiceRegistry serviceRegistry
= new StandardServiceRegistryBuilder()
.applySettings(configuration.getProperties()).build();
// builds a session factory from the service registry
SessionFactory sessionFactory = `configuration.buildSessionFactory(serviceRegistry);`
我的问题是,我是否需要在配置中进行一些更改或在 hibernate.cfg.xml 文件中添加一些 属性 以便读取 属性 并在使用构建会话工厂的新方法时加载?
我也试过以下:
Configuration configuration = new Configuration(); configuration.configure("hibernate.cfg.xml"); ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder() .applySettings(configuration.getProperties()).build(); SessionFactory sessionFactory = configuration .buildSessionFactory(serviceRegistry);
在新版本的 Hibernate 中,您不能将配置与新的 Configuration().configure()
和 config.buildSessionFactory(registry)
混合使用。您应该使用 StandardServiceRegistryBuilder
进行所有配置。
有关详细信息,请参阅