Dav*_*rks 8 java transactions spring-mvc
我在这里的第一个项目中学习Spring-MVC.
在阅读有关事务的文档之后,我注意到所有示例都将事务放在服务对象/方法周围,而不是DAO(数据访问对象/方法).
我想知道为什么.如果不知道更好,我会考虑在访问数据库的大多数DAO方法周围添加事务(我的想法:数据库=事务).我还没有很多跨越多个DAO的服务方法(但我想这可能是将服务标记为事务的原因).
问题:
我只想知道其他人在这种情况下做了什么.您是否自然地将事务放在最低级别的项目周围(例如,围绕DAO,并且只有当它们以需要事务的方式跨越多个DAO时才围绕服务)?
或者您只关注作为一般主体的服务交易?因此,坚持一层,因为从长远来看,这是更全面的?
为了我的钱,我尝试将交易放在应用程序中可能的最粗略的点,这往往是一个类似服务/管理器的对象,它协调对一个或多个更精细的获得的 dao 调用的调用。
理论上,您可以将事务放在从服务到 daos 的任何地方,假设它们被定义为在需要时加入现有事务。在实践中,我发现这不太有用,因为它是不必要的,并且在尝试调试代码时只会让您烦恼。
| 归档时间: |
|
| 查看次数: |
2066 次 |
| 最近记录: |