【发布时间】:2015-03-01 19:25:14
【问题描述】:
基本上,我有一个Notification 实体,代表用户在我的应用上的通知。
我希望用户可以同时标记为“阅读”多个通知的用例。
我目前所做的是获取通知集合,循环它们以便为每个通知指定一个notificationRepository.save(notification)。 (save 甚至 add,如果我们严格遵循存储库模式本质来抽象数据库概念)。
在底层,存储库实现绑定了一个远程数据库。
问题是往返于我的数据库服务器(因为远程)非常昂贵。
实际上,如果用户希望标记 10 条通知,则将有 10 次往返...
有没有办法批量保存,同时保持 DDD 技术模式规则?
例如,我应该在我的存储库中定义一个addAll(或saveAll)方法吗?
【问题讨论】:
-
My Repository 有一个 flush 方法,可以将所有挂起的更改写入数据库。不需要保存方法。
-
了解工作单元。
标签: java architecture domain-driven-design repository-pattern