我的本地 HSQLDB 遇到了一些错误,我认为我需要一个事务处理系统。
Spring 框架似乎是最常见的选择,但我在线阅读的所有教程都实现了 DAOPatterns、DAO 等。
是否可以在我已经实现的类之上设置事务处理组件?
我无法重写我的整个应用程序,并且基本上已经让一切正常工作了......
最诚挚的问候 达扎
最佳答案
您“可以”处理各个级别的事务,但不建议这样做。
Daos 通常用于处理数据库操作,但通常不是服务级别的事务。
为什么?那么 Dao 方法应该做一些简单的事情,例如更新条目或查找条目。关于交易要记住的重要一点是它们应该是 ACID .
处理事务时,您应该确保您的数据库在发生回滚时处于正确的状态。 想象一下,您正在执行以下操作(教科书):从一个帐户取出资金并将其存入另一个帐户。如果是两笔交易,那么您可能会从一笔交易中取出钱,然后尝试将其放入另一笔交易中。但万一出现回滚怎么办?然后您从一个帐户中取出了钱,然后它就消失了。
这就是为什么您需要担心自己的交易。
顺便说一句,Spring提供了事务支持,但这不是它的主要目的。也就是说,选择 Spring 确实会得到很多支持。
为了最终回答你的问题,我认为你应该尝试你的解决方案,但看看它是否符合 ACID。如果没有,您应该尝试添加 dao 层,因为它通常不会太麻烦,并在服务层上添加事务。
关于java - 在已有的类中实现 Spring 事务处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21547835/