Typescript 一对多关系不插入父关系

Typescript 一对多关系不插入父关系,typescript,nestjs,typeorm,Typescript,Nestjs,Typeorm,我有一对多的关系。当我选择时,select正常工作,但当尝试进行插入时,插入发生在主表中,而在其他表中发生更新 在控制台中生成日志 期望 对于正确生成插入的表tblCategory,我需要表tblBook生成插入,而不是正在发生的更新 author.entity.ts @Entity('tblCategory') export class Category { @PrimaryColumn({ name: 'ID_CATEGORY', type: 'uniqueidentifier' })

我有一对多的关系。当我选择时,select正常工作,但当尝试进行插入时,插入发生在主表中,而在其他表中发生更新

在控制台中生成日志 期望 对于正确生成插入的表tblCategory,我需要表tblBook生成插入,而不是正在发生的更新

author.entity.ts

@Entity('tblCategory')
export class Category {
  @PrimaryColumn({ name: 'ID_CATEGORY', type: 'uniqueidentifier' })
  id: string;

  @Column({ name: 'NM_CATEGORY', type: 'nvarchar' })
  name: string;

  @OneToMany(type => Book, book => book.category)
  @JoinTable({
    name: 'tblBook',
    joinColumn: { name: 'ID_BOOK' },
    inverseJoinColumn: { name: 'ID_CATEGORY' },
  })
  books: Book[];

}
@Entity('tblBook')
export class Book {
  @PrimaryColumn({ name: 'ID_BOOK', type: 'uniqueidentifier' })
  id: string;

  @Column({ name: 'DS_TITLE', type: 'nvarchar' })
  title: string;

  @Column({ name: 'DS_SUBTITILE', type: 'nvarchar' })
  subtitle: string;

  @ManyToOne(() => Category, m => m.books)
  @JoinColumn({ name: 'ID_CATEGORY' })
  category: Category;
}
类别.服务.ts

@Injectable()
export class ForragemPastoService {
  constructor(
    @InjectRepository(Category)
    private readonly repository: Repository<Category>,
  ) {}

  async save(category: Category): Promise<Category> {
    await this.repository.save(category);
    const data = await this.repository.findOne(category.id, {
      relations: ['books'],
    });
    return data;
  }
}

你试过设置级联吗?这可能有助于:

@OneToMany(type => Book, book => book.category, {cascade: true})

嗨,维尼修斯,欢迎来到Stackoverflow!:-)请编辑您的问题,并从gist链接添加代码。链接可能有一天会过期,所以在你的线程中有所有必要的信息是很重要的。另外,试着弄清楚,你的期望是什么,实际上发生了什么。看见
@OneToMany(type => Book, book => book.category, {cascade: true})