Quarkus:EntityManager注入具有多个数据源

时间:2019-12-20 19:55:05

标签: entitymanager quarkus

有一些使用多个数据源的示例:

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

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

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

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

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

谢谢。

2 个答案:

答案 0 :(得分:2)

不幸的是,目前尚不支持使用多个持久性单元,至少不支持Quarkus配置方法,并且手动正确配置这些单元很繁琐。

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

这肯定是我们很快将要进行的工作。

答案 1 :(得分:0)

有进步。 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