复合外键引用复合主键,引用其他复合主键

时间:2020-10-14 05:32:59

标签: typeorm

我正在尝试使用参考复合主键的复合外键定义模型。这是示例:

@Entity()
export class Parent {
  @PrimaryColumn()
  id1: number;

  @PrimaryColumn()
  id2: number;

  @Column()
  name: string;
}

@Entity()
export class Child {
  @ManyToOne(() => Parent, { primary: true, nullable: false })
  @JoinColumn([
    { name: 'parent_id1', referencedColumnName: 'id1' },
    { name: 'parent_id2', referencedColumnName: 'id2' }
  ])
  parent: Parent;

  @PrimaryColumn()
  id3: number;

  @Column()
  name: string;
}

@Entity()
export class GrandChild {
  @ManyToOne(() => Child, { primary: true, nullable: false })
  @JoinColumn([
    { name: 'parent_id1', referencedColumnName: 'parent_id1' },
    { name: 'parent_id2', referencedColumnName: 'parent_id2' },
    { name: 'parent_id3', referencedColumnName: 'id3' }
  ])
  child: Child;

  @PrimaryColumn()
  id4: number;

  @Column()
  name: string;
}

我收到以下错误:Referenced column parent_id1 was not found in entity Child

是否可以在parent_id1类中明确定义parent_id2Child列?

0 个答案:

没有答案
相关问题