JPA を介してHibernate のマルチテナンシー機能を使用し、テナントごとのデータベース戦略を使用しています。私の要件の 1 つは、各データベースに存在するが明らかに異なるデータを持つテーブルに対してクエリを実行できることです。これは可能ですか?
お時間をいただきありがとうございます。
JPA を介してHibernate のマルチテナンシー機能を使用し、テナントごとのデータベース戦略を使用しています。私の要件の 1 つは、各データベースに存在するが明らかに異なるデータを持つテーブルに対してクエリを実行できることです。これは可能ですか?
お時間をいただきありがとうございます。
いいえ。hibernateがクエリを実行すると、すでに接続で初期化されているため、これは不可能です。HibernateでのMTサポートは、基本的に「Hibernateの外」で少し行われます。これは、適切な接続で休止状態にフィードするようなものであり、フィードされると、その接続にバインドされます:)。
クロステナントクエリが必要な場合は、マルチテナンシーを再検討するか、JPAプロバイダーを「共有スキーマアプローチ」をサポートするプロバイダー(EclipseLinkなど)に変更することをお勧めします。共有シェマアプローチでは、2つの選択肢があります。