BACKEND/Spring
μμκ΄κ³ λ§€ν + κ³ κΈ λ§€ν
μ‘μ΄ π«§
2022. 1. 15. 21:26
κ΄κ³ν λ°μ΄ν°λ² μ΄μ€λ μμκ΄κ³κ° μ‘΄μ¬νμ§ μμ
1. μ‘°μΈ μ λ΅ (μ΅μ°μ μ ν, 볡μ‘νκ²½μ°)
insertλ λΆλͺ¨μ μμμ 2λ² / DTYPEμΌλ‘ μ‘°μΈν μμ μν°ν° ꡬλΆ
@Inheritance(strategy = InheritanceType.JOINED)
2. λ¨μΌ ν μ΄λΈ μ λ΅(λ¨μν κ²½μ°)
ν ν μ΄λΈμ ν©μΉλ€(JPAμ κΈ°λ³Έμ λ΅μ)
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
λΆλͺ¨ μν°ν°μ μ μ©
@DiscriminatorColumn //DTYPE
μμμν°ν° μ μ©
@DiscriminatorValue("A")//μμ μν°ν° ꡬλΆμ
@MappedSuperclass
- μμκ΄κ³ λ§€νμ μλμ§λ§ 곡ν΅λλ μμ±μ μ¬μ©νκ³ μΆμ κ²½μ° μ¬μ©!!
- μν°ν°λ μλ(ν μ΄λΈκ³Ό λ§€νλμ§ μλλ€)
- μμ ν΄λμ€μ λ§€ν μ λ³΄λ§ μ 곡
- μΆμ ν΄λμ€λ‘ μ¬μ©νλ κ²μ κΆμ₯
- Ex) BaseEntity
@MappedSuperclass
public abstract class BaseEntity { //μμ± μμν΄λμ€μκ² λ΄λ €μ£ΌκΈ° μν¨
private String createdBy;
private LocalDateTime createdDate;
private String lastModifiedBy;
private LocalDateTime lastModifiedDate;
.
.
}