在带有 XML 的 Hibernate 3 中,是否可以通过一个 SessionFactory 使用多个数据库?
例如,我可以使用 catalog
属性或 schema
吗?
现在我使用多个数据库和多个会话工厂,但我想通过外键在这些数据库之间创建关系,因此据我所知,我需要使用一个会话工厂。也许一些示例配置,我怎样才能实现它?
提前致谢
for example can I use catalog
attribute or schema
for it?
Now I use several databases and several sessionfactories but I would like to create relationships between these databases by foreign keys, so I need to use one SessionFactory as far as I understand. Maybe some sample configuration, how can I achieve it?
Thanks in advance
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
一般来说,尝试在多个数据库中保持 FK 同步需要您使用自己的序列生成器来管理 FK 值。您将需要使用 XADataSource 来确保任何事务都能够跨越两个数据库并适当回滚。
您需要为每个数据库使用一个 SessionFactory,因为每个 SessionFactory 都绑定到一个数据源。 JOTM 是开放式 Java 事务管理器,并受 Spring 支持。
Spring 上下文的示例如下所示:
希望这有帮助。
In general, trying to keep FKs in synch across more than 1 database is going to require you manage your FK values using your own sequence generator. You will need to use an XADataSource to ensure that any transactions are able to span both databases and rollback appropriately.
You will need to use one SessionFactory for each database since each SessionFactory is tied to a single DataSource. JOTM is the Open Java Transaction Manager and is supported by Spring.
An example Spring context would look like this:
Hope this helps.