0

我一直使用 DAO 模式进行 CRUD 操作,每个 DAO 负责一次访问唯一的数据源,并使用泛型来支持多个实体。

现在我需要以下更改

1.- 数据源将在运行时动态添加/删除

2.- 一个工作单元涉及例如:从数据源 A 读取,在 B 上写入,如果 B 成功,则从 A 中删除。A 和 B 可以互换,这让我想到了某种起源/目的地机制。

3.- 仅针对 1 个数据源进行读取

所有数据源中的实体都是相同的,为此我可以添加一个工厂,该工厂在添加数据源时创建一个新的 DAO,回答第一个问题。但我不确定如何解决其余的问题。

DAO 模式还适用吗?如果是,需要添加什么?或者整体上是否有不同的方法?

4

2 回答 2

1

如果Spring是您的应用程序堆栈的一部分,您可以使用AbstractRoutingDataSource它来灵活地添加动态datasource映射。如果不通过它的源代码,您可以构建自己的逻辑类似于此。

在快速谷歌上,我遇到了这个http://blog.springsource.org/2007/01/23/dynamic-datasource-routing/。它正在解释这种动态路由。

于 2012-07-06T04:20:54.237 回答
0

这听起来像是商业交易。您需要一个涵盖事务的业务组件,其中涉及多个 DAO。

于 2012-07-06T04:00:37.447 回答