When committing changes to a Apache Cayenne context, I get an exception like the following.
org.apache.cayenne.CayenneRuntimeException: [v.3.0.1 Sep 06 2010 15:09:38]
Temporary ID hasn't been replaced on commit
Why does this exception occur?
You are trying to commit an object for which Cayenne does not know how to generate a permanent id. This in turn typically happens when the underlying table has no primary key defined.
To solve the problem, do one of the following.
PersistentObject.setObjectID()
method.