본문 바로가기
반응형
SMALL

Collection3

N+1 문제 해결 N+1 문제란?문제 설명1개의 쿼리(N)를 날려서 엔티티 목록을 조회하고,각각의 엔티티마다 추가 쿼리(1)를 반복해서 실행하게 되는 구조예: 사용자 리스트를 조회하고, 각 사용자에 대한 게시글 목록을 다시 조회할 때SELECT * FROM users; -- 1회SELECT * FROM posts WHERE user_id = 1; -- N회SELECT * FROM posts WHERE user_id = 2;...결과적으로 N + 1개의 SQL이 실행되며, 데이터가 많아질수록 성능이 급격히 저하됩니다.해결 방법 1: JOIN + collection 매핑예: 사용자 1:N 게시글 목록 SELECT u.id AS user_id, u.name AS use.. 2025. 4. 17.
컬렉션 매핑 (collection, association) 핵심 요약 태그 용도 예시 association1:1 관계 매핑주문 안에 사용자 객체collection1:N 관계 매핑사용자 안에 주문 리스트1. – 1:1 관계 매핑예시: Order 안에 User 객체가 포함된 경우SQLSELECT o.id AS order_id, o.order_date, u.id AS user_id, u.name AS user_nameFROM orders oJOIN users u ON o.user_id = u.idresultMap Java 클래스public class Order { private int id; private Date orderDate; private User user;}public class User { .. 2025. 4. 17.
조인 결과 매핑 (1:1, 1:N) 1:1 조인 결과 매핑 (association 사용)예시: Order 객체 안에 User 정보 포함데이터 관계orders 테이블: 주문 정보 (order_id, user_id, order_date)users 테이블: 사용자 정보 (id, name, email)XML: resultMap + association SELECT o.order_id, o.order_date, u.id AS user_id, u.name AS user_name, u.email AS user_email FROM orders o JOIN users u ON o.user_id = u.idJava 객체public class Order { private int orderId; .. 2025. 4. 17.
LIST