Sobes.tech
Back to questions
Junior — Middle
90

Как осуществляется управление связями между таблицами в TypeORM?

Answer from AI

sobes.tech AI

В TypeORM управление связями между таблицами осуществляется с помощью специальных декораторов, которые описывают тип связи между сущностями (таблицами). Основные типы связей:

  • @OneToOne — один к одному
  • @OneToMany — один ко многим
  • @ManyToOne — многие к одному
  • @ManyToMany — многие ко многим

Каждый из этих декораторов применяется к свойству класса-сущности, указывая, с какой другой сущностью и как она связана. Для двунаправленных связей обычно указывают обратное свойство.

Пример связи "один ко многим":

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

  @OneToMany(() => Photo, photo => photo.user)
  photos: Photo[];
}

@Entity()
class Photo {
  @PrimaryGeneratedColumn()
  id: number;

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

Таким образом, TypeORM автоматически управляет внешними ключами и загрузкой связанных данных.