[스프링] JPA 연관관계 매핑
·
스프링
JPA는 객체 중심의 개발을 가능하게 해주는 ORM 기술이다.하지만 객체와 관계형 데이터베이스는 연관관계를 표현하는 방식이 전혀 다르다.객체는 참조(reference)를 통해 다른 객체를 연결한다. → order.getMember()데이터베이스는 외래 키(foreign key)를 사용해 테이블 간 관계를 표현한다. → ORDER.member_id따라서 JPA에서는 이 둘을 어떻게 매핑할지 정확하게 설정해야 한다.매핑을 잘못하면 다음과 같은 문제가 발생할 수 있다.의도하지 않은 SQL 쿼리 실행불필요한 UPDATEN+1 문제성능 저하유지보수 어려움오늘은 그래서 JPA에서 가장 핵심적인 개념 중 하나인 ‘연관관계 매핑’에 대해 정리한다.외래 키의 위치, 연관관계의 주인, 단방향/양방향의 차이, 그리고 실무에..