java - 我可以有 2 个 Hibernate 配置 bdd 吗?

标签 java database hibernate

我使用Hibernate开发一个J2EE应用程序,我想要有2个数据库,第一个数据库位于本地(在客户端计算机中),第二个数据库位于服务器中。
事实上,我想将 hibernate 配置为在全局不可访问时连接到本地数据库。 我的实际配置文件:
<hibernate-configuration > <session-factory> <property name= "hibernate.dialect"> org.hibernate.dialect.MySQLDialect</property> <property name= "hibernate.connection.driver_class"> com.mysql.jdbc.Driver</property> <property name="hibernate.connection.url">jdbc:mysql://localhost/serverBdd </property> <property name="hibernate.connection.username">root</property> <property name="hibernate.hbm2ddl.auto">update</property> <property name="show_sql">true</property> <property name="hibernate.connection.password"></property> <mapping resource="hibernateConfiguration/Usine.hbm.xml"/> <mapping resource="hibernateConfiguration/Produit.hbm.xml"/> <mapping resource="hibernateConfiguration/Machine.hbm.xml"/> <mapping resource="hibernateConfiguration/Operation.hbm.xml"/> <mapping resource="hibernateConfiguration/Utilisateur.hbm.xml"/> </session-factory> </hibernate-configuration>

我该怎么做?如果我不能,我应该怎么做才能解决我的问题?
谢谢

最佳答案

当然,here您可以找到一个同时写入 2 个数据库的示例,但通过一个简单的 if 条件您可以决定使用哪个数据库:

首先,照常创建 2 个 hibernate.cfg.xml 文件,但名称不同

  • serverconfig.cfg.xml
  • localconfig.cfg.xml

之后,在您的 DAO 或任何获得 hibernate Session 的地方,只需检查服务器数据库是否可用,以及它是否不可用,请使用本地配置:

SessionFactory sessionFactory = new Configuration().configure("serverconfig.cfg.xml").buildSessionFactory();

if (sessionFactory == null)
    sessionFactory = new Configuration().configure("localconfig.cfg.xml").buildSessionFactory();

此外,如果您使用 Hibernate 4 或更高版本 check this answer

关于java - 我可以有 2 个 Hibernate 配置 bdd 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31543587/

相关文章:

java - FragmentTabHost Horizo​​ntal Scrollview + Swipe Android

performance - 如何提高向数据库插入数据的性能?

java - FusionAuth 与 AWS Elasticsearch 的不完整重新索引

javascript - 将 mysql 脚本转换为 sqlite 脚本

django - sqlite 数据库表在测试时被锁定

mysql - 将数据库复制到另一个具有其他结构的数据库

java - hibernate中的同步是什么意思

java - 如何获取 UnexpectedRollbackException 的 SQL 错误来源

java - 无法生成文件 java.io.IOException : No such file or directory

java - 捕获 Spring MVC 最大上传大小错误