Hibernate持久化对象图传播到两个数据库中

时间:2013-05-21 05:47:46

标签: hibernate

如果我需要将一个对象保存在数据库中,并且某些属性需要保存在某个不同的数据库中,那么我的方法应该是什么?

实施例

Calss Address
{
    String owner_name,
    String house_no,
}

Class Employee
{
    List<Address> addLst;
}

在某些情况下,Address中有DB1表,Employee中有DB2表,我需要一次保存员工对象

我知道hibernate不适合这种情况,但是有什么方法可以让我得到下面的结果吗?

DB1:

EMPLOYEE
----------
emp_id  Addredd_id
1       1

DB2:

ADDRESS
----------
address_id   Owner   House_no
1            abc     BD/12

数据库方面没有任何限制。

1 个答案:

答案 0 :(得分:0)

您可以使用postFlush侦听器 - 当Employee对象刷新到数据库时,您可以获取地址列表并使用其他会话保存它。

您也需要同样进行加载。

这种方法将在以后引发许多问题。

最好有一个包装函数可以单独保存这两个东西,并使用其中的每个东西。