@Transactional public void insertOrder(Order order) { for (int i = 0; i < order.getLineItems().size(); i++) { LineItem lineItem = (LineItem) order.getLineItems().get(i); String itemId = lineItem.getItemId(); Integer increment = new Integer(lineItem.getQuantity()); Map<String, Object> param = new HashMap<String, Object>(2); param.put("itemId", itemId); param.put("increment", increment); itemMapper.updateInventoryQuantity(param); } orderMapper.insertOrder(order); orderMapper.insertOrderStatus(order); for (int i = 0; i < order.getLineItems().size(); i++) { LineItem lineItem = (LineItem) order.getLineItems().get(i); lineItem.setOrderId(order.getOrderId()); lineItemMapper.insertLineItem(lineItem); } }