在ORM中,一个实体的亲属关系是什么?

时间:2019-03-22 15:14:55

标签: sql orm nestjs typeorm

我正在使用typeorm,我知道ManyToManyOneToOne等。

但是我不确定我所处的关系。我有一个名为Comment的实体,以便用户可以讨论某些内容。我想添加2列名为pidppid的列。

pid表示当前评论之父,因此pid的关系为@OneToOneppid表示根注释。最后的出现就像下面一样

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

但是我不确定ppid的关系。谁能告诉我?

1 个答案:

答案 0 :(得分:0)

我一个人有答案。

    @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[];
    }