본문 바로가기

프로젝트_ 커피주문 서비스

Order 삭제

  • 참조 무결성 위반 문제 해결
  • OrderAPIController 코드 추가
@RestController
public class OrderAPIController {

    @Autowired
    private OrderService orderService;

				
                .
                .
                .
                
    //주문 삭제
    @DeleteMapping("/api/orders/{id}")
    public ResponseEntity<Order> delete(@PathVariable Long id) {
        Order deleted = orderService.delete(id);
        return deleted != null ?
                ResponseEntity.status(HttpStatus.OK).build() :
                ResponseEntity.status(HttpStatus.BAD_REQUEST).build();
    }
}

 

  • OrderService 코드 추가
@AllArgsConstructor
@NoArgsConstructor
@ToString
@Getter
@Entity
@Table (name = "OrderProduct")
public class OrderProduct {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @ManyToOne
    @OnDelete(action = OnDeleteAction.CASCADE) //cascade 옵션 -> OnDelete 옵션은 cascade = CascadeTYPE의 모든 조건을 충족!
    @JoinColumn(name = "order_id")
    private Order order;

    @ManyToOne
    @JoinColumn(name = "product_id")
    private Product product;

    @Column
    private int Total;

    public static OrderProduct createOrderProduct(OrderProductDto dto, Order order, Product product) {
        return new OrderProduct(
                dto.getId(),
                order,
                product,
                product.getPrice()
        );
    }
}

 

 

 

GitHub - Pearlmoon997/CoffeeShop: CoffeeShop

CoffeeShop. Contribute to Pearlmoon997/CoffeeShop development by creating an account on GitHub.

github.com

 

'프로젝트_ 커피주문 서비스' 카테고리의 다른 글

Store - Order 연결  (0) 2022.08.09
Store CRUD  (0) 2022.08.08
Order 조회, Order_Product 등록, 삭제  (0) 2022.08.05
OrderProduct_ SELECT 테스트  (0) 2022.07.30
OrderDate 삽입  (0) 2022.06.20