SSH为什么要配置事物?在业务逻辑层配置的事物,比如sessionfactroy是不是在service层给dao用的?
展开全部
以下是我个人理解,仅供参考:
所谓事务,其实就是“原子操作原则”,举个列子,使用网上银行转钱给朋友,如果你卡号输入正确,但是校验用户名字失败?你的电话短信会先通知你,说你转账XXX元,账户余额为xxx元,但是没有转账成功啊?怎么办呢?过了一会儿,短信又会通知你,说转账不成功,你的账户余额保持不变。其实这就是一个事务的操作,只是在程序里面,体现为方法对数据库的操作,包括数据库的更新操作。
所谓事务,其实就是“原子操作原则”,举个列子,使用网上银行转钱给朋友,如果你卡号输入正确,但是校验用户名字失败?你的电话短信会先通知你,说你转账XXX元,账户余额为xxx元,但是没有转账成功啊?怎么办呢?过了一会儿,短信又会通知你,说转账不成功,你的账户余额保持不变。其实这就是一个事务的操作,只是在程序里面,体现为方法对数据库的操作,包括数据库的更新操作。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<aop:config>是告诉spring在哪个地方需要使用事务配置,称之为pointcut,切入点
advisor是告诉spring在切入点的地方启用哪种事务配置,启用的是Hibernate的事务配置。
tx:advice是配置事务的传播性,对保存更新删除操作需要事务,其它方法是只读通知。
advisor是告诉spring在切入点的地方启用哪种事务配置,启用的是Hibernate的事务配置。
tx:advice是配置事务的传播性,对保存更新删除操作需要事务,其它方法是只读通知。
更多追问追答
追问
里面的save*方法,事物是用在Service的save*方法,还是指当用service里的save*时调用的dao里的那个方法?这里的sessiontfactory是不是就是service注入给dao的?
追答
里面的save*方法,事物是用在Service的save*方法。
一个请求处理过程可能会操作多条sql语句,那么保证原子性,必须把多条sql放到一个事务中执行。一般在一个Dao方法中只执行一条sql语句。
一般做法,service中注入dao,dao中注入sessionFactory,HibernateTransactionManager起作用就必须注入一个sessionFactory对象,这个和dao中注入的是一样的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询