java - 使用 Hibernate 的后备数据库

标签 java spring hibernate postgresql h2

你们中有人知道如何让 2 个数据库并行运行吗? 我们使用 Hibernate 4 并使用 Postgres 9.3 作为主数据库 - 该数据库托管在另一台机器上,然后是应用程序 - 如果数据库关闭,我们仍然需要保存一些内容。

所以第一个意图是将其写入 csv,但我不喜欢将内容写入无序文件。所以我只想使用后备数据库(考虑 H2 数据库)。有人有这样的构造的经验吗?

我们也在使用 Spring 4 - 我只需设置另一个数据源 + sessionfactory + transactionmanager - 并在 @Transactional 方法中添加名称以使用正确的管理器。还有其他想法吗?

谢谢!!

最佳答案

您可以延长 Spring AbstractRoutingDataSource并配置两个实际数据源:

  1. 主要 PostgreSQL 数据源
  2. 辅助 H2 数据源

应用程序逻辑只会看到一个数据源,即路由器,它将决定按需切换到哪个数据源。

当主数据源关闭时,您需要指示路由器选择后备 H2 数据源。

关于java - 使用 Hibernate 的后备数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24358720/

相关文章:

java - 将重复键放入 HashMap 时会发生什么?

java - IntelliJ 想法 : Maven compilation warning about supported annotation processor source version 'RELEASE_6' on Java 11

java - 如何用JPA注解Map<Entity,INTEGER>?

java - 是否可以使用 Hibernate Criteria 在多个列上搜索相同的值?

java - 跳过特定表的创建 [Spring] [Hibernate]

java - GSON:如何从 json 解码为忽略对象的模型?

java - 全类覆盖单元测试

java - Spring MVC/Spring Data 数据获取递归

spring - 为什么 initbinder 没有调用提交表单?

spring - Spring Cloud Pipelines 中编译后协调不生效