В моем проекте я хотел бы иметь двунаправленные отношения ManyToOne - OneToMany с двумя внешними ключами, ссылающимися на один и тот же первичный ключ. В моем случае это будет таблица «матч», которая содержит двух игроков из таблицы «игрок» (player1Id и player2Id - FK). Я хочу иметь возможность получать все матчи, в которых играл конкретный игрок, а также назначать игрока на матч. Я полагаю, что в объекте Match это должно быть примерно так:
@Entity()
export class Match {
@PrimaryGeneratedColumn()
id!: number;
@ManyToOne((type) => Player)
@JoinColumn({ name: "player1Id", referencedColumnName: "id" })
player1: Player;
@ManyToOne((type) => Player)
@JoinColumn({ name: "player2Id", referencedColumnName: "id" })
player2: Player;
//some other properties...
, но так как я должен указать одну сущность обратной стороны в декораторе @OneToMany (), как он должен выглядеть в объекте Player? Есть ли способ отобразить такую связь в TypeORM, и является ли хорошей и распространенной практикой иметь два FK в одной таблице, ссылающихся на один и тот же первичный ключ в другой таблице? Я новичок в NodeJS и webdev в целом. Спасибо за любую помощь.