- ์๋ฃ๊ตฌ์กฐ
- ๋ฆฌ๋ ์คrabbitmq์ค์น
- list
- jpa
- cloudfront
- Cognito
- AWS CloudFormation
- Amazon
- rabbitmq์ค์น๋ช ๋ น์ด
- redis
- instance
- AWS
- Heap
- rabbitmq์ค์น๋ฐฉ๋ฒ
- db
- yumpackage
- REST
- ์ฐจ์ด์
- S3
- map
- ELB
- javaIteration
- java
- CloudFormation
- ์ด๋ ธํ ์ด์
- javamap๋ฐ๋ณต
- Iteration๋ฐ๋ณต๋ฌธ
- dynamodb
- spring
- ์ธ์คํด์ค
- Today
- Total
๋ชฉ๋กjpa (2)
You are a developer, not a coder.
JPA N+1 ๋ฌธ์ ๋? @OneToMany ๋ฑ์์ ํ์ ์ํฐํฐ๋ค์ Lazy Loading์ผ๋ก ๊ฐ์ ธ์ฌ๋๋ง๋ค ์์ ์กฐํ ์ฟผ๋ฆฌ๊ฐ ์ถ๊ฐ๋ก ๋ฐ์ํ๋ ์ด์ (์ฐธ๊ณ ) ์์ ๋ฌธ์ ์ ์ ํด๊ฒฐํ๊ธฐ ์ํด์๋ ์๋์ ๊ฐ์ด 2๊ฐ์ง์ ๋ฐฉ๋ฒ์ด ์กด์ฌํ๋ค. ์ผ๋๋ค ํ๋์ ํ์ ์ Set์ผ๋ก ์ ์ธ @OneToMany(cascade = CascadeType.ALL) @JoinColumn(name="academy_id") // ์ ๋ ฌ์ด ๋จนํ์ง ์์ ๊ฒฝ์ฐ, ์๋์ @Orderby ์ด๋ ธํ ์ด์ ์ ์ฌ์ฉํ์ฌ ์์๋ฅผ ๋ณด์ฅํจ @Orderby("academy_id, idx desc") private Set subjects = new LinkedHashSet(); Set์ ์ค๋ณต์ ํ์ฉํ์ง ์๋ ์๋ฃ๊ตฌ์กฐ์ด๊ธฐ ๋๋ฌธ์ ์ค๋ณต์ ์์ ๊ธฐ ์ํด ์ฌ์ฉํ๋ค. ๋ํ, Linke..
1. JPA ๋? JPA๋ฅผ ์ดํดํ๊ธฐ์ ์์ ORM์ด ๋จผ์ง์ ๋ํด์ ๋จผ์ ์ ๋ฆฌํด ๋ณด๋๊ฒ ์ข์๊ฒ ๊ฐ๋ค. ORM (Object-relational mapping) ์ด๋? ๊ฐ์ฒด๋ ๊ฐ์ฒด๋๋ก ์ค๊ณํ๊ณ , ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋๋ก ์ค๊ณํ๋ค. ORM ํ๋ ์์ํฌ๊ฐ ์ค๊ฐ์์ ๋งคํํด ์ฃผ๋ ๊ตฌ์กฐ์ด๋ค. ๋์ค์ ์ธ ์ธ์ด์๋ ๋๋ถ๋ถ ORM ๊ธฐ์ ์ด ์กด์ฌํ๋ค. ORM์ ๊ฐ์ฒด์ RDB ๋ ๊ธฐ๋ฅ ์์ ์๋ ๊ธฐ์ ์ด๋ค. ORM์ ์ฅ์ ํน์ DBMS์ ์ข ์๋์ง ์๋๋ค. SQL๋ฌธ์ด ์ฝ๋์ ๋ค์ด๊ฐ์ง ์์ ๊น๋ํ๊ณ ๊ฐ๊ฒฐํ ์ฝ๋๋ฅผ ์ ์งํ ์ ์๋ค. ORM์ด nesting ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ธ๋ฉํด์ค๋ค. ORM์ ๋จ์ RAW query์ ๋นํด performance๊ฐ ๋๋ฆฌ๋ค. Query tuning์ด ํ๋ค๋ค. ์๋น์ค๊ฐ ๋ณต์กํด ์ง์๋ก ORM์ผ๋ก ํ ..