2017-05-11 6 views
0

JPAを使用してPostgreSQLデータベースを管理しています。 DBには複数のスキーマが存在します。製品要件のために、入力要求ごとに異なるスキーマからデータをフェッチする必要があります。私は公開スキーマからデータを取得することができました。JPAを使用してPostgreSQLのスキーマを切り替える

しかし、スキーマを切り替えて実行時にデータを取得するようにJPAを構成するソリューションを見つけることができませんでした。

答えて

0

2つのオプションがあります。

テーブル名はスキーマ間で異なっている場合は、最も簡単な方法は、セットアップへのユーザのデフォルトsearch_pathです:

alter user your_user set search_path = public,schema_one,schema_two,schema_four; 

あなたはテーブルがのsearch_pathにおけるスキーマに沿って検索されるようにして行われた後。

この場合も、は重複するテーブル名がない場合に機能します。

他のオプションは、例えば、クエリを実行する前に、動的にスキーマを変更するには:答えを

set schema 'schema_one'; 
+0

感謝を!!です。私は複数のスキーマで同じテーブルを持っています。だから私は第二の選択肢のために行くだろう。私はエンティティを格納するためにSpring経由でJPAResositoryを使用しています。だから私は使用するオブジェクトを上記のクエリを実行するには?それはEntityManagerですか? – Amit

関連する問題