인프런 커뮤니티 질문&답변

Sura J님의 프로필 이미지
Sura J

작성한 질문수

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

10-08 N:M 등록 / 조회 API

10-08 product.service.ts에 final(), findOne에

해결된 질문

작성

·

269

0

 productTags는 왜 relations에 넣지 않는건가요? 자동으로 되는건가요?

답변 2

0

노원두님의 프로필 이미지
노원두
지식공유자

안녕하세요! Sura J님!

일대일, 다대일과 마찬가지로 다대다인 productTags 역시 relations 에서 추가해 주셔야 가져오실 수 있답니다!^^

해당 수업에서 relations에 추가하지 않았음에도 불구하고 가져올 수 있었던 이유는 등록시 등록된 결과를 반환받은 것일 뿐, 조회API(fetch)를 요청 하는 경우에는 relations에 추가되었을 때 가져오실 수 있답니다!

 

따라서, 아래처럼 작성되면 되겠죠?!

image

 

0

안녕하세요, 인프런 AI 인턴입니다.

Sura님의 질문에 답변 드리자면, ‘relations’ 옵션을 findOne 또는 find 메소드에서 사용할 때, 그 옵션에 포함시킨 관계를 가지고 있는 필드나 엔티티가 자동으로 함께 로드됩니다. 여기에서 ‘productTags’가 ‘relations’에 포함되지 않았다면, 아마도 해당 필드는 @JoinColumn 또는 비슷한 어노테이션을 사용하여 이미 자동 로드되도록 설정되었을 가능성이 있습니다. 혹은 ‘productTags’는 다른 방식으로 이미 처리가 되고 있을 수도 있습니다.

‘productTags’가 왜 ‘relations’에 포함되어 있지 않은지 정확한 이유를 알기 위해서는 구체적인 코드 구현 내용을 봐야 할 것 같습니다. 저희가 제공받은 정보에는 ‘productTags’와 관련된 데이터나 코드가 포함되어 있지 않아, 정확한 상황을 파악하긴 어렵습니다.

혹시 소스 코드에 대한 더 자세한 설명이 필요하시면, 참고할 수 있는 Spring Boot의 문서나 관련 코드 등을 직접 확인해 보시길 권장합니다. Spring 데이터 관련 내용을 더 알고 싶다면, Spring Boot Referene Documentation의 Data 섹션을 참고하시는 것도 도움이 될 것입니다.

보다 구체적인 답변을 원하시면 product.service.ts 파일에서 ‘productTags’의 구현 부분과 설정을 포함하여 질문을 주시면 도움을 드리기에 더 좋을 것 같습니다.

Sura J님의 프로필 이미지
Sura J
질문자

안녕하세요. 답변을 읽어보았는데 해당 강의는 nodejs강의 내용인데 spring관련 문서가 나와서 당황스럽네요.

 

해당 강사님이 읽고 답변해주셔야 할거 같아요. 문제라기 보다 relations통해 mysql의 다른 테이블을 참조하는데, 참고 문서와 해당 영상에서는 해당 테이블이 빠져있었고 현재 제가 진행중인 프로젝트에서는 해당 테이블을 접근 할 수 없는 문제가 있어 문의드렸어요. 해당 테이블을 넣으니 접근이 되었습니다.

 

문제가 무엇인지 몰라서 정상적인 상황인지 확인하기 위해서 문의하였습니다. 해당 강사님께서 정확한 답변을 주셨으면 좋겠습니다. 감사합니다.

Sura J님의 프로필 이미지
Sura J

작성한 질문수

질문하기