| 개념 | 설명 |
|---|---|
| Embedded Entity | 독립된 테이블은 아니지만, 특정 컬럼들을 그룹화하여 다른 엔티티 안에 포함시킬 수 있는 클래스 |
| 목적 | 반복되는 컬럼들을 재사용하여 코드 중복 제거 |
| 작동 방식 | 클래스의 필드들을 실제 테이블의 컬럼으로 병합(Merge) |
@Column()
firstName: string;
@Column()
lastName: string;
위 코드가 User, Employee, Student에 중복되어 있음.
export class Name {
@Column()
first: string;
@Column()
last: string;
}
@Column(() => Name)
name: Name;
-- User 테이블
id | nameFirst | nameLast | isActive
-- Employee 테이블
id | nameFirst | nameLast | salary
-- Student 테이블
id | nameFirst | nameLast | faculty