前回書いた図みたいに、複数のデータソースにアクセスできることを目指したとき、過去にそれが試みてできなかったことを思い出した。 具体的には、どのようにすれば、複数のHibernateの接続先を定義できるのかがよくわからず諦めていた。 が、実は1.8.0からできるようになっている。 Quarkus 1.8 released - Multiple Persistence Units, Micrometer, jbang, GraalVM 20.2 Quarkus: Supersonic Subatomic Java quarkus.io 自分がやりたかったことは "Multiple Persistance Units" と呼ぶらしい。 必要な設定は次の3つ。 1. EntityManagerのクラスのInject時に @PersistenceUnit として他の Persistence Unitと区別可能なデータソースのnameを指定する 2. application.propertiesに PersistanceUnit用のデータソースを指定する 3. 使用するEntityを、Persistance Unit毎にパッケージ分けする 大体のことはここに書いてある。 Quarkus - Using Hibernate ORM and JPA Quarkus: Supersonic Subatomic Java quarkus.io 記載例としては、 1.の例: 1つのPersistance Unitしか使わない場合には不要だった@PersistenceUnitが追加されている。 ここで指定している名前と2.に書くPersistence Unitの名前を合致させる必要がある。 @Inject @PersistenceUnit ( "dummy1" ) EntityManager em; 2.の例: わかりやすさのために自分はdummy1で全て統一してしまっているが、ここには3つの話が載っていると思う。 # dummy1 quarkus.datasource. "dummy1" .db-kind=postgresql quarkus.datasource. "dummy1" .username=