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