본문 바로가기 메뉴 바로가기

mandy

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

mandy

검색하기 폼
  • 분류 전체보기 (86)
    • Cloud (0)
      • AWS (0)
    • Database (5)
      • MySQL (5)
    • DDD (5)
    • Git (3)
    • HTTP (6)
    • Java (7)
      • Java 8 (7)
    • Kafka (6)
    • MSA (2)
    • ORM (10)
      • JPA (10)
    • Spring (5)
    • Spring Boot (9)
      • 환경설정 (8)
    • Test (16)
      • JUnit 5 (8)
      • Mockito (4)
      • ATDD (4)
    • 참고 (0)
    • 책 내용 정리 (11)
      • 객체지향의 사실과 오해 (0)
      • 클린코드(clean code) (10)
  • 방명록

JPA (7)
[JPA] 조회 성능 최적화

목차 1. 엔티티 단건 조회 2. 엔티티 목록 조회 3. 컬렉션 조회 N + 1 JPA의 N + 1 문제는 즉시로딩과 지연로딩 두 경우 모두 발생할 수 있다. 즉시로딩은 JPQL 을 사용해 엔티티를 조회할 때 쿼리가 실행된 후 즉시로딩으로 연관 관계가 매핑된 엔티티를 조회하는 쿼리가 추가로 실행된다. 지연로딩은 엔티티를 조회할 때 연관 관계가 매핑된 엔티티는 프록시로 조회하지만 프록시의 필드에 접근할 때 해당 엔티티를 조회하는 쿼리가 추가로 실행된다. 다음은 지연로딩으로 매핑된 엔티티들의 연관 관계 종류에 따라 발생하는 N + 1 문제와 최적화 과정이다. 지연로딩은 JPQL로 엔티티를 조회해도 연관된 엔티티를 추가로 조회하지 않기 때문에 N + 1 문제가 발생하지 않는다. 하지만 엔티티의 목록을 조회할 ..

ORM/JPA 2023. 4. 28. 13:22
[JPA] 4. 다양한 연관관계 매핑

1. 다대일(ManyToOne) 이전 글에서 정리한 내용과 동일 [JPA] 3. 연관관계 매핑 2. 일대다(OneToMany) 1) 일대다 단방향 @Entity public class Member { @Id @GeneratedValue @Column(name = "MEMBER_ID") private Long id; @Column(name = "USERNAME") private String name; private int age; // getter, setter } @Entity public class Team { @Id @GeneratedValue @Column(name = "TEAM_ID") private Long id; private String name; @OneToMany // --① @JoinC..

ORM/JPA 2021. 11. 29. 13:19
[Spring Boot#환경설정] 6. Querydsl 설정

0. 프로젝트 구조 1. build.gradle 1) buildscript //querydsl 추가 buildscript { dependencies { classpath("gradle.plugin.com.ewerk.gradle.plugins:querydsl-plugin:1.0.10") } } 2) apply //querydsl 추가 apply plugin: "com.ewerk.gradle.plugins.querydsl" 3) dependencies //querydsl 추가 implementation 'com.querydsl:querydsl-jpa' implementation 'com.querydsl:querydsl-apt' //querydsl 추가 끝 4) Querydsl build 관련 추가 설정 //..

Spring Boot/환경설정 2021. 11. 24. 13:27
[Spring Boot#환경설정] 4. JPA 설정

0. 프로젝트 구조 1. build.gradle > dependencies 참고 : https://github.com/gavlyukovskiy/spring-boot-data-source-decorator // jpa binding parameter log 확인 implementation("com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.7.1") 2. application.yml server: port: 8088 spring: datasource: url: jdbc:h2:tcp://localhost/~/nutrient username: sa password: driver-class-name: org.h2.Driver jpa: hibernate: ddl-aut..

Spring Boot/환경설정 2021. 11. 23. 20:14
이전 1 2 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
  • 트랜잭셔널 아웃박스 패턴
  • Git
  • Spring Data JPA
  • Spring Boot
  • http
  • mockito
  • 육각형 아키텍처
  • Stream
  • 이벤트 스토밍
  • clean code
  • MySQL
  • 스프링 예외 추상화
  • TDD
  • Ubiquitous Language
  • 도메인 모델링
  • JPA
  • java8
  • named query
  • 클린코드
  • 스프링 카프카 컨슈머
  • 마이크로서비스 패턴
  • kafka
  • 계층형 아키텍처
  • H2
  • 폴링 발행기 패턴
  • Spring
  • spring rest docs
  • 학습 테스트
  • ATDD
  • HTTP 헤더
more
«   2025/06   »
일 월 화 수 목 금 토
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바