N° 01 — 목록

'Entity' (2)

  1. Software Architecture/DDD & Patterns

    DDD Patterns - 02. DDD 전술적 설계

    신분증 있는 사람과 동전 — 엔터티, 값 객체, 애그리거트사람을 식별할 때 신분증을 본다. 같은 이름, 같은 생김새라도 주민번호가 다르면 다른 사람이다. 반면 동전은 식별 번호가 없다 — 100원짜리 두 개는 교환해도 아무도 모른다. 가치가 같으면 같은 것으로 취급한다. 이 둘은 "객체"처럼 보이지만 식별 방식이 근본적으로 다르다.DDD의 전술적 설계는 도메인을 이루는 객체들을 이렇게 식별 방식과 수명에 따라 나눈다. Evans가 에서 정의한 빌딩 블록이다 — 엔터티, 값 객체, 애그리거트, 도메인 서비스, 도메인 이벤트. 각각 다른 규칙과 책임을 갖는다.엔터티 — 신분증으로 식별되는 객체엔터티(entity)는 식별자(identity)로 구별되는 객체다. 두 Order가 같은 내용(같은 상품, 같은 금액..

    · 댓글
  2. Backend Development/Spring Boot

    SpringBoot - 05. spring-data-jpa

    findById가 100번의 SELECT를 발생시킬 때 — Spring Data JPA와 N+1 문제JPA로 User 엔티티를 조회했다. 쿼리 로그를 보니 SELECT가 101번 실행됐다 — User 1번 + User의 Order 목록 100번. 이것이 N+1 문제다: 1번의 메인 쿼리 + N번의 연관 엔티티 조회. Hibernate는 지연 로딩(lazy loading)을 기본으로 하므로, 연관 컬렉션에 접근할 때마다 개별 쿼리가 실행된다.이 글은 Spring Data JPA의 핵심 — 엔티티 매핑, 리포지토리 메서드, N+1 해결(fetch join, @EntityGraph), 그리고 Hibernate 7.x(JPA 3.2) 기반을 풀어간다. (Spring Data JPA Reference)엔티티 매핑..

    · 댓글