简而言之:我有一个名为Section
的实体,它应该包含一个名为Subsection
的字段。每个小节可以有多个小节,一个小节只能属于一个小节。所以我们这里有Many2One
。该类看起来像这样(我只复制了几个字段):
@Entity('section')
export class SectionEntity {
@PrimaryGeneratedColumn('increment')
id: number;
@Column({
type: 'int',
name: 'template_id',
nullable: true,
})
templateId: number;
@Column({
type: 'varchar',
name: 'name',
})
name: string;
@Column({
type: 'boolean',
name: 'is_base_template',
})
isBaseTemplate: boolean;
}
但是我需要添加另一个subsections
类型的字段SectionEntity
。因此,在这种情况下,它将看起来像递归类型。
我该怎么办?那么装饰者之间的关系会怎样?
答案 0 :(得分:1)
我假设这实际上是来自装饰实体的Typeorm问题。Typeorm中对此有支持,您可以找到一个很好的示例here。 在这种情况下,它将看起来像这样:
@Entity('section')
export class SectionEntity {
@PrimaryGeneratedColumn('increment')
id: number;
@Column({
type: 'int',
name: 'template_id',
nullable: true,
})
templateId: number;
@Column({
type: 'varchar',
name: 'name',
})
name: string;
@Column({
type: 'boolean',
name: 'is_base_template',
})
isBaseTemplate: boolean;
@ManyToOne(type => SectionEntity, section => section.subsections)
parentSection: SectionEntity;
@OneToMany(type => SectionEntity, section => section.parentSection)
subsections: SectionEntity[];
}