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๋ก ์ค์ ๋์์..
12.10) ์ค๋ ํ๋ฃจ๋์ eat-together ๊ฒ์๊ธ ๊ด๋ จ ๊ธฐ๋ฅ ๊ตฌํํ๋ฉฐ ๊ฒฝํํ ๊ฒ๋ค with ํฐ๋ฒ ATDD ํ๋ก์ธ์ค์ ๋ํด ๋ฌธ์ ์ธ์ ATDD๋ฅผ ํ๊ณ ์ถ์ด์ ๊ฐ์ฅ ํฐ ๋๋ฉ์ธ ๋ชจ๋ธ์ธ Article์ ์ก๊ณ ์์. ์ธ์ํ ์คํธ๋ฅผ ํต๊ณผ์ํค๊ธฐ ์ํด ์ ์ผ ๋จผ์ ํ ์คํธ๋ฅผ ์ง๊ณ ๊นกํต Controller๋ฅผ ๋ง๋ค์๋ค. ์ฌ๊ธฐ๊น์ง ๊ด์ฐฎ์๋ฐ, Shop, Order, Menu, Item ๋ฑ ๊ด๋ จ๋ ๋๋ฉ์ธ ๋ชจ๋ธ๋ค์ ๊ฐ์๊ธฐ ํ๋ฒ์ ๋ง๋๋ ค๋ ๊ผฌ์ด๊ธฐ ์์ํ๋ค. ์ฌ๊ธฐ์ ๊ธฐ์์ ๋ฌธ์ ๊ฐ ๋ง์ด ๋ฐ์ํ๋๋ฐ, ํนํ ๊ด๊ณ๋งคํ ๊ด๋ จํด์ ๋์ฑ ํ๋ค์๋ค. ๊ฒ๋ค๊ฐ ๊ฐ ๋ชจ๋ธ๋ค์ ๊ฐ์ฒด์งํฅ์ ์ผ๋ก ๋ง๋ค๊ณ ์๋ค๋ ๋๋์ ์๋ค์๊ณ , Article์ ํ์ํ๋๋ก ๊ธํ๊ฒ ๋ผ์๋ฃ์ผ๋ ค ๋ง๋๋ ๋๋์ด ๋ค์๋ค. ๋ฐฉํฅ์ ๋ฐ๊ฟ๋ณด๊ธฐ๋ก ํ๋ค. Article์ ์ก์์ผ๋ฉด ๊นกํต์ ๋ง๋ค๊ณ ์ด์ ..
- Total
- Today
- Yesterday
- Data Structure
- socket
- mysql
- ํ๋ก๊ทธ๋๋จธ์ค
- C
- Stack
- queue
- FRAGMENT
- Vo
- ํด์ธ์ฌํ
- bfs
- Android Studio
- dfs
- reversing
- JPA
- ์นํดํน
- Android
- webhacking.kr
- javascript
- OneToMany
- Java
- sort
- ๋ฆฌ๋ฒ์ฑ
- graph
- git
- ๊ฐ๋ฐ์
- brute-force
- ์ฐ์ํ ํ ํฌ์ฝ์ค
- ํ๊ณ
- Algorithm
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |