我需要分离读写器 PostgreSQL 实例。我有一个写副本和几个读副本。
Quarkus 支持 adding multiple data sources ,但是不清楚如何让 Panache/Hibernate 为不同的查询选择正确的。
问题:如何配置 Quarkus 使用不同的数据源进行读/写访问?
最佳答案
我们在我们的属性文件中使用以下内容来区分您需要选择哪个 DB 数据源。然后将指向不同数据源的不同包中的代码分开。
quarkus.hibernate-orm."db".packages=com.mycompany.outgoing.db
quarkus.hibernate-orm."push".packages=com.mycompany.outgoing.push
我认为您需要让子类指向某种相同的 BaseEntity 以区分数据源。我能想到的其他选项,我还没有使用过,是在您的存储库类中注入(inject) 2 个不同的 EntityManager 并直接从 EntityManager 管理您的存储库。
@Inject
@PersistenceUnit("db")
EntityManager entityManager;
@Inject
@PersistenceUnit("push")
EntityManager entityManagerPush;
关于java - Quarkus 中如何使用不同的数据源进行读写查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68682564/