λΆλͺ¨ ν΄λμ€λ ν
μ΄λΈκ³Ό λ§€ννμ§ μκ³ λΆλͺ¨ ν΄λμ€λ₯Ό μμλ°λ μμ ν΄λμ€μκ² λ§€ν μ λ³΄λ§ μ 곡νκ³ μΆμΌλ©΄ @MappedSuperclassλ₯Ό μ¬μ©νλ©΄ λλ€.
@MappedSuperclassλ₯Ό λΉμ νλ©΄ μΆμ ν΄λμ€μ λΉμ·νλ°
@Entityλ μ€μ ν
μ΄λΈκ³Ό λ§€νλμ§λ§
@MappedSuperclassλ μ€μ ν
μ΄λΈκ³Ό λ§€νλμ§ μλλ€.
λ¨μν λ§€ν μ 보λ₯Ό μμν λͺ©μ μΌλ‘λ§ μ¬μ©λλ€.

νμ(Member)κ³Ό νλ§€μ(Seller)λ μλ‘ κ΄κ³κ° μλ ν μ΄λΈκ³Ό μν°ν°λ€.
@MappedSuperclasspublic abstract class BaseEntity { @Id @GeneratedValue private Long id; private String name;}@Entitypublic class Member extends BaseEntity{ //ID, NAME μμ private String email;}@Entitypublic class Seller extends BaseEntity{ //ID, NAME μμ private String shopName;}
BaseEntityμ κ°μ²΄λ€μ΄ μ£Όλ‘ μ¬μ©νλ κ³΅ν΅ λ§€ν μ 보λ₯Ό μ μνλ€.
μμ μν°ν°λ€μ μμμ ν΅ν΄ BaseEntityμ λ§€ν μ 보λ₯Ό λ¬Όλ €λ°μλ€.
*BaseEntityλ ν
μ΄λΈκ³Ό λ§€νν νμκ° μκ³ μμ μν°ν°μκ² κ³΅ν΅μΌλ‘ μ¬μ©λλ λ§€ν μ λ³΄λ§ μ 곡νλ©΄ λλ€. (@MappedSuperclassλ₯Ό μ¬μ©)*
λΆλͺ¨λ‘λΆν° λ¬Όλ €λ°μ λ§€ν μ 보λ₯Ό μ¬μ μνλ €λ©΄ @AttributeOverridesλ @AttributeOverrideλ₯Ό μ¬μ©νκ³ ,
μ°κ΄κ΄κ³λ₯Ό μ¬μ μνλ €λ©΄ @AssociationOverridesλ @AssociationOverrideλ₯Ό μ¬μ©νλ€.
@Entity@AttributeOverride(name="id", column = @Column(name="MEMBER_ID"))public class Member extends BaseEntity{...}
λΆλͺ¨μκ² μμλ°μ id μμ±μ 컬λΌλͺ
μ MEMBER_IDλ‘ μ¬μ μνλ€.
λ μ΄μ μ¬μ μνλ €λ©΄ @AttributeOverridesλ₯Ό μ¬μ©
@Entity@AttributeOverrides({ @AttributeOverride(name="id", column = @Column(name="MEMBER_ID")), @AttributeOverride(name="name", column = @Column(name="MEMBER_NAME"))})public class Member extends BaseEntity{...}