什么是事物??
事物:逻辑上的一组操作,这组操作 要么成功,要么失败。
场景: A客户 购买 B商品
正确结果: A客户成功购买B商品时,B商品库存减少,生成相应的A客户关于B商品的订单,否则(库存不足或者程序运行出错),则不生成A客户关于B商品的订单。
错误结果:(1)A客户生成B商品订单,但B商品的库存未减少。(2)A客户未生成B商品的订单,B商品库存减少。
事物的必要性显而易见:A客户购买B商品时:生成B商品订单和B商品库存减少必须放到一个事物中管理。
事物特性:原子性,一致性,隔离性,持久性
特性说明:
原子性: 事物不可分割的工作单位,要么发生,要么不发生。A客户生成B商品就是一个不可分割的小单位(个人见解不当望指正)分割就会出现上面所说的错误结果。
一致性:个人觉得更侧重执行的结果,成功生成订单且订单中商品数与库存减少数必须保持一致
隔离性:多个客户同事购买B商品时。每个客户购买B商品都是一个独立的事物,每个客户间互不影响和干扰。并发事物隔离情况具体可以通过数据库进行设置。
持久化:将同一事物执行的结果,持久化到数据库中。