이렇게 되어버리네요..
아마 bucket.setProduct(product);
줄이 문제일 겁니다.
bucket에 넣어 줘야 하는 값은
product의 id를 잡아서 가져와야 하는데 제가 setProduct를 해버려서
지금 bucket에 @RequestBody로 가져온 Product product가
자연스럽게 ProductRepository에 저장이 되어서
이것을 bucket에 넣어주나 봅니다.
그렇기 때문에 productEntity에서 가져와서 view에서 정보를 던져주나 봅니다.
이 문제를 해결하기 위해서는 Query문을 사용해서 SELECT를 해주어야 합니다.
아래에 한 줄을 추가해주니
bucket.setProduct(productRepository.getById(product.getId()));
해결되었습니다!
이 한 줄이 의미하는 것은 많은데요.
js에서 product.id를 받아서
@RequestBody로 product에 넣어줍니다.
product에서 id를 꺼내서
productRepository에 있는 저장된 id를 가져와서
이것을 setProduct로 bucket에 product로 지정을 해줍니다.
이렇게 지정된 것은 product_id로 외래 키는 bucket이 가지게 됩니다.
'Programming > Problem Solving' 카테고리의 다른 글
[Problem Solving]장바구니에 데이터 중복으로 들어가는 것 해결[장바구니 기능] (0) | 2021.08.07 |
---|---|
[Problem Solving]DB에서 Data(id)가 늘어나지 않고 Foreign key(외래키 값)만 대체되는 것 수정[장바구니 기능] (0) | 2021.08.06 |