Какие отношения одного субъекта связаны с самим собой в ОРМ? - PullRequest
0 голосов
/ 22 марта 2019

Я использую typeorm, и я знаю ManyToMany, OneToOne и т. Д.

Но я не уверен, что отношения в моей ситуации. У меня есть сущность с именем Comment, чтобы пользователи могли что-то обсуждать. И я хочу добавить 2 столбца с именами pid и ppid.

pid означает отца текущего комментария, поэтому отношение pid равно @OneToOne. ppid означает корневой комментарий. И окончательный вид, как показано ниже

  userA:xxxxx
    userB reply userA:xxxxx
    userC reply userB:xxxxx
    userD reply userC:xxxxx

Но я не уверен в отношении ppid. Кто может сказать мне это?

1 Ответ

0 голосов
/ 23 марта 2019

У меня есть ответ один.

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

        @OneToOne(type => Comment)
        @JoinColumn()
        parentComment: Comment;

        @ManyToOne(type => Comment, comment => comment.comments)
        rootComment: Comment;

        @OneToMany(type => Comment, comment => comment.rootComment)
        comments: Comment[];
    }
...