On Apr 6, 2007, at 12:53 PM, Jens Mayer wrote:
I'm using cayenne with oracle 9.2.0.3.0
The pk-attributes in my schema are automatically generated by
before-insert-triggers, so cayenne doesn't have to bother
generating any pk. Due to this, I set the PK Generation Strategy
for all DbEntities to "Database-Generated".
And here comes the problem: everytime cayenne is doing an insert, a
"select pk_xyz.nextval from dual" is fired. What's that ? Did I
missunderstood anything ? I expected cayenne to ignore the pk-
attributes completely.
Essentially when Cayenne knows (ok "assumes" is a more proper word)
that db-generated pk doesn't work, it fires its own PK generator. The
problem with using a trigger for PK is that there is no way to pass
back that value to Cayenne via JDBC, hence Cayenne can't
appropriately handle newly inserted object after commit. This is a
JDBC limitation, and I am not aware of a workaround for it on the
Java end.
Andrus