多个数据源怎样拆分与绑定?
查看完整题解
参考回答
直接回答
先按业务边界区分数据源,再明确每组访问组件、会话工厂或实体管理器、事务管理器的对应关系。用Qualifier或明确命名消除歧义;Primary只表示某些注入的默认倾向,不会自动让每条SQL按业务路由,也不会把两库操作合成一个本地事务。
讲清原理
可以为不同仓储或Mapper包绑定不同访问基础设施,或使用受控路由数据源。事务开始后已取得的连接通常不能靠中途修改一个标记就切换到另一物理资源,路由上下文还需防止线程复用泄露。
自动配置会按已有Bean和候选情况退让,Boot4的具体数据源配置方式也需匹配当前API。不要复制旧版构建器代码后用随意覆盖依赖消除报错。
例子与易错点
先用两套隔离测试库验证各自读写、回滚和选错管理器的失败情况。跨库一致性另行设计;两个本地Transactional不能直接宣称已经实现分布式原子提交。
相关题:第 27 题、第 35 题、第 49 题。
这道题,你掌握得怎么样?
掌握程度由你主动标记,阅读和收藏不会自动改变状态。