struts+spring+hibernate的项目中事务处理时放在DAO层好呢还是service层好呢?原因是什么呢?

2023-12-19 05:25:32
推荐回答(3个)
回答1:

service层
DAO层本来的意义应该是基本的原子性的持久化操作

显然,大多数事务都是由多个持久化操作组成的.
(比如:银行的转帐,理论上就包含起码两个update语句)

而service里面的方法代表了一个独立且完整的业务逻辑,这个与事务的概念是对应重合的.

so!应该放在service层无疑!

回答2:

service 层。事务控制可能设计到其他的业务内容的处理。
例如:在删除用户的时候,同时要不该用户发的帖子一块删了。还有记录日志表等操作,放在service层更好控制。

回答3:

service层

为什么呢
dao层只有与数据库的操作
而服务层还可能有其他的代码操作
如果放在dao层那么操作失败 service的其他业务代码不回滚