gpt4 book ai didi

java - 经理/交易的目的是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:11:33 26 4
gpt4 key购买 nike

我是第一次构建 spring 应用程序。我遇到了很多并发问题,我怀疑我管理后端的方式有问题。我看到的后端代码和我见过的示例之间的唯一区别是管理器类。

在我的代码中,我有我的模型(由 hibernate 管理)和我的 DAO 在模型上进行 CRUD/搜索/等。在我看过的示例代码中,他们从不直接使用 DAO。相反,他们使用间接调用 DAO 的管理器类。对我来说,这似乎是毫无意义的代码重复。

这些管理类有什么用?我读到过他们将我的代码包装在“交易”中,但我为什么要这样做?

最佳答案

事务用于使更新具有“事务性”。

示例)用户单击一个网页,导致数据库中更新了 13 条记录。一个事务将确保 0 或 13 个更新通过,一个错误将使它全部回滚。

管理者必须努力让事情变得更容易。它们不会神奇地使您的代码线程安全。直接使用 DAO 本身并不是线程安全错误。

但是,我建议您限制 DAO 中的逻辑,并将尽可能多的逻辑放在业务层中。参见 Best practice for DAO pattern?

如果您可能发布了一个无法很好地与多线程一起工作的代码示例,我们可以提出一些想法...但是单靠事务和管理器都无法解决您的问题。

关于java - 经理/交易的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3010876/

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