さまざまなデータ ソースに対して複数のセッション ファクトリを作成するタスクがあります。1 つのデータ ソースが読み取り要求に使用され、別のデータ ソースが読み取り/書き込み要求に使用されます。
データベース サービス (DAO のラッパー) の各 API は、トランザクションとして実行されます。1 つの API で、異なる読み取り/書き込みプロパティを持つ複数の DAO 関数を呼び出すことができます。
このタスクを実行する最善の方法は何ですか?
異なるデータソースは異なる DB であると想定しています。それ以外の場合は、 @Transactional アノテーションで readOnly 属性を使用して、読み取り専用トランザクションを管理できます。
これらのトランザクションを管理するために、DAO レイヤーに 2 つの個別のセッション ファクトリを挿入できます。あるいは、AbstractRoutingDataSource を使用することもできます。これについての書き込みはこちらをご覧ください