title: OneToMany bidirectional mapping is not saving its foreign key
body: <p>I have one-to-many relationship between Employee &amp; Phone entities like this:</p>
  
  <pre><code>@Entity
  public class Employee {
      @Id
      @Column(name = "EMP_ID")
      private long id;
  
      private String name;
  
      @OneToMany(mappedBy = "owner")
      private List&lt;Phone&gt; phones = new ArrayList&lt;Phone&gt;();
  }
  
  @Entity
  public class Phone {
      @Id
      private long id;
      private String phoneNumber;
  
      @ManyToOne(fetch = FetchType.LAZY)
      @JoinColumn(name = "OWNER_ID")
      private Employee owner;
  }
  </code></pre>
  
  <p>In my code if I save phone first then employee next:</p>
  
  <pre><code>session.save(phone);
  session.save(employee);
  </code></pre>
  
  <p>Then I am seeing and insert query to save Employee, then insert query to save Phone and then update query to update owner_id in Phone table.</p>
  
  <p>So to avoid insert and update on Phone table, I have added below mapping in my Phone entity:</p>
  
  <pre><code>@Entity
  public class Phone {
      ...
      @ManyToOne(fetch = FetchType.LAZY)
      @JoinColumn(name = "OWNER_ID", insertable=false, updatable=false)
      private Employee owner;
  }
  </code></pre>
  
  <p>Now in this case, I see insert on Employee then insert on Phone, but the owner_id is null. </p>
  
  <p>How to make sure that the owner_id is not null when I save the entities? I want to save Phone then Employee in my code not the other way.</p>