【发布时间】:2021-07-15 18:07:37
【问题描述】:
我需要创建一个复合主键。我有两个实体是用户和任务。
用户实体
@Entity('users')
export class User extends BaseEntity {
@PrimaryGeneratedColumn('uuid')
public readonly id: string;
@Column({ nullable: false, type: 'varchar', length: 16 })
public readonly name: string;
@OneToMany(() => Task, (task: Task) => task.user)
public readonly tasks: Task[];
}
任务实体
@Entity('tasks')
export class Task extends BaseEntity {
@PrimaryGeneratedColumn('uuid')
public readonly id: string;
@Column({ nullable: true, type: 'varchar', length: 16 })
public readonly name: string;
@Column({ type: 'varchar', nullable: false })
public readonly userId: string;
@ManyToOne(() => User, (user: User) => user.tasks)
@JoinColumn({ name: 'userId' })
public readonly user: User;
}
在我的表task 中,我必须使用复合主键。例如4a00a3738e90e-0007。它是用户 id '4a00a3738e90e' 和它的 '0007' 用户计数任务。
如何创建复合主键?我没有在文档中找到决定。
id name userId
4a00a3738e90e-0001 task1 4a00a3738e90e
4a00a3738e90e-0002 task2 4a00a3738e90e
1er04r35l56en-0001 task1 1er04r35l56en
【问题讨论】:
标签: typeorm