[Problem solving] 외래키를 설정해야하는데, row가 생겨버리는 문제해결[getById]
Programming/Problem Solving

[Problem solving] 외래키를 설정해야하는데, row가 생겨버리는 문제해결[getById]

 

 

이렇게 되어버리네요..

 

 

아마 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를 가져와서

이것을 setProductbucketproduct로 지정을 해줍니다. 

 

이렇게 지정된 것은 product_id로 외래 키는 bucket이 가지게 됩니다.