title: What does relationship owner means in bidirectional relationship?
body: <p>I have a simple model with a <code>Question</code> and <code>Choice</code> object.</p>
  
  <ul>
  <li>ONE Question has MANY CHOICE(S).</li>
  <li>MANY Choice has ONE Question</li>
  </ul>
  
  <p>There are two ways to implement that with Hibernate</p>
  
  <p><strong>Implementation One: The owner side is Choice</strong></p>
  
  <p>Question.java</p>
  
  <pre><code>@OneToMany (mappedBy="question")
  private Set choices = new HashSet();
  </code></pre>
  
  <p>Choice.java</p>
  
  <pre><code>@ManyToOne
  @JoinColumn (name="QUESTION_ID")
  private Question question;
  </code></pre>
  
  <p><strong>Implementation Two: The owner side is Question</strong></p>
  
  <p>Question.java</p>
  
  <pre><code>@OneToMany
  @JoinColumn (name = "QUESTION_ID")
  private Set choices = new HashSet();
  </code></pre>
  
  <p>Choice.java</p>
  
  <pre><code>@ManyToOne
  @JoinColumn (name="QUESTION_ID", updatable = false, insertable = false)
  private Question question;
  </code></pre>
  
  <p>What is the difference between the two implementation?</p>