title: How to solve "Temporary ID hasn't been replaced on commit" with Cayenne
body: <p>When committing changes to a Apache Cayenne context, I get an exception like the following.</p>
  
  <pre><code>org.apache.cayenne.CayenneRuntimeException: [v.3.0.1 Sep 06 2010 15:09:38]
  Temporary ID hasn't been replaced on commit
  </code></pre>
  
  <p>Why does this exception occur?</p>