๐ฉ ์ด ๊ธ์ ๊น์ํ๋์ '์๋ฐ ORM ํ์ค JPA ํ๋ก๊ทธ๋๋ฐ'์ ๊ณต๋ถํ๋ฉฐ ์ ๋ฆฌํ ๊ฒ์์ ์๋ฆฝ๋๋ค.
-
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์๋ ์์์ด๋ผ๋ ๊ฐ๋ ์ด ์์
ํ์ง๋ง, "์ํผํ์ , ์๋ธํ์ ๊ด๊ณ"๋ผ๋ ๊ฒ์ด ๊ฐ์ฅ ์ ์ฌ -
์ํผํ์ ์๋ธํ์ ๋ ผ๋ฆฌ ๋ชจ๋ธ์ ์ค์ ํ ์ด๋ธ๋ก ๊ตฌํํ ๋๋ 3๊ฐ์ง ๋ฐฉ๋ฒ์ด ์กด์ฌ
-
๊ฐ๊ฐ์ ํ ์ด๋ธ๋ก ๋ณํ
๋ชจ๋ ๋ชจ๋ธ์ ํ ์ด๋ธ๋ก ๋ง๋ค๊ณ ์กฐ์ธ์ ์ฌ์ฉ(์กฐ์ธ ์ ๋ต)
-
ํตํฉ ํ ์ด๋ธ๋ก ๋ณํ
ํ๋์ ํ ์ด๋ธ๋ง ์ฌ์ฉ(๋จ์ผ ํ ์ด๋ธ ์ ๋ต)
-
์๋ธ ํ์ ํ ์ด๋ธ๋ก ๋ณํ
์๋ธ ํ์ ๋ณ๋ก ํ ์ด๋ธ์ ์ฌ์ฉ(๊ตฌํ ํด๋์ค๋ง๋ค ํ ์ด๋ธ ์ ๋ต)
-
- ์ํฐํฐ ๊ฐ๊ฐ์ ๋ชจ๋ ํ
์ด๋ธ๋ก ๋ง๋ค๊ณ ์์ ํ
์ด๋ธ์ด ๋ถ๋ชจ ํ
์ด๋ธ์ ๊ธฐ๋ณธํค๋ฅผ ๋ฐ์ ๊ธฐ๋ณธํค + ์ธ๋ํค๋ก ์ฌ์ฉ
๋ฐ๋ผ์ ์กฐํ์ ์กฐ์ธ์ ๋ง์ด ์ฌ์ฉ - ํ ์ด๋ธ์๋ ํ์ ์ ๊ฐ๋ ์ด ์๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ๊ตฌ๋ถํ๋ ์ปฌ๋ผ์ ์ถ๊ฐ
@Inheritance(strategy = InheritanceType.JOINED)
๋ฅผ ์์ฑํ์ฌ ์กฐ์ธ ์ ๋ต์ ์ฌ์ฉ@DiscriminatorColumn
์ ํตํด ๋ถ๋ชจ ํด๋์ค์์ ์์ ํ ์ด๋ธ์ ๊ตฌ๋ถํ๋ ์ปฌ๋ผ์ ์ง์
๊ธฐ๋ณธ๊ฐ์DTYPE
@DiscriminatorValue
๋ฅผ ์ฌ์ฉํ์ฌ ์ํฐํฐ๋ฅผ ์ ์ฅํ ๋, ๊ตฌ๋ถ ์ปฌ๋ผ์ ์ ๋ ฅ๋ ๊ฐ์ ์ง์ - ์์ ํ
์ด๋ธ์ ๋ถ๋ชจ ํ
์ด๋ธ์ ID ์ปฌ๋ผ๋ช
์ ๊ทธ๋๋ก ์ฌ์ฉ
๋ง์ฝ ์ด๋ฅผ ๋ฐ๊พธ๊ณ ์ถ๋ค๋ฉด@PrimaryKeyJoinColumn
์ ์ฌ์ฉ - ์ฅ์
- ํ ์ด๋ธ์ ์ ๊ทํ
- ์ธ๋ํค ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด์ ํ์ฉํ ์ ์์
- ์ ์ฅ๊ณต๊ฐ์ ํจ์จ์ ์ผ๋ก ์ฌ์ฉ
- ๋จ์
- ์กฐํ์ ์กฐ์ธ์ ๋ง์ด ์ฌ์ฉํ๋ฏ๋ก ์ฑ๋ฅ ์ ํ ๋ฐ์
- ์กฐํ ์ฟผ๋ฆฌ ๋ณต์ก
- ๋ฐ์ดํฐ ๋ฑ๋ก์ INSERT SQL์ด ๋๋ฒ ์คํ
- ํ ์ด๋ธ์ ํ๋๋ง ์ฌ์ฉํ๋ฏ๋ก ์กฐ์ธ์ ์ฌ์ฉํ์ง ์๊ณ ์กฐํ(๊ฐ์ฅ ๋น ๋ฆ)
- ๊ตฌ๋ถ ์ปฌ๋ผ์ ์ฌ์ฉํ์ฌ ์ด๋ค ์์์ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋์ง ํ์ (๊ตฌ๋ถ ์ปฌ๋ผ ์ฌ์ฉ ํ์)
- ์์ ์ํฐํฐ๊ฐ ๋งคํํ ์ปฌ๋ผ์ ๋ชจ๋
null
์ ํ์ฉํด์ผ ํจ @Inheritance(strategy = InheritanceType.SINGLE_TABLE)
์ ์์ฑํ์ฌ ์ฌ์ฉ@DiscriminatorValue
๋ฅผ ์ง์ ํ์ง ์์ผ๋ฉด ๊ธฐ๋ณธ์ผ๋ก ์ํฐํฐ ์ด๋ฆ์ ์ฌ์ฉ- ์ฅ์
- ์กฐ์ธ์ด ์์ด ์ผ๋ฐ์ ์ผ๋ก ์กฐํ ์ฑ๋ฅ์ด ์ฐ์
- ์กฐํ ์ฟผ๋ฆฌ๊ฐ ๋จ์
- ๋จ์
- ์์ ์ํฐํฐ๊ฐ ๋งคํํ ์ปฌ๋ผ์ ๋ชจ๋
null
ํ์ฉ - ๋จ์ผ ํ ์ด๋ธ์ ๋ชจ๋ ๊ฒ์ ์ ์ฅํ๋ฏ๋ก ๊ต์ฅํ ์ปค์ง ์ ์์ผ๋ฉฐ ์ํฉ์ ๋ฐ๋ผ ์กฐํ ์ฑ๋ฅ์ ์ ํ๊ฐ ์ฌ ์ ์์
- ์์ ์ํฐํฐ๊ฐ ๋งคํํ ์ปฌ๋ผ์ ๋ชจ๋
- ์์ ์ํฐํฐ๋ง๋ค ํ
์ด๋ธ์ด ์กด์ฌํ๊ณ ๊ฐ๊ฐ ํ์ํ ์ปฌ๋ผ์ด ๋ชจ๋ ์กด์ฌ
๋ฐ๋ผ์ ๊ตฌ๋ถ ์ปฌ๋ผ์ด ์กด์ฌํ์ง ์์ @Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
๋ฅผ ์์ฑํ์ฌ ์ฌ์ฉ- ์ผ๋ฐ์ ์ผ๋ก ์ถ์ฒํ์ง ์๋ ์ ๋ต
- ์ฅ์
- ์๋ธ ํ์ ์ ๊ตฌ๋ถํด์ ์ฒ๋ฆฌํ ๋ ํจ๊ณผ์
not null
์ ์ฝ์กฐ๊ฑด ์ฌ์ฉ ๊ฐ๋ฅ
- ๋จ์
- ์ฌ๋ฌ ์์ ํ ์ด๋ธ๊ณผ ์กฐ์ธํ์ฌ ์กฐํํ ๋ ์ฑ๋ฅ ์ ํ
- ์์ ํ ์ด๋ธ์ ํตํฉํด์ ์ฟผ๋ฆฌํ๊ธฐ ์ด๋ ค์
- ๋ถ๋ชจ ํด๋์ค๋ ํ ์ด๋ธ๊ณผ ๋งคํํ์ง ์๊ณ ์์ ๋ฐ์ ์์ ํด๋์ค์๊ฒ ๋งคํ ์ ๋ณด๋ง ์ ๊ณตํ ๋ ์ฌ์ฉ
- ์ถ์ ํด๋์ค์ ๋น์ท(์ค์ ํ ์ด๋ธ์๋ ๋งคํ์ด ์๋๊ณ ์ ๋ณด๋ง ์ ๊ณต)
- ๋ถ๋ชจ๋ก๋ถํฐ ๋ฌผ๋ ค๋ฐ์ ๋งคํ ์ ๋ณด๋ฅผ ์ฌ์ ์ ํ๋ ค๋ฉด
@AttributeOverrides
ํน์@Attributeoverride
๋ฅผ ์ฌ์ฉ - ์ฐ๊ด๊ด๊ณ๋ฅผ ์ฌ์ ์ํ๋ ค๋ฉด
@AssociationOverrides
ํน์@AsoociationOverride
๋ฅผ ์ฌ์ฉ @MappedSuperclass
๋ฅผ ์ง์ ํ ํด๋์ค๋ ์ํฐํฐ๊ฐ ์๋๋ฏ๋ก ์ํฐํฐ๋งค๋์ ๋ฅผ ํตํ ์กฐํ๋ JPQL์์ ์ฌ์ฉ ๋ถ๊ฐ- ์ถ์ ํด๋์ค๋ก ๋ง๋ค์ด์ ์ฌ์ฉํ๊ธธ ๊ถ์ฅ
-
๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ ์ฌ์ด์ ๊ด๊ณ์์ ์ธ๋ ํค๊ฐ ๊ธฐ๋ณธ ํค์ ํฌํจ๋๋์ง์ ๋ฐ๋ผ ์๋ณ ๊ด๊ณ์ ๋น์๋ณ ๊ด๊ณ๋ก ๊ตฌ๋ถ
-
์๋ณ ๊ด๊ณ
๋ถ๋ชจ ํ ์ด๋ธ์ ๊ธฐ๋ณธ ํค๋ฅผ ๋ด๋ ค๋ฐ์ ์์ ํ ์ด๋ธ์ ๊ธฐ๋ณธ ํค + ์ธ๋ ํค๋ก ์ฌ์ฉํ๋ ๊ด๊ณ
-
๋น์๋ณ ๊ด๊ณ(์ต๊ทผ ์ถ์ธ)
๋ถ๋ชจ ํ ์ด๋ธ์ ๊ธฐ๋ณธ ํค๋ฅผ ๋ฐ์ ์์ ํ ์ด๋ธ์ ์ธ๋ ํค๋ก๋ง ์ฌ์ฉํ๋ ๊ด๊ณ
์ธ๋ ํค์
NULL
์ ํ์ฉํ๋์ง์ ๋ฐ๋ผ ํ์์ ๋น์๋ณ ๊ด๊ณ์ ์ ํ์ ๋น์๋ณ ๊ด๊ณ๋ก ๋๋-
ํ์์ ๋น์๋ณ ๊ด๊ณ
์ธ๋ ํค์
NULL
์ ํ์ฉํ์ง ์์, ์ฐ๊ด๊ด๊ณ๋ฅผ ํ์์ ์ผ๋ก ๋งบ์ด์ผ ํจ -
์ ํ์ ๋น์๋ณ ๊ด๊ณ
์ธ๋ ํค์
NULL
์ ํ์ฉ, ์ฐ๊ด๊ด๊ณ๋ฅผ ๋งบ์์ง๋ฅผ ์ ํ ๊ฐ๋ฅ
-
- ๋ ์ด์์ ์ปฌ๋ผ์ผ๋ก ๊ตฌ์ฑ๋ ๋ณตํฉ ๊ธฐ๋ณธ ํค๋ ๋จ์ํ
@Id
๋ก๋ง ๋งคํํ๋ค๋ฉด ์ค๋ฅ ๋ฐ์
์ด๋ฅผ JPA์์ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ๋ณ๋์ ์๋ณ์ ํด๋์ค๋ฅผ ์์ฑ - ์์์ฑ ์ปจํ
์คํธ์ ์ํฐํฐ๋ฅผ ๋ณด๊ดํ ๋ ์ํฐํฐ์ ์๋ณ์๋ฅผ ํค๋ก ์ฌ์ฉ
์๋ณ์๋ฅผ ๊ตฌ๋ณํ๊ธฐ ์ํดequals
์hashCode
๋ฅผ ์ฌ์ฉํ์ฌ ๋๋ฑ์ฑ ๋น๊ต
๋ง์ฝ ์๋ณ์ ํ๋๊ฐ 2๊ฐ๋ผ๋ฉด ๋ณ๋์ ์๋ณ์ ํด๋์ค๋ฅผ ๋ง๋ค๊ณequals
์hashCode
๋ฅผ ๊ตฌํ - ๋ณตํฉ ํค ์ง์์ ์ํด
@IdClass
์@EmbeddedId
๋ฅผ ์ ๊ณต @IdClass
๋ฅผ ์ฌ์ฉ์ ์๋ณ์ ํด๋์ค๋ ๋ค์ ์กฐ๊ฑด์ ๋ง์กฑ(๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ง์ถค)- ์๋ณ์ ํด๋์ค์ ์์ฑ๋ช ๊ณผ ์ํฐํฐ์์ ์ฌ์ฉํ๋ ์๋ณ์ ์์ฑ๋ช ์ด ๊ฐ์์ผ ํจ
- Serailizable ์ธํฐํ์ด์ค ๊ตฌํ
- equals, hashCode ๊ตฌํ
- ๊ธฐ๋ณธ ์์ฑ์ ์กด์ฌ
- public
@EmbeddedId
๋ฅผ ์ฌ์ฉ์ ์๋ณ์ ํด๋์ค๋ ๋ค์ ์กฐ๊ฑด์ ๋ง์กฑ(๊ฐ์ฒด ์งํฅ์ ๋ง์ถค)@Embeddable
์ด๋ ธํ ์ด์ - Serializable ์ธํฐํ์ด์ค ๊ตฌํ
- equals, hashCode ๊ตฌํ
- ๊ธฐ๋ณธ ์์ฑ์ ์กด์ฌ
- public
@IdClass
์@EmbeddedId
๋ฅผ ์ฌ์ฉํ์ฌ ์๋ณ์๋ฅผ ๋งคํ@IdClass
๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ, ์๋ณ ๊ด๊ณ๋ ๊ธฐ๋ณธ ํค์ ์ธ๋ ํค๋ฅผ ๊ฐ์ด ๋งคํํ๋ฏ๋ก ์๋ณ์ ๋งคํ์ธ@Id
์ ์ฐ๊ด๊ด๊ณ ๋งคํ์ธ@ManyToOne
์ ์ฌ์ฉ@EmbeddedId
์ ๊ฒฝ์ฐ,@MapsId
(์ธ๋ ํค์ ๋งคํํ ์ฐ๊ด๊ด๊ณ๋ฅผ ๊ธฐ๋ณธ ํค์๋ ๋งคํ)๋ฅผ ์ฌ์ฉ
- ๋ณตํฉ ํค๋ฅผ ์ฌ์ฉํ์ง ์์ผ๋ฉด ๋งคํ๋ ์ฝ๊ณ ์ฝ๋๋ ๋จ์, ๋ณตํฉ ํค ํด๋์ค๋ฅผ ๋ฐ๋ก ์์ฑ X
- ์์ ํ
์ด๋ธ์ ๊ธฐ๋ณธ ํค ๊ฐ์ผ๋ก ๋ถ๋ชจ ํ
์ด๋ธ์ ๊ธฐ๋ณธ ํค ๊ฐ๋ง ์ฌ์ฉ
๋ฐ๋ผ์ ๋ถ๋ชจ ํ ์ด๋ธ์ ๊ธฐ๋ณธ ํค๊ฐ ๋ณตํฉ ํค๊ฐ ์๋๋ฉด ์์ ํ ์ด๋ธ์ ๊ธฐ๋ณธ ํค๋ ๋ณตํฉ ํค๋ก ๊ตฌ์ฑ X
- ์๋ณ ๊ด๊ณ๋ ๋ถ๋ชจ ํ
์ด๋ธ์ ๊ธฐ๋ณธ ํค๋ฅผ ์์ ํ
์ด๋ธ๋ก ์ ํํ๋ฉด์ ์์ ํ
์ด๋ธ์ ๊ธฐ๋ณธ ํค ์ปฌ๋ผ์ด ์ ์ ๋์ด๋จ
์ด๋ ์กฐ์ธ์์ SQL์ด ๋ณต์กํด์ง๊ณ ๊ธฐ๋ณธ ํค ์ธ๋ฑ์ค๊ฐ ๋ถํ์ํ๊ฒ ์ปค์ง ์ ์์ - ์๋ณ ๊ด๊ณ๋ 2๊ฐ ์ด์์ ์ปฌ๋ผ์ ํฉํด์ ๋ณตํฉ ๊ธฐ๋ณธ ํค๋ฅผ ๋ง๋ค์ด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์
- ์๋ณ ๊ด๊ณ๋ฅผ ์ฌ์ฉํ ๋ ๊ธฐ๋ณธ ํค๋ก ๋น์ฆ๋์ค ์๋ฏธ๊ฐ ์๋ ์์ฐ ํค ์ปฌ๋ผ์ ์กฐํฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์
๋ฐ๋ฉด ๋น์๋ณ ๊ด๊ณ์ ๊ธฐ๋ณธ ํค๋ ๋น์ฆ๋์ค์ ์ ํ ๊ด๊ณ์๋ ๋๋ฆฌ ํค๋ฅผ ์ฃผ๋ก ์ฌ์ฉ
๋น์ฆ๋์ค์ ๊ด๋ จ๋๋ฉด ์ธ์ ๊ฐ๋ ๋ณํ๊ฒ ๋๋ฏ๋ก ์์์ด ์ฌ๋ฌ๋ฒ ์๋ ๊ฒฝ์ฐ ๋ณ๊ฒฝํ๊ธฐ๊ฐ ํ๋ฌ - ์๋ณ ๊ด๊ณ๋ ๋ถ๋ชจ ํ ์ด๋ธ์ ๊ธฐ๋ณธ ํค๋ฅผ ์์ ํ ์ด๋ธ์ ๊ธฐ๋ณธ ํค๋ก ์ฌ์ฉํ๋ฏ๋ก ๋น์๋ณ ๊ด๊ณ๋ณด๋ค ํ ์ด๋ธ ๊ตฌ์กฐ๊ฐ ์ ์ฐํ์ง X
- ์ผ๋์ผ ๊ด๊ณ๋ฅผ ์ ์ธํ๊ณ ์๋ณ ๊ด๊ณ๋ 2๊ฐ ์ด์์ ์ปฌ๋ผ์ ๋ฌถ์ ๋ณตํฉ ๊ธฐ๋ณธ ํค๋ฅผ ์ฌ์ฉํ๋ฏ๋ก ๋ณ๋์ ํด๋์ค๊ฐ ํ์ํ๋ฐ ์ด์ ๋ ธ๋ ฅ์ด ๋ ํ์
- ๋น์๋ณ ๊ด๊ณ๋ ์ฃผ๋ก ๋๋ฆฌ ํค๋ฅผ ์ฌ์ฉํ๋๋ฐ ๊ฐํธํ๊ฒ ์ฌ์ฉ ๊ฐ๋ฅ
-
๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ์์ ์ฐ๊ด๊ด๊ณ๋ฅผ ์ค๊ณํ๋ ๋ฐฉ๋ฒ์ ํฌ๊ฒ 2๊ฐ์ง
-
์กฐ์ธ ์ปฌ๋ผ ์ฌ์ฉ(์ธ๋ ํค)
๋ง์ฝ ๊ด๊ณ๋ฅผ ๋งบ์ ์ํฐํฐ๊ฐ ํ์๊ฐ ์๋ ๋๋
null
์ ํ์ฉํ๋ ์ ํ์ ๋น์๋ณ ๊ด๊ณ๊ฐ ๋จ
๋ฐ๋ผ์ ์ธ๋ถ ์กฐ์ธ์ ์ฌ์ฉ -
์กฐ์ธ ํ ์ด๋ธ ์ฌ์ฉ(ํ ์ด๋ธ ์ฌ์ฉ)
์กฐ์ธ ํ ์ด๋ธ์ ๋ ํ ์ด๋ธ์ ์ธ๋ ํค๋ฅผ ๊ฐ์ง๊ณ ์ฐ๊ด๊ด๊ณ๋ฅผ ๊ด๋ฆฌ
๋ฐ๋ผ์ ๊ฐ ํ ์ด๋ธ์๋ ์ธ๋ ํค ์ปฌ๋ผ์ด ์กด์ฌํ์ง ์์ํฐ ๋จ์ ์ ํ ์ด๋ธ์ ํ๋ ์ถ๊ฐํ๋ฏ๋ก ๊ด๋ฆฌํ ํ ์ด๋ธ์ด ๋๊ณ ๋ ํ ์ด๋ธ์ ์กฐ์ธํ๋ ค๋ฉด ์กฐ์ธ ํ ์ด๋ธ๊น์ง ์ถ๊ฐ ์กฐ์ธ์ ํด์ผ ํจ
-
-
์กฐ์ธ ์ปฌ๋ผ์ ๊ฒฝ์ฐ,
@JoinColumn
์ผ๋ก ๋งคํ, ์กฐ์ธ ํ ์ด๋ธ์ ๊ฒฝ์ฐ,@JoinTable
๋ก ๋งคํ -
์กฐ์ธ ํ ์ด๋ธ์ ์ฃผ๋ก ๋ค๋๋ค ๊ด๊ณ๋ฅผ ์ผ๋๋ค์ ๋ค๋์ผ๋ก ํ์ด๋ด๊ธฐ ์ํด ์ฃผ๋ก ์ฌ์ฉ(์ผ๋์ผ, ์ผ๋๋ค, ๋ค๋์ผ์์๋ ์ฌ์ฉ)
-
์กฐ์ธ ํ ์ด๋ธ์ ์ปฌ๋ผ์ ์ถ๊ฐํ๋ฉด
@JoinTable
์ ๋ต์ ์ฌ์ฉํ ์ ์์
๋ฐ๋ผ์ ์๋ก์ด ์ํฐํฐ๋ฅผ ๋ง๋ค์ด ์กฐ์ธ ํ ์ด๋ธ๊ณผ ๋งคํ
- ์กฐ์ธ ํ ์ด๋ธ์ ์ธ๋ ํค ์ปฌ๋ผ ๊ฐ๊ฐ์ ์ด 2๊ฐ์ ์ ๋ํฌ ์ ์ฝ์กฐ๊ฑด์ ๊ฑธ์ด์ผ ํจ
@JoinTable
์์ฑ- name : ๋งคํํ ์กฐ์ธ ํ ์ด๋ธ ์ด๋ฆ
- joinColumns : ํ์ฌ ์ํฐํฐ๋ฅผ ์ฐธ์กฐํ๋ ์๋ ํค
- inverseJoinColumns : ๋ฐ๋ ๋ฐฉํฅ ์ํฐํฐ๋ฅผ ์ฐธ์กฐํ๋ ์ธ๋ ํค
- ์กฐ์ธ ํ ์ด๋ธ์ ์ปฌ๋ผ์ค ๋ค์ชฝ๊ณผ ๊ด๋ จ๋ ์ปฌ๋ผ์ ์ ๋ํฌ ์ ์ฝ ์กฐ๊ฑด์ ๊ฑธ์ด์ผ ํจ(๋ค ์ชฝ์ ID๋ฅผ PK๋ก ์ฌ์ฉ)
- ์ผ๋๋ค ์กฐ์ธ ํ ์ด๋ธ๊ณผ ๊ฐ์
- ์กฐ์ธ ํ ์ด๋ธ์ ๋ ์ปฌ๋ผ์ ํฉํด ํ๋์ ๋ณตํฉ ์ ๋ํฌ ์ ์ฝ์กฐ๊ฑด์ ๊ฑธ์ด์ผ ํจ
@SecondaryTable
์ ์ฌ์ฉํ๋ฉด ํ ์ํฐํฐ์ ์ฌ๋ฌ ํ ์ด๋ธ์ ๋งคํ@SecondaryTable
์์ฑ- name : ๋งคํํ ๋ค๋ฅธ ํ ์ด๋ธ์ ์ด๋ฆ
- pkJoinColumns : ๋งคํํ ๋ค๋ฅธ ํ ์ด๋ธ์ ๊ธฐ๋ณธ ํค ์ปฌ๋ผ ์์ฑ
@SecondaryTable
๋ฅผ ์ฌ์ฉํ์ฌ ๋ ํ ์ด๋ธ์ ํ๋์ ์ํฐํฐ์ ๋งคํํ๋ ๊ฒ๋ณด๋ค ํ ์ด๋ธ๋น ํ๋์ ์ํฐํฐ์ ๋งคํํ๋ ๊ฒ์ ๊ถ์ฅ- ํด๋น ๋ฐฉ๋ฒ์ ํญ์ ๋ ํ ์ด๋ธ์ ์กฐํํ๋ฏ๋ก ์ต์ ํ ํ๊ธฐ๊ฐ ์ด๋ ค์