작성
·
311
0
안녕하세요.
JPA 로 Post 를 등록하고 User 의 List<Post> posts 컬렉션 정보를 조회할때 질문드립니다.
post 등록시 User 의 List<Post> posts 컬렉션에 따로 post 를 넣지 않았는데 조회할 경우에 post 정보가 나오게되는 이유가 궁금합니다.... post가 User 컬렉션에 자동적으로 저장되는 것인가요?
답변 1
0
안녕하세요, 이도원입니다.
말씀하신 것과 같은 이유 등으로 JPA를 사용합니다. 즉, 기존에 SELECT, JOIN 등의 SQL 문장을 실행하여 User, Post 등의 결과 값을 가져오던것을 JPS에서는 Entity의 매핑관계에 의해 JOIN과 같은 SQL 처리를 간략하게 해 줄 수 있습니다. 아래 코드와 같이 User 클래스의 posts에는 @OneToMany가 Post 클래스의 user에는 @ManyToOne의 객체 매핑 관계를 설정해 놓았기 때문에, User와 Post가 1:N의 관계로 설정되어 JOIN처러 결과값을 가져올 수 있게 됩니다. Post에 대한 데이터는 실제 Post 테이블에만 저장되게 됩니다.
User 클래스
Post 클래스
감사합니다.