title: JPA @ManyToMany does not seem to update join table with no CascadeType
body: <p>I'm a little confused by a result I am seeing in my code and am not sure if this is by JPA design, or if I have to dig a little further.</p>
  
  <p>Given the following entity:</p>
  
  <pre><code>public class Provider implements Serializable {
  
      @Id
      @GeneratedValue(strategy = GenerationType.AUTO)
      @Column(name = "id")
      private Long id;
  
      @ManyToMany
      @JoinTable(name = "provider_contact", joinColumns = @JoinColumn(name = "contact_id", referencedColumnName = "id"), inverseJoinColumns = @JoinColumn(name = "provider_id", referencedColumnName = "id"))
      @OrderColumn
      private List&lt;Contact&gt; contacts;
  }
  </code></pre>
  
  <p>and the following code (occuring within a transaction):</p>
  
  <pre><code>/**
   * Updates the contact for the provider
   * @param providerId
   * @param contactDTO
   */
  @Override
  public Contact addContact(final long providerId, Contact contact){
      // first need to find the provider in the db
      Provider p = checkNotNull( providerRepository.findOne(providerId) );
  
      // need to save / update the contact if it already exists
      contactService.saveContact(contact);
  
      // add the contact to the provider
      if( p.getContacts() == null )
          p.setContacts(new ArrayList&lt;Contact&gt;());
      p.getContacts().add(contact);
  
      // return the contact
      return contact;
  }
  </code></pre>
  
  <p>I expect to see both the contact persisted (based on the <code>contactService.saveContact()</code>) method, and the join table updated due to the fact that I've added the contact to the provider object.</p>
  
  <p>However, the provider_contact join table is not being updated.</p>
  
  <p>I did not think I needed a <code>CascadeType</code> of any sorts to do the update to the join table.  Am I mistaken?  Do I need to enforce <code>CascadeType.PERSIST</code>?  Or is there a problem in my code in the way I add the contact to my provider?</p>