読み取り専用トランザクションで実行された Spring-Hibernate アプリケーションからのすべてのクエリを PostgreSQL スレーブにディスパッチし、すべての読み書きトランザクション クエリをマスターにディスパッチしたいと考えています。
Spring でアノテーション駆動型トランザクションを使用しているときに、トランザクションが読み取り専用として定義されている場合、PostreSQL ドライバーは選択クエリのみを実行できます。これは明らかですが、ドライバーがマスター スレーブ構成でどのように動作するかについては言及されていません。たとえば、MySQL ドライバーには、読み取り専用のトランザクション クエリをスレーブに自動的にディスパッチするレプリケーション接続クラスがあります。
解決策の 1 つは、複数の Hibernate セッション ファクトリを使用し、1 つを選択用に、もう 1 つを更新用にスレーブを指すように使用することですが、それでは手動処理が多すぎます。これをどのように設計すればよいですか?