当前位置: 首页 > 知识库问答 >
问题:

如何在Quarkus中使用不同的数据源进行读写查询?

黄磊
2023-03-14

我需要分离读/写PostgreSQL实例。我有一个写复制副本和几个读复制副本。

QUKUS支持添加多个数据源,但尚不清楚如何让Panache/HiberNate为不同的查询选择合适的数据源。

问:如何配置 Quarkus 以使用不同的数据源进行读/写访问?

共有1个答案

蔡晨
2023-03-14

我们在属性文件中使用以下内容来区分您需要选择哪个DB数据源。然后您在不同的包中分隔指向不同数据源的代码。

quarkus.hibernate-orm."db".packages=com.mycompany.outgoing.db
quarkus.hibernate-orm."push".packages=com.mycompany.outgoing.push

我认为您需要让子类指向某种类型的 BaseEntity,以区分数据源。

我能想到的另一个选项,我还没有使用过,是在你的仓库类中注入 2 个不同的 EntityManager,并直接从 EntityManager 管理你的仓库。

@Inject
@PersistenceUnit("db") 
EntityManager entityManager;

@Inject
@PersistenceUnit("push") 
EntityManager entityManagerPush;
 类似资料:
  • 问题内容: 我想使用Spring和Hibernate写入一个MySQL主数据库,并从基于云的Java Web应用程序中再读取一个复制的从数据库。 我找不到对应用程序代码透明的解决方案。我真的不需要更改我的DAO来管理不同的SessionFactories,因为这看起来确实很麻烦,并将代码与特定的服务器体系结构结合在一起。 有什么办法告诉Hibernate自动将CREATE / UPDATE查询路由

  • 问题内容: 如何使用msgpack对字典进行序列化/反序列化? 问题答案: 在Python文档似乎不是那么好,所以这里是我的尝试。 安装 读写msgpack 对于您的应用程序,以下内容可能很重要: 其他编程语言的支持 阅读/写作表现 紧凑度(文件大小) 另请参阅:数据序列化格式的比较 如果您想寻找一种制作配置文件的方法,则可能需要阅读我的短文《Python中的配置文件》。

  • 问题内容: 这个问题的目的是记录: 在PySpark中使用JDBC连接读取和写入数据所需的步骤 JDBC源可能存在的问题以及已知的解决方案 只要稍作更改,这些方法就可以与其他支持的语言一起使用,包括Scala和R。 问题答案: 写数据 提交应用程序或启动Shell时,包括适用的JDBC驱动程序。您可以使用例如: 或结合和 也可以在启动JVM实例之前使用环境变量来设置这些属性,或使用set或/来设置

  • 学生拥有诸如 并且有这样的文档 还有一个名为“学生-课程”的第三个集合,我在那里保存了学生的id和他们相应的课程id。像这样

  • 问题内容: 我有一种情况,我在jqGrid中有多个列,它们提供了相同的列表来填充下拉列表。 我想看看是否有一种方法可以使tihs正常工作,而无需两次单独的ajax调用同一操作,只是为了获得相同的数据列表: 这样我就可以调用它一次,并且将项目列表链接到这两列?在jqGrid中可以吗? 问题答案: 所需的任何实现都将意味着为缓存某种数据。我更喜欢自己的一种方法是代替。选择值列表可以包含 在对服务器的主

  • 对不起,朋友们,我想问一下。我有4个db表。 桌位 表type_member 表事务处理 表history_member 如上所示的表格内容示例。如果表格的内容像上面的照片。如何找出总交易类型_Member“银”是怎样的?因为,例如,如果我使用查询将loket表与事务连接起来,那么结果必须为空,因为在transaction表中假定没有事务来自成员类型为silver的loket。即使你看看历史,它应