1

我必须在 MySQL 中使用休眠。我也在使用spring MVC。有一个表单,其中有十个字段必须存储在三个不同的表中。其中两个在同一个数据库中,而第三个在另一个数据库中。我怎样才能存储它们?通常我使用 @modelattribute 。我如何构造实体类?和数据库连接。有一个 jdbc.properties 文件,其中给出了数据库的名称。请帮忙。

4

1 回答 1

1

hibernate-forum上发布了类似的问题。

所以解决方案基本上是为两个数据库创建两个 hibernate.cfg.xml 文件。然后创建两个会话工厂。实体类不会发生剧烈变化,但您需要通过两个会话工厂的会话对象以编程方式调用两个不同的 save()。

如果您的架构中有许多复杂的映射,您最好选择hibernate shards。这是一个类似的参考

编辑:

由于您使用的是spring MVC,因此您需要在 jdbc 属性文件中指定两个 jdbc 配置,并datasource beansapplicationContext.xml 和 spring-servlet.xml中创建两个,无论您创建了 bean。为两个 DataSource创建相应session factory的 bean,并以编程方式使用它们在两个数据库上调用您的 save()。

它应该工作:)

于 2013-01-21T06:10:39.807 回答