TypeORM 中定义实体关系使用以下装饰器:
-
@OneToOne():一对一关系
- 使用 @JoinColumn() 指定外键列
- 示例:用户和用户资料
-
@OneToMany():一对多关系
- 在"一"方定义,指向"多"方
- 示例:作者和文章
-
@ManyToOne():多对一关系
- 在"多"方定义,指向"一"方
- 示例:文章和作者
-
@ManyToMany():多对多关系
- 需要使用 @JoinTable() 指定中间表
- 示例:学生和课程
级联操作通过 cascade 选项配置,可选值包括 "insert"、"update"、"remove"、"soft-remove"、"recover"。例如:@OneToMany(() => Comment, comment => comment.post, { cascade: true })