Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过Java代码设置hibernate.cfg.xml?_Java_Hibernate_Jpa_Configuration_Runtime - Fatal编程技术网

如何通过Java代码设置hibernate.cfg.xml?

如何通过Java代码设置hibernate.cfg.xml?,java,hibernate,jpa,configuration,runtime,Java,Hibernate,Jpa,Configuration,Runtime,嗯,我正在开发一个同步两个数据库的应用程序。 我需要为2个数据库设置hibernate.cfg.xml。Postgresql和Firebird。 我想创建一个泛型类来设置hibernate.cfg.xml 我想这样做: currentSessionFactory = new AnnotationConfiguration() .setProperty("hibernate.dialect", entity.getDialect()) .setProperty("hibernate.connect

嗯,我正在开发一个同步两个数据库的应用程序。 我需要为2个数据库设置hibernate.cfg.xml。Postgresql和Firebird。 我想创建一个泛型类来设置hibernate.cfg.xml

我想这样做:

currentSessionFactory = new AnnotationConfiguration()
.setProperty("hibernate.dialect", entity.getDialect())
.setProperty("hibernate.connection.driver_class", entity.getDriverClass())
我需要一个新的hibernate.cfg.xml用于第二个数据库,但我不能通过xml进行设置,我需要通过Java代码进行设置

我应该怎么做呢?

您可以使用类一起替换hibernate.cfg.xml:

Configuration configuration = new Configuration();
configuration.addAnnotatedClass(Entity1.class);
ServiceRegistry serviceRegistry
            = new StandardServiceRegistryBuilder()
                .applySettings(configuration.getProperties()).build();            
sessionFactory = configuration.buildSessionFactory(serviceRegistry);
该类允许您:

  • 添加类
  • 添加属性

这里有。

这个设置是针对HibernateUtil类的,我想构建一个类来设置hibernate xml文件,而不使用xml。然后您可以使用配置类来替换整个hibernate.cfg.xml。检查我的最新答案。谢谢:D您做得很好\o/