- Relation Options는 one to one, one to Many, Many to One 모두다 똑같다.
- eager 옵션
- find() 실행 할때마다 항상 같이 가져올
relation
// userEntity.ts
@OneToOne(() => ProfileModel, (profile) => profile.user, {
eager: true,
})
profile: ProfileModel;
- 이렇게 해두고,
get user
할때 relation
을 걸어놓지 않아도, profile
까지 가져온다.
-
cascade 옵션 (기본값은 false)
- 저장할때
relation
을 한번에 같이 저장하는 기능 true 했을때
-
nullable 옵션 기본값은 true
- 모든 realation은 null이 가능하다.
-
onDelete 옵션
- 관계가 삭제되었을때
- no action
- cascade : 참조하는 Row도 같이 삭제 (profile을 지워도 해당 profile을 가진 user도 같이 삭제된다)
- set null : 참조하는 Row에서 참조 id를 null로 변경 (profile을 지우면 profile이 null이된다.)
- set default : 기본 셋팅으로 설정
- restrict : 참조하고 있는 Row가 있는 경우 참조당하는 Row 삭제 불가 ⇒ profile 삭제시 500에러 발생