2010-10-07 98 views
1

我已经将一组表移到hsqldb中以获得更快的性能,但是hsqldb表和Oracle表之间存在一些多对一的关联。是否有可能配置休眠来管理这种类型的关联?目前我使用两个持久性单元,一个用于Oracle和另一个HSQLDB。使用HSQLDB和Oracle休眠

+0

我很肯定,这是不可能的,因为没有办法处理事务(基本上它是分布式事务)。你有实体到DB连接映射,这是很复杂的。 – 2010-10-07 17:58:42

+0

我想你可以做到这一点,创建两个数据源 – 2010-10-07 17:59:01

回答

2

Hibernate不支持不同数据库之间的关系,当然不支持不同类型的数据库。

您可能需要手动管理这些相关实体的“提取”,也许通过将多对一转换为原始外键值然后从Oracle数据库执行提取(使用不同的SessionFactory如果你同时使用hibernate)。

+0

解决它通过复制引用表到hsqldb在启动过程中。为每个oracle和hsqldb创建一个会话。 – Trevor 2010-10-07 20:25:14