JPA์ ์ฌ์ค๊ณผ ์คํด (์ฌ์ค์ JPQL๊ณผ Fetch Join์ ์คํด) 20.05.25 JPA ์คํฐ๋ ํ๋ฉฐ ๊นจ๋ซ๊ฒ ๋ ์คํด JPA๋ฅผ ๊ฝค๋ ์ค๋ ์จ์๋๋ฐ(๊ทธ๋๋ดค์ 1๋ ์ด๊ธด ํ์ง๋ง), ์ด๋ฒ์ ์คํฐ๋๋ฅผ ํ๋ฉฐ ํฌ๊ฒ ์๋ชป ์๊ณ ์๋ ๊ฐ๋ ๋ช๊ฐ์ง๋ฅผ ์ ์ ํ๊ณ , ์ค์ค๋ก ๋ถ๋๋ฝ๊ธฐ๋ ํ๊ณ ๋๋ฆ์ ์ปฌ์ณ์ผํฌ๋ฅผ ๋ฐ์๋ค. 1. N+1์ ์ฐ๊ด ์ํฐํฐ๊ฐ Collection์ธ์ง๊ฐ ์ค์ํ๊ฒ ์๋๋ค. ( ์ฃผ์ - JPQL ๊ธฐ์ค, SQL X ) ์ฌ์ค ์ (๋น์ ์คํฐ๋ํ๋) ์ฐ๋ฆฌ ๋ชจ๋๊ฐ N+1 ๋ฌธ์ ๋ฅผ ์ฐ๊ด ์ํฐํฐ์ ์ปฌ๋ ์ ์ฌ๋ถ์ ๊ด๋ จ์ง์ด ์๊ฐํด์๋ ๊ฑด์ง ๋ชจ๋ฅด๊ฒ ๋ค. ๋๋ถ๋ถ์ ๊ต์ฌ๋ ๋งํฌ๋ค์์ Member -* Orders ์ ๊ฐ์ ์ผ๋๋ค์ ๊ด๊ณ๋ฅผ ์์๋ก ๋ค๋ฉฐ ์ค๋ช ํ๊ธฐ ๋๋ฌธ์ผ๊น. ๋๋ ์ด์ ๊น์ง N+1 ์ด member.getOrders() ์ ์ปฌ๋ ..
์ค๋ ํ๋ก์ ํธ์์ ์ฃผ์ ๋๋ฉ์ธ ๋ชจ๋ธ๋ค์ ๊ตฌ์กฐ๋ฅผ ์ก๊ณ ์ฐ๊ด๊ด๊ณ๋ฅผ ๋งคํํ๋ ๊ณผ์ ์์ ์ฝ์ง๋ก ๋ง์ ์๊ฐ์ ์๋ชจํด, "๋น์ฐํ์ง๋ง" ๋ค์ํ๋ฒ ๊นจ๋ฌ์ ์ฌ์ค์ ์ ๋ฆฌํ๊ณ ๊ธฐ๋กํด๋ณด๊ธฐ๋ก ํ๋ค. ๋ฐฐ๊ฒฝ ์ํฉ์ ๋น์ทํ ์์๋ก ๋ค์ด๋ณด๋ฉด, ๊ฐ์ฅ ์ดํดํ๊ธฐ ์ฌ์ด ๊ฒ์๊ธ(Article) - ๋๊ธ(Comment)์ ๊ด๊ณ๋ฅผ ์ค์ ํด๋ณด์. Article(์ผ) - Comment(๋ค)์ ์ผ๋๋ค/๋ค๋์ผ ์๋ฐฉํฅ ์ฐ๊ด๊ด๊ณ ์ํ์ด๋ค. (๋ฌผ๋ก ์ผ๋๋ค๋ ๊ฐ๊ธ์ ์์ ํ๊ณ ๋ค๋์ผ๋ง ๋งคํํ๋๊ฒ best practice์ด์ง๋ง, ์๋ฐฉํฅ์ด ๊ผญ ํ์ํ ์ํฉ์ด๋ผ๊ณ ๊ฐ์ ํด๋ณด์) ์ํฉ์ ๋ฐ๋ฅธ, ์๋ฐฉํฅ ์ฐ๊ด๊ด๊ณ Entity ๊ฐ ์ ์ฅ ๋ฐฉ์ ์๋ฐฉํฅ ์ฐ๊ด๊ด๊ณ Entity๋ฅผ saveํ๋ฉด์, ๋น์ฐํ๊ฑด๋ฐ ํฐ ๊ทธ๋ฆผ์ ๋ฐฉํฅ์ ๋์น๊ณ ์์๋ค. ์ ๋ฆฌํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค. Article์ ๋์งธ์น๊ณ ..
์ํฉ 19.12.10 ์ฐํ ์ฝ ๋ ๋ฒจ4 eat-together ํ๋ก์ ํธ์ Article/Shop/Menu ๊ด๋ จ ๊ตฌํ ์ค ๋ฐ์ํ ์ด์ Shop์ @OneToMany๋ก List๋ฅผ ๊ฐ๊ณ ์๋ค. Menu๋ ์๋ฐฉํฅ์ผ๋ก @ManyToOne Shop์ ๊ฐ๊ณ ์๋ค. ๊ฐ๊ฒ ์กฐํ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ๊ณผ์ ์์, ํ ์คํธ์์ Shop์ ๋ฆฌํดํ๋ List๋๋ฌธ์ ํฐ์ก๋ค. ๋ฐ์ํ LazyInitializationException ์์ธ๋ฅผ ๊ฒ์ํด๋ณด๋ ๊ด๋ จ ๋ ผ์๊ฐ ๋ง์๋ค. ์ฐธ๊ณ ์๋ฃ ํน๋ฝ๋๋ ๊ธ , ๋์ค์ ์ ๋ ํด๋ณด๊ณ OSIV์ ๋ํด ๊ณ ๋ฏผํด๋ณด์ feco.tistory.com - 3๊ฐ์ง ํด๊ฒฐ๋ฐฉ์ ์ ์ bebong.tistory.com ๋ฌธ์ ํด๊ฒฐ application.properties์ #spring.jpa.open-in-view=false๋ก ์ค์ ๋์์..
- Total
- Today
- Yesterday
- Algorithm
- reversing
- git
- dfs
- ํด์ธ์ฌํ
- C
- ๊ฐ๋ฐ์
- mysql
- Data Structure
- javascript
- bfs
- Vo
- Android
- sort
- JPA
- Android Studio
- ์ฐ์ํ ํ ํฌ์ฝ์ค
- ์นํดํน
- graph
- Stack
- socket
- brute-force
- webhacking.kr
- queue
- ๋ฆฌ๋ฒ์ฑ
- Java
- ํ๋ก๊ทธ๋๋จธ์ค
- ํ๊ณ
- FRAGMENT
- OneToMany
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |