MST

星途 面试题库

面试题:TypeScript 装饰器实现 TypeORM 实体关系建模

在 TypeORM 中,有一个 `Post` 实体和 `User` 实体,一个用户可以有多个帖子(一对多关系)。请使用 TypeScript 装饰器实现这种关系建模,并写出 `Post` 实体和 `User` 实体的完整代码。
19.9万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
import { Entity, PrimaryGeneratedColumn, Column, ManyToOne } from 'typeorm';

@Entity()
export class Post {
  @PrimaryGeneratedColumn()
  id: number;

  @Column()
  title: string;

  @ManyToOne(() => User, user => user.posts)
  user: User;
}

@Entity()
export class User {
  @PrimaryGeneratedColumn()
  id: number;

  @Column()
  name: string;

  @OneToMany(() => Post, post => post.user)
  posts: Post[];
}

请注意,上述代码中在 User 实体引入了 OneToMany 关系以完整体现双向关系,使用时确保正确引入 OneToMany 装饰器,假设代码运行环境中已包含完整的 typeorm 库及相关依赖。若实际环境有所差异,需适当调整引入路径等细节。