@ManyToMany
@ManyToMany๋ ๋ง ๊ทธ๋๋ก ๋ค๋๋ค ๊ด๊ณ๋ฅผ ๋งคํํด์ฃผ๋ ์ด๋ ธํ ์ด์ ์ด๋ค.
์๋ ๋ค๋๋ค ๋จ๋ฐฉํฅ ๋งคํ์ด๋ค. @ManyToMany ์ด๋ ธํ ์ด์ ์ ์ ์ธ ํ @JoinTable์ ์จ์ฃผ๋ฉด ์๋ก์ด ์ํฐํฐ๋ฅผ ๋ง๋ค์ง ์์๋ jpa๊ฐ ์์์ ๋งคํ์ ํด์ค๋ค.
@JoinTable๊ณผ @JoinColumn์ ์ฐจ์ด์ ์ @JoinTable์ ์ฐ๊ฒฐ ํ ์ด๋ธ์ ์ง์ ํ์ง๋ง @JoinColumn์ ์ธ๋ํค๋ฅผ ์ง์ ํ๋ค๋ ๊ฒ์ด๋ค.
๋ฐ๋ผ์ @JoinTable์ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ํ ์ด๋ธ์ด ํ๋ ๋ ํ์ํ ์ ์ด๋ค.
์๋ ๋ค๋๋ค ์๋ฐฉํฅ ๊ด๊ณ์ Product ์ํฐํฐ์ด๋ค. ๋ค๋์ผ ๊ด๊ณ์์ ๋ดค๋ ๊ฒ์ฒ๋ผ mappedBy๋ฅผ ์ฐ๋ฉด ์ฌ์ฉ๊ฐ๋ฅํ๋ค.
์ด๋ฐ @ManyToMany๋ ์ค์ ๋ก๋ ์ฌ์ฉํ์ง ์๋ ๊ฒ์ด ์ข๋ค. ์๋ํ๋ฉด ์ฐ๊ฒฐ ํ ์ด๋ธ์ ์ถ๊ฐ์ ์ธ ์ปฌ๋ผ์ ์ถ๊ฐํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ์ฐ๊ฒฐ ํ ์ด๋ธ์ ์ถ๊ฐ์ ์ธ ์ปฌ๋ผ์ ์ถ๊ฐํ๋ค๋ฉด, Member๋ Product์ํฐํฐ์์ ๊ทธ๊ฒ์ ์ฐธ์กฐํ ์ ์์ด์ผ ํ๋๋ฐ, ๊ทธ๋ ๊ฒ ํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
์ฆ ํ ์ด๋ธ์ ํ์ฅ์ฑ์ด ๋จ์ด์ง๊ฒ ๋๋ ๊ฒ์ด๋ค.
๊ทธ๋ ๊ธฐ์ @ManyToMany๋์ @ManyToOne + @ManyToOne ๊ตฌ์กฐ๋ฅผ ๊ฐ์ ธ๊ฐ์ผ ํ๋ค.
Last updated