Search code examples
node.jsnestjstypeormnode-mysqlnode.js-typeorm

Typeorm eager loading not working on one to one relationship


Can we eagerly load a one-to-one related entity in typeORM? I am using TypeOrm in nestjs. The two One-to_One related entities are driver and job:

in Driver Entity:

  @OneToOne(() => JobEntity, job => job.current_driver)
  @JoinColumn({ name: 'current_job_id', referencedColumnName: 'job_id' })
  current_job: JobEntity

in Job Entity:

  @ApiProperty({ type: Number, example: 29 })
  @OneToOne(() => DriverEntity, driver => driver.current_job, { nullable: true, cascade: true })
  @JoinColumn({ name: 'current_driver_id', referencedColumnName: 'driver_id' })
  current_driver: DriverEntity;

I have tried to access the eagerly loaded entity on both sides, it's not working on either side.


Solution

  • you can use

      @OneToOne(() => JobEntity, job => job.current_driver)
      @JoinColumn({ name: 'current_job_id', referencedColumnName: 'job_id' , eager: true})
      current_job: JobEntity
    

    true your eager