title: Grails hasMany: when child is updated, parent's version changes
body: <p>I am using Grails and am quite surprised by the way <code>hasMany</code> relationships work. I have a typical <code>hasMany</code> relationship where the parent id is in the child table. When I insert a child and try to save it through the parent object, the parent object's version id gets incremented. My question is: Why should the parent's version id change when there is a change only in the child object?</p>
  
  <pre><code>class Parent { 
      static hasMany = [children: child]
  }
  
  class child {
      string name 
      Parent parent
      static belongsTo = [Parent]
  }
  
  def p = Parent.get(1)
  p.addToChildren(new Child(name: "Roy"))
  p.save()
  </code></pre>
  
  <p>The version of <code>p</code> gets incremented from 0 to 1. Is there any way I can avoid this in Grails?</p>
  
  <p>Due to the change in version ID of the parent I get a stale object exception. Any help?</p>