Jul 10, 2017 10:38:44 AM

    概述

    由于这个问题经常被问到,nutzcn社区累计了好几十个帖子,所以有必要单独开个文档描述一下

    在一些复杂或遗留系统中,通常需要操作两个或更多的数据源.

    总的原则: NutDao与DataSource是一对一关系.

    配对模式在Ioc中的示例

    你可以定义无数个dataSourceXXX,只要它们使用不一样的名称, 然后建立对应的N个NutDao实例

    每个NutDao实例,均refer对应的dataSource

    在Module/Service类中的注入

    多数据源下的事务模板

    在一般情况下,Trans.exec下,多个数据源下的事务能正常工作,除特殊的情况: 某个数据源commit时报错,之前已经commit的数据源无法回滚.

    事务执行时序

    以上特殊情况,是任何基于标准JDBC驱动的ORM都无法回避的. 走XA的JDBC API才可能解决.

    本页面的文字允许在知识共享 署名-相同方式共享 3.0协议和下修改和再使用。