[英]DDD / Good practice to save many entities at once through repository
基本上,我有一個Notification
實體,代表用戶在我的應用上的通知。
我期待一個用例,用戶可以一次標記為“讀取”許多通知。
我目前所做的是獲取通知集合,循環通過它們以便為每個notificationRepository.save(notification)
指定notificationRepository.save(notification)
。 (如果我們嚴格遵循存儲庫模式本質來抽象數據庫概念,則save
甚至add
)。
在封面下,存儲庫實現綁定遠程數據庫 。
問題是,對我的數據庫服務器進行往返是非常昂貴的(因為遠程)。
實際上,如果用戶希望標記10個通知,那么將有10次往返...
有沒有辦法批量保存,同時保持DDD技術模式規則?
例如,我應該在我的存儲庫中定義addAll
(或saveAll
)方法嗎?
通常,如果您有ORM或某種更改跟蹤器,則您的存儲庫上不需要save()
方法,因為在提交UnitOfWork時,將在應用程序級別刷新修改。
如果標記了10個通知,則ORM可能會將其轉換為10個更新語句,但這對我來說從來都不是問題。 如果真的是一個問題,也許您可以優化它來進行批量更新。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.