最初我的所有实体都在一个数据库中。例如,我有2个表/类:A和B,
A与B有一对一的映射,所以我们可以做A.getB()。这会在B表上生成一个查询。
现在让我们说我们的数据库变得太拥挤/忙碌,我们发现B表非常大,但很少访问,所以我们将B移动到另一个表(或者甚至是另一个数据存储区,例如noSQL)。现在我的问题是,如何维护hibernate提供的简单对象图遍历?
最初,我可以拉一个A对象:A = DaoForA.get(id_for_a);然后我可以在不考虑底层数据库操作的情况下执行a.getB(),就像所有内容已经在内存中一样。现在随着B表移动到另一个DB,是否仍然可以实现这种透明遍历?我假设应该在映射标签中更改A.hbm.xml,因为B表不再存在,所以A.hbm.xml不知道存在B,所以这个自动检索不能完成? / p>
非常感谢 杨
答案 0 :(得分:0)
Hibernate实体无法与其他数据库中的实体建立关联。而不是使用单独的数据库,请参阅
使用Hibernate进行编程“好像所有内容已经在内存中”是灾难的一种方法。您需要了解Hibernate在幕后所做的事情。