我的任务是为不同的数据源创建多个会话工厂。一个数据源将用于读取请求,另一个用于读写请求。
我们的数据库服务(DAO 的包装器)的每个 API 都作为事务执行。单个 API 可以调用具有不同读/写属性的多个 DAO 函数。
执行此任务的最佳方法是什么?
我假设不同的数据源是不同的数据库。否则,您可以使用带有 @Transactional 注释的 readOnly 属性来管理只读事务。
您可以在 DAO 层中注入两个单独的会话工厂来管理这些事务。或者,您可以使用 AbstractRoutingDataSource。在此处查看有关此内容的文章