์ฐ๊ด๋ ์ํฐํฐ๊ฐ ํ๋๋ฉด ์ฆ์ ๋ก๋ฉ
์ปฌ๋ ์ ์ด๋ฉด ์ง์ฐ ๋ก๋ฉ์ ์ฌ์ฉ
์ด๋ ธํ ์ด์ | default |
@ManyToOne, @OneToOne | ์ฆ์ ๋ก๋ฉ(FetchType.EAGER) |
@OneToMany, @ManyToMany | ์ง์ฐ ๋ก๋ฉ(FetchType.LAZY) |
ManyToMany๋ ์ฐ์ง ๋ง์
์ค๋ฌด์์ ์ง์ฐ ๋ก๋ฉ๋ง ์ฌ์ฉํ์
- ์ฆ์ ๋ก๋ฉ์ ํ๋ฉด ์์์น ๋ชปํ SQL์ด ๋ฐ์
- ์ฆ์ ๋ก๋ฉ์ JPQL์์ N+1 ๋ฌธ์ ๋ฅผ ์ผ์ผํจ๋ค.
- @ManyToOne, @OneToOne์ ๊ธฐ๋ณธ์ด ์ฆ์ ๋ก๋ฉ ๐ LAZY๋ก ์ค์
- ๋ชจ๋ ์ฐ๊ด๊ด๊ณ์ ์ง์ฐ ๋ก๋ฉ์ ์ค์ ํ ๋ค JPQL fetch์กฐ์ธ์ด๋, ์ํฐํฐ ๊ทธ๋ํ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์
- ์ฆ์๋ก๋ฉ์ ์์ํ์ง ๋ชปํ ์ฟผ๋ฆฌ๊ฐ ๋๊ฐ๋ค
'๐ORM:JPA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ณ๊ฒฝ ๊ฐ์ง์ ๋ณํฉ (0) | 2023.07.18 |
---|---|
@Transactional (0) | 2023.07.15 |
@JoinColumn (0) | 2023.07.13 |
JPA ์ฟผ๋ฆฌ ( JPQL ) (0) | 2023.07.11 |
๊ฐ ํ์ , ๊ฐ ํ์ ์ปฌ๋์ (0) | 2023.07.10 |