2024.11.09 - [개발/스프링] - JPA에 관한 단상(1) - N+1 문제의 본질 JPA에 관한 단상(1) - N+1 문제의 본질spring 에서 JPA으로 개발하다보면 누구나 N+1 을 만나게 되어 있다. 사실 Spring에만 있는 것은 아니고 대부분의 ORM에 다 있는 문제이다. 관련해서 키워드로 나오는게 1. JOIN FETCH2. Batch Size3. Eager Loadjongqui.tistory.com 이전 포스팅에선 N+1 문제의 본질에 대해 다루었다.RDBMS와 OOP의 사물을 표현하는 철학이 다르다는 점에 대해서 설명하면서,실제로 문제가 되는 사례를 하나 들어서 설명헀다. 이번 포스팅에서는 백오피스에서 OneToMany 이슈를 어떻게 다뤄야 할지에 대한 내용을 담았다. JPA에서..
spring 에서 JPA으로 개발하다보면 누구나 N+1 을 만나게 되어 있다. 사실 Spring에만 있는 것은 아니고 대부분의 ORM에 다 있는 문제이다. 관련해서 키워드로 나오는게 1. JOIN FETCH2. Batch Size3. Eager Loading , Lazy Loading 등이 있다. 물론 해결책을 아는 것도 좋지만 본질을 이해하지못하면 택도 없는 요구사항을 받았다가,나중에 눈물을 흘리며 기획 수정을 요청해야 하는 경우가 생길 수 있다. N+1의 시작은 데이터를 표현하는 방법에 있어서의 RDBMS와 OOP의 차이에서 기인한다. RDBMS 세계관에서는 각 사물을 테이블로 정의하고,각 사물에 대한 고유성은 PK로 확보하며,개별 사물은 레코드로 표현한다.그리고 사물간의 관계는 FK를 사용해..
- Total
- Today
- Yesterday
- ORM
- tomcat
- Spring
- 안전신문고
- java
- 현금영수증
- 탈세
- 부가가치세
- 알리
- Thymeleaf
- 광군제
- springboot3
- JPA
- k베뉴
- 전세사기
- 알리익스프레스
- 공익제보단
- 이륜차
- springboot
- 티스토리챌린지
- Request
- 포상금
- 토스페이
- Azure
- 한국교통안전공단
- 오블완
- ouath2
- 홈택스
- n+1
- Java17
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |