工作单元模式
// 使用工作单元 - 自动批量提交 ✅
public void placeOrder(Order order, Customer customer, List<Item> items) {unitOfWork.registerNew(order); // 注册新增对象unitOfWork.registerDirty(customer); // 注册修改对象 unitOfWork.registerDirty(items); // 注册修改对象// 在 commit() 时统一持久化,保证原子性unitOfWork.commit();
}
传统方式:
业务方法 → 仓储A.save() → 仓储B.update() → 仓储C.delete()
└───事务───┴─────事务────┴─────事务────┘
(每个操作可能在不同事务中)
工作单元方式:
业务方法 → 注册操作到工作单元 → unitOfWork.commit()
└───────────┴─────────────┴──────────────┘
(统一在一个事务中提交)
