簡體   English   中英

DDD /通過存儲庫一次性保存許多實體的良好實踐

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM