实体方法 事务的使用
例子:
A方法事务属性: Supports B方法标准的Save: Required
A方法 集合循环批量调用 Save 想实现 出现错误的数据回滚,然后继续逻辑。
出现就是两条数据,第一条报错了,第二条正常。在数据库两条都存在。
解决:Save方法不能直接调用,而是通过工厂类获取服务来调用,这样就不是同一个对象了。
同一个类中方法调用方法事务不生效。
借鉴博客大佬回答:
Spring采用动态代理(AOP)实现对bean的管理和切片,它为我们的每个class生成一个代理对象。只有在代理对象之间进行调用时,可以触发切面逻辑。而在同一个class中,方法B调用方法A,调用的是原对象的方法,而不通过代理对象。所以Spring无法切到这次调用,也就无法通过注解保证事务性了。
(记录一下,BUG太难了,如有不对欢迎指出)
实体方法 事务的使用
例子:A方法事务属性: Supports B方法标准的Save: RequiredA方法 集合循环批量调用 Save 想实现 出现错误的数据回滚,然后继续逻辑...
点击下载文档
本文2024-09-16 22:02:18发表“eas cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-eas-45534.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章