SSH事务管理放在哪一层(Dao?Service?)?为什么?
5个回答
2013-01-10
展开全部
理论上, 是放在 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 层, 那么如果订单保存成功, 但是财务的失败了。 那就是悲剧。
展开全部
我都觉得应该放更上面一层,一次请求对应一个事物,请求成功提交,请求失败的话就回滚。
你放到层太低的话,就起不到什么作用了。
你放到层太低的话,就起不到什么作用了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
放在DAO层,这个本来就是ssh架构 dao层用来做对象数据关系层的操作的.
用当前会话对事务进行管理.非常有效而且必要的.
用当前会话对事务进行管理.非常有效而且必要的.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
dao层是与数据库做数据关联操作的,从而进行对事物的管理
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
放到Service层
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询