**Issue type:** [X] bug report **Database system/driver:** [X] `postgres` **TypeORM version:** [X] `0.2.22` **Steps to reproduce or a small repository showing the problem:** ```typescript @Entity() class Bean { @PrimaryGeneratedColumn("uuid") readonly id: string; @Column() name: string @ManyToOne(() => Friend) friend?: Friend; } const green = new Bean(); green.name = "green"; const x = await getRepository(Bean).save(green); // {id: "4a602d92-19f3-4c2f-93e5-922a4d907a75", name: "green" } const red = new Bean(); red.name = "red"; red.friend = {id: undefined} as Friend; const y = await getRepository(Bean).save(red); // {name: "red" } ``` I would expect the id is always returned.