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

cocoguy님의 프로필 이미지
cocoguy

작성한 질문수

[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발

JPA를 이용한 새 게시물 추가 - HTTP POST Method

User 의 List<Post> posts 컬렉션 조회시

작성

·

311

0

안녕하세요.
JPA 로 Post 를 등록하고 User 의 List<Post> posts 컬렉션 정보를 조회할때 질문드립니다.

post 등록시 User 의 List<Post> posts 컬렉션에 따로 post 를 넣지 않았는데 조회할 경우에 post 정보가 나오게되는 이유가 궁금합니다.... post가 User 컬렉션에 자동적으로 저장되는 것인가요?

답변 1

0

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

안녕하세요, 이도원입니다.

말씀하신 것과 같은 이유 등으로 JPA를 사용합니다. 즉, 기존에 SELECT, JOIN 등의 SQL 문장을 실행하여 User, Post 등의 결과 값을 가져오던것을 JPS에서는 Entity의 매핑관계에 의해 JOIN과 같은 SQL 처리를 간략하게 해 줄 수 있습니다. 아래 코드와 같이 User 클래스의 posts에는 @OneToMany가 Post 클래스의 user에는 @ManyToOne의 객체 매핑 관계를 설정해 놓았기 때문에, User와 Post가 1:N의 관계로 설정되어 JOIN처러 결과값을 가져올 수 있게 됩니다. Post에 대한 데이터는 실제 Post 테이블에만 저장되게 됩니다.

  • User 클래스

image

  • Post 클래스

image

감사합니다.

cocoguy님의 프로필 이미지
cocoguy

작성한 질문수

질문하기