为何TypeORM+PostgreSQL实体加@PrimaryGeneratedColumn仍报主键缺失错误?
解决TypeORM中Product实体的MissingPrimaryColumnError错误
你遇到的错误是因为同时给id字段标注了@PrimaryGeneratedColumn和@Column装饰器。@PrimaryGeneratedColumn本身已经内置了主键列的定义,不需要额外添加@Column,两个装饰器叠加会导致TypeORM无法正确识别主键配置。
解决方案
- 移除id字段上的
@Column装饰器,只保留@PrimaryGeneratedColumn即可。
错误示例
import { Entity, Column, PrimaryGeneratedColumn } from "typeorm"; @Entity() export class Product { @PrimaryGeneratedColumn() @Column() // 多余的装饰器引发冲突 id: number; // 其他字段定义 }
修正后的代码
import { Entity, PrimaryGeneratedColumn } from "typeorm"; @Entity() export class Product { @PrimaryGeneratedColumn() id: number; // 其他字段定义 }
修改后,TypeORM就能正确识别id作为Product实体的主键列,不会再抛出MissingPrimaryColumnError错误。
内容的提问来源于stack exchange,提问作者Fahad Subzwari
相关产品推荐
相关产品推荐

