title: TypeORM updating entity/table
body: <p>This is my User entity:</p>
  
  <pre><code>@PrimaryGeneratedColumn()
  userId: number;
  
  @Column({type:"varchar", length:"300"})
  userName: string;
  
  @OneToOne(type =&gt; UserProfile, {cascadeAll:true})
  @JoinColumn()
  userProfile: UserProfile;
  
  @OneToOne(type =&gt; UserCredential, {cascadeAll:true, eager:true})
  @JoinColumn()
  userCredential: UserCredential;
  
  @OneToOne(type =&gt; BusinessUnit, {cascadeAll:true})
  @JoinColumn()
  businessUnit: BusinessUnit;
  
  @ManyToMany(type =&gt; ProductCategory)
  @JoinTable()
  productCategory: ProductCategory[];
  </code></pre>
  
  <p>and this is my new data which i want to update:</p>
  
  <pre><code>User {
    userName: 'qweret@gmail.com',
    userProfile: 
     UserProfile {
       firstName: 'dcds',
       lastName: 'Faiz',
       mobile: '42423423',
       addressLine1: 'Delhi',
       addressLine2: 'Delhi',
       city: '-',
       country: '-',
       zipCode: '234243',
       homeTelephone: '-',
       dayOfBirth: 0,
       monthOfBirth: 0,
       yearOfBirth: 0 },
    userCredential: UserCredential { credential: 'abcd@123' } }
  </code></pre>
  
  <p>i'm searching user by its userId.</p>
  
  <pre><code>return await getManager()
                 .createQueryBuilder(User, "user")
                 .where("user.userId = :id", {id})
                 .getOne();
  </code></pre>
  
  <p>the above query gives me result:</p>
  
  <pre><code>User {
    createdDate: 2018-03-29T06:45:16.322Z,
    updatedDate: 2018-04-01T06:28:24.171Z,
    userId: 1,
    userName: 'qweret@gmail.com' }
  </code></pre>
  
  <p>i want to update my user table and its related tables</p>
  
  <pre><code>manager.save(user)
  </code></pre>
  
  <p>will insert a new row in the table instead of updating the existing the row. Is there a way to update the whole user table and its related table without updating every column manually?
  i don't want to perform this task like this:</p>
  
  <pre><code>let user = await userRepositiory.findOneById(1);
  user.userName = "Me, my friends and polar bears";
  await userRepository.save(user);
  
  let userProfile = await userProfileRepository.findOneById(1);
   userProfile.firstName = "";
   userProfile.lastName = "";
      ....// etc
   await userRepository.save(userProfile);
  
   // and so on update other tables.
  </code></pre>