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

时间:2014-11-07 17:24:21

标签: java hibernate jpa configuration runtime

好吧,我正在开发一个同步两个数据库的应用程序。 我需要为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代码来完成它。

我该怎么做?

1 个答案:

答案 0 :(得分:2)

您可以使用Hibernate Configuration类来完全替换hibernate.cfg.xml:

Configuration configuration = new Configuration();
configuration.addAnnotatedClass(Entity1.class);
ServiceRegistry serviceRegistry
            = new StandardServiceRegistryBuilder()
                .applySettings(configuration.getProperties()).build();            
sessionFactory = configuration.buildSessionFactory(serviceRegistry);

Configuration课程允许您:

  • 添加课程
  • 添加属性

这里有an example on GitHub