@ElementCollection
β’
Element κ°μ²΄μ 컬λ μ
μ§ν©μ΄λ€.
β’
Element λ‘λ κΈ°λ³Έ νμ
(String, Long λ±) κ³Ό Embeddable λ‘ μ μΈλ κ°μ²΄κ° λ μ μλ€.
β’
λΆλͺ¨ Entity Idμ μΆκ° 컬λΌ(basic or embedded νμ
)μΌλ‘ ꡬμ±λλ€.
β’
κΈ°λ³Έμ μΌλ‘ κ° νμ
컬λ μ
μ λ³κ²½ μ¬ν(μ μ₯, μμ )μ΄ λ°μνλ©΄, μμ νλ μν°ν°μ μ°κ΄λ λͺ¨λ λ°μ΄ν°λ₯Ό μμ νκ³ , νμ¬ λ¨μμλ κ°μ λͺ¨λ λ€μ μ μ₯νλ€.
@CollectionTable
β’
@Table κ³Ό κ°μ΄ Collection μΌλ‘ μ μΈλ λ³μμ λν ν
μ΄λΈμ λ§λ€ λ μ¬μ©
β’
μ°κ΄ κ°μ²΄μ μμ‘΄μ μ΄κΈ°λλ¬Έμ μ΅μ
μΌλ‘λ joinColumns μ foreignKey κ° μλ€.
@AttributeOverride
β’
column λͺ
μ μ μν μ μλ€.
@Embedded
private Code code;
@Embedded
private Code teamCode;
Java
볡μ¬
β’
Embedded κ°μ²΄λ₯Ό μ¬μ©ν λ ν΄λΉ κ°μ²΄λ₯Ό μ¬λ¬λ² μ¬μ©νλ©΄ column λͺ
μ΄ μ€λ³΅μΌλ‘ λ€μ΄κ° μ μλ€.
β’
Code κ°μ²΄ λ΄λΆμ λ³μ λͺ
μ value λΌμ code column κ³Ό teamCode column μ 곡ν΅μ μΌλ‘ μ μ©λμ΄ μμΈκ° λ°μ
@Embedded
@AttributeOverride(name = "code", column = @Column(name = "code", nullable = false)
private Code code;
@Embedded
@AttributeOverride(name = "code", column = @Column(name = "team_code", nullable = false)
private Code teamCode;
Java
볡μ¬
@MappedSuperclass
β’
λΆλͺ¨ ν΄λμ€κ° μν°ν°κ° μλ λ μμμ ν΄μ£Όμ΄μΌ νλ κ²½μ°
β’
λ³΄ν΅ BaseEntity λΌλ ν΄λμ€λ‘ μ¬μ©