gpt4 book ai didi

java - DDD/通过存储库一次保存多个实体的良好做法

转载 作者:行者123 更新时间:2023-11-29 05:12:48 24 4
gpt4 key购买 nike

基本上,我有一个 Notification 实体,代表用户在我的应用程序上的通知。

我期待一个用例,其中用户可以一次标记为“阅读”许多通知。

我目前所做的是获取通知集合,循环遍历它们以便为每个通知指定一个 notificationRepository.save(notification)。 (save 甚至 add 如果我们严格遵循存储库模式本质来抽象数据库概念)。

在幕后,存储库实现绑定(bind)了一个远程数据库

问题是往返我的数据库服务器(因为远程)的成本非常高。
实际上,如果用户希望标记 10 个通知,则将有 10 次往返...

有没有办法在保持 DDD 技术模式规则的同时批量保存这些内容?
例如,我是否应该在我的存储库中定义一个 addAll(或 saveAll)方法?

最佳答案

通常,如果您有 ORM 或某种更改跟踪器,则不需要在存储库上使用 save() 方法,因为当 UnitOfWork 为 promise 。

如果标记了 10 个通知,ORM 很可能会将其转换为 10 个更新语句,但这对我来说从来都不是问题。如果这确实是一个问题,也许您可​​以优化它以进行批量更新。

关于java - DDD/通过存储库一次保存多个实体的良好做法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27759511/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com