Hi Andrus,
I had seen this as being a problem but not one that I really cared
about. The main functionality I was after was being able to generate
classes and have them mapped through to database tables. I've got a fair
bit of code using cayenne already which I wanted to use again. It would
be good if Cayenne had some options which allowed for no primary keys
but made you aware you would lose some functionality.
As mentioned before I've got round the problem for this project but next
time it might not be so easy.
Cheers,
Dave
Andrus Adamchik wrote:
Hi Craig,
I can probably implement this in Cayenne in about 30 minutes, as
Cayenne has a notion of "temporary id" (normally used for new
uncommitted objects). The problem of course is uniquing. So say if a
DB row is fetched from a table via a query, resulting in object A, and
then later the same row is navigated to via a relationship from
another object, resulting in a second object B, distinct from A. This
breaks the fundamental assumption about object identity. So we chose
not to go this way.
Andrus
On Jun 8, 2007, at 7:01 AM, Craig L Russell wrote:
Just FYI, when JDO reads data from tables without PK, it internally
creates a unique id, similar to a generated PK, for the objects that
it reads and these ids are discarded when no longer needed. The fact
that the mapping is for tables without PK is known by the code that
creates the temporary ids.
Craig