Я хотел бы, чтобы все запросы из моего приложения Spring-Hibernate, выполняемые в транзакции только для чтения, направлялись на ведомое устройство PostgreSQL, а все запросы транзакций чтения-записи — на ведущее устройство.
При использовании транзакций, управляемых аннотациями, в Spring, если транзакция определена как доступная только для чтения, драйвер PostreSQL позволяет выполнять только выборочные запросы, что очевидно, однако нет упоминания о том, как драйвер будет вести себя в конфигурации ведущий-ведомый. Например, у драйвера MySQL есть класс соединения репликации, который автоматически отправляет запросы транзакций только для чтения подчиненному устройству.
Одним из решений было бы использовать несколько фабрик сеансов Hibernate и использовать одну, указывающую на ведомое устройство, для выбора, а другую — для обновлений, но это было бы слишком много ручной обработки. Как я должен это проектировать?