有可能,在 TypeOrm 中创建一个没有主键的 table 吗?

It's possible, create a table without primary key in TypeOrm?

并且仍然设法在另一个实体中执行@OneToMany。

export class ProductsOfOrder { 
    @ManyToOne(() => Order, order => order.products)
    order: Order

    @ManyToOne(() => Product)
    product: Product

    @Column({type: 'integer'})
    amount: number
}

在使用订单外键的情况下

@Entity()
export class Order {
    @PrimaryGeneratedColumn('uuid')
    id: string

    @ManyToOne(() => User)
    user: User

    @OneToMany(() => ProductsOfOrder, productsOfOrder => productsOfOrder.order, {cascade: true})
    products: ProductsOfOrder[]
}

再见,不,你不能,因为就 ORM 而言,实体需要有一个主列,因为大多数 ORM 操作都严重依赖于实体主 ID。

尝试使用:

export class ProductsOfOrder { 
  @PrimaryColumn({ primary: false })
  orderId: number;

  @ManyToOne(() => Order, order => order.products)
  @JoinColumn({ name: 'orderId' })
  order: Order[];

  @ManyToOne(() => Product)
  product: Product

  @Column({type: 'integer'})
  amount: number
}