【问题标题】:It's possible, create a table without primary key in TypeOrm?可以在 TypeOrm 中创建一个没有主键的表吗?
【发布时间】:2022-03-14 18:36:26
【问题描述】:

并且仍然设法在另一个实体中执行@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[]
}

【问题讨论】:

    标签: node.js typescript typeorm


    【解决方案1】:

    Ciao,不,你不能,因为它要求实体在 ORM 方面有一个主列,因为大多数 ORM 操作都严重依赖实体主 ID。

    【讨论】:

      【解决方案2】:

      尝试使用:

      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
      }
      

      【讨论】:

        猜你喜欢
        • 2016-05-12
        • 1970-01-01
        • 2018-05-17
        • 2014-01-11
        • 1970-01-01
        • 1970-01-01
        • 2011-04-15
        • 2018-06-23
        • 2011-01-31
        相关资源
        最近更新 更多