Quarkus:多数据源下的EntityManager注入

5

以下是处理多个数据源的一些示例:

@Inject
@DataSource("users")
AgroalDataSource dataSource1;

@Inject
@DataSource("inventory")
AgroalDataSource dataSource2;

但他们不使用EntityManager。是否有可能得到类似这样的东西:

@Inject
@DataSource("users")
EntityManger em1;

@Inject
@DataSource("inventory")
EntityManger em2;

谢谢。

2个回答

5

很遗憾,目前还不支持使用多个持久化单元,至少在Quarkus配置方法下无法支持,手动正确配置单元也很繁琐。

您可以订阅此问题https://github.com/quarkusio/quarkus/issues/2835以获得进展通知。

这绝对是我们即将要解决的问题。


2

有一个进展。Guillaume的原始回答已经在此处实现并宣布(自Quarkus 1.8.0可用):https://quarkus.io/blog/quarkus-1-8-0-final-released/

以下是我Java代码的一部分。

@Inject
@PersistenceUnit("dummy1")
EntityManager em;

以下是示例应用程序配置文件(application.properties)。

# dummy1
quarkus.datasource."dummy1".db-kind=postgresql
quarkus.datasource."dummy1".username=postgres
quarkus.datasource."dummy1".password=postgres
quarkus.datasource."dummy1".jdbc.url=jdbc:postgresql://localhost:15432/postgres
quarkus.hibernate-orm."dummy1".database.generation=drop-and-create
quarkus.hibernate-orm."dummy1".datasource=dummy1
quarkus.hibernate-orm."dummy1".packages=dev.tkhm.graphbff.infrastructure.dummy1

您也可以在这里查看详细信息。 https://quarkus.io/guides/hibernate-orm#multiple-persistence-units

(注:此段内容为提供了一个链接,可供查询更多有关“多持久化单元”的信息。)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接