SSH事务管理放在哪一层(Dao?Service?)?为什么?
答案:5 悬赏:10 手机版
解决时间 2021-11-27 18:41
- 提问者网友:十年饮冰
- 2021-11-27 12:17
SSH事务管理放在哪一层(Dao?Service?)?为什么?
最佳答案
- 五星知识达人网友:鱼芗
- 2021-11-27 12:56
理论上, 是放在 Service 这一层.
举例来说嘛.
例如, 你的系统, 是一个 购物网站
一个用户 买了 3种商品, 每样各一个。
支付费用 2000 元 (其中使用 信用卡支付了1K, 支付宝又支付了1K)
那么你的 Service 要调用下面这些 Dao 来插入数据
首先,调用 订单的 Dao, 插入 订单总表 1行 与 订单明细 3行数据。
然后,调用 财务的 Dao, 插入 收款 2000 元的信息 2行数据。
如果你的 事务在 Dao 层, 那么如果订单保存成功, 但是财务的失败了。 那就是悲剧。
举例来说嘛.
例如, 你的系统, 是一个 购物网站
一个用户 买了 3种商品, 每样各一个。
支付费用 2000 元 (其中使用 信用卡支付了1K, 支付宝又支付了1K)
那么你的 Service 要调用下面这些 Dao 来插入数据
首先,调用 订单的 Dao, 插入 订单总表 1行 与 订单明细 3行数据。
然后,调用 财务的 Dao, 插入 收款 2000 元的信息 2行数据。
如果你的 事务在 Dao 层, 那么如果订单保存成功, 但是财务的失败了。 那就是悲剧。
全部回答
- 1楼网友:一袍清酒付
- 2021-11-27 16:48
放到Service层
- 2楼网友:雪起风沙痕
- 2021-11-27 15:37
放在DAO层,这个本来就是ssh架构 dao层用来做对象数据关系层的操作的.
用当前会话对事务进行管理.非常有效而且必要的.
用当前会话对事务进行管理.非常有效而且必要的.
- 3楼网友:山有枢
- 2021-11-27 14:36
dao层是与数据库做数据关联操作的,从而进行对事物的管理
- 4楼网友:雪起风沙痕
- 2021-11-27 13:08
我都觉得应该放更上面一层,一次请求对应一个事物,请求成功提交,请求失败的话就回滚。
你放到层太低的话,就起不到什么作用了。
你放到层太低的话,就起不到什么作用了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯