我们如何使用Hibernate一次将数据存储在两个不同的数据库中?

时间:2011-04-22 08:44:20

标签: hibernate

面试官问我:

我们如何使用Hibernate一次将数据存储在两个不同的数据库中?

3 个答案:

答案 0 :(得分:1)

我不确定但这是可能的:

  1. 制作2个hibernate.cfg.xml
  2. 在HibernateUtil类中,您可以在其中构建sessionFactory对象。构建2个SessionFactory对象。制作sessionFactory对象的getter方法。
  3. 如果要插入一些数据,请使用适当的sessionFactory对象并执行操作。

答案 1 :(得分:0)

我认为Hibernate没有任何内置功能,但您可以:

  1. 使用2个SessionFactories,但是你 然后很难将其定义为“在a 时间“
  2. 使用Hibernate拦截器 这会改变另一方 更改某个实体时的数据库
  3. 使用JPA事件(我相信 在引擎盖下使用拦截器)

答案 2 :(得分:0)

根据我的经验,two or more databases from same data source

的示例

主数据库:hibernate.cfg.xml

<property name="hibernate.connection.url">
    jdbc:mysql://ip_adress:3306/main_db
</property>

备用数据库:域类

@Table(catalog = "alt_db", name = "table_name") // Specify catalog

@Table(catalog = "alt_db2", name = "table_name")