max*_*xdj 6 java spring transactions appfuse
我是第一次建立一个弹簧应用程序.我遇到了很多并发问题,我怀疑我管理后端的方式有问题.我可以看到我的后端代码和我见过的示例之间的唯一区别是经理类.
在我的代码中,我有我的模型(由hibernate管理)和我的DAO,在模型上进行CRUD /搜索/等.在我看过的示例代码中,他们从不直接使用DAO.相反,他们使用间接调用DAO的管理器类.对我来说,这似乎是无意义的代码重复.
这些经理课程是什么?我已经读过他们将我的代码包装在"交易"中,但为什么我会想要呢?
事务用于使更新"事务性".
示例)用户单击导致在数据库中更新13条记录的网页.一个事务将确保0或13个更新通过,一个错误将使它全部回滚.
管理者必须做的事情更容易.他们不会神奇地使你的代码线程安全.直接使用DAO本身并不是线程安全漏洞.
但是,我建议您限制DAO中的逻辑,并在业务层中添加尽可能多的逻辑.查看DAO模式的最佳实践?
如果你发布的代码的一个小例子对于多个线程不能很好地运行,我们可以提出一些想法......但是事务和管理人员都无法解决你的问题.
| 归档时间: |
|
| 查看次数: |
881 次 |
| 最近记录: |