有一些使用多个数据源的示例:
@Inject
@DataSource("users")
AgroalDataSource dataSource1;
@Inject
@DataSource("inventory")
AgroalDataSource dataSource2;
,但是他们不使用EntityManager。 是否有可能得到像这样的东西:
@Inject
@DataSource("users")
EntityManger em1;
@Inject
@DataSource("inventory")
EntityManger em2;
谢谢。
答案 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