現在、SELECT クエリの一部をメイン DB から読み取り専用レプリカに移動しようとしています。これらのクエリは主に統計などに使用され、前述のようにすべて読み取り専用です。
application.conf にレプリカ データベースを追加し、使用するクエリを変更しました。
JPA.getJPAConfig("replica").getJPAContext().em().createNativeQuery(query)
レプリカに電話をかけるたびに、Play! 次のエラーが表示されます:
JPA error
A JPA error occurred (No JPAConfig is found with the name replica)
このエラーを防ぐために私が見つけた唯一の方法は、その上に @PersistenceUnit(name="replica") を含む役に立たないクラスを追加して、レプリカの JPA conf の作成を強制することです。
これはきれいな修正というよりも、汚いハックだと思います。レプリカ DB は読み取り専用であり、その上に新しいテーブルを作成しているため、空であっても非常に面倒です。
誰かがこの問題を解決する別の方法を見つけた場合は、それについて聞いて本当にうれしいです!
良い朝/夕方/午後/夜をお過ごしください。