JPA2 외래키 기반 조회 모델로의 리팩토링 요약 (TL;DR)증상캐싱·페이징 적용이 까다로운 구조로 변하고 있었다.플레이리스트·음악 조회 API가 복잡해질수록 성능 예측이 어려워지고,원인조회 시점에 불필요한 연관 객체 로딩, N+1 문제 가능성, SQL 제어력 저하가 발생했다.JPA @OneToMany / @ManyToOne 중심의 관계 매핑 설계로 인해조치조회는 Repository의 명시적인 쿼리(Native Query / Projection)로 처리했다.객체 연관관계를 제거하고, 외래키(FK) 기반 조회 모델로 전환했다.결과캐싱·페이징·대량 조회 확장에 유리한 구조를 확보했다.조회 쿼리가 단순해지고 예측 가능해졌으며,문제 정의MusicPlace 프로젝트에서 플레이리스트(Playlist)와 음악(Music)은 처음에는 전형적인 JPA 관계 매핑.. 2025. 12. 20. 자바 ORM 표준 JPA 프로그래밍 1장 1장 - JPA 소개1. SQL을 직접 다룰 때 발생하는 문제점코드의 반복 (SQL 코드의 반복)SQL 의존적인 개발java 코드에서 수정하면 SQL에서 저장, 조회, 수정 부분과 연관된 객체를 SQL로 수정해야 한다DAO를 확인해 어떤 SQL이 실행되고 어떤 객체들이 함께 조회 되는지 확인해야 한다Entity를 신뢰할 수 없다(DAO 확인 필요)JPA와 문제 해결 - JPA가 SQL 관련 API를 제공한다JPA에서 제공하는 CRUD 기능저장 : jpa.persist(member);조회 : jpa.find(Member.class, memberId);수정 : member.SetName(”이름변경”);연관된 객체 조회Member member = jpa.find(Member.class, memberId); T.. 2025. 3. 21. 이전 1 다음