Yes, there are a few ways of doing this. The cleanest one is this:

object.getObjectId().getReplacementIdMap().put(Treatment.BLA_BLA_PK, UUID.randomUUID());

BTW, this code can be added to "setPersistenceState()" to be executed when persistence state is changed to NEW.

Andrus


On Jul 10, 2006, at 4:00 PM, Øyvind Harboe wrote:

Is there a way to set the primary key without mapping the primary key
as an object attribute?

Or is there a more elegant way of handling UUID as pk?

I have lots of tables where the pk is an UUID and the only reason why
I have to map the primary key as an object attribute is to be able to
set the pk to an UUID.

// Create object
Treatment treatment = (Treatment)
dataContext.createAndRegisterNewObject(Treatment.class);
// set pk as UUID
treatment.setId(UUID.randomUUID());

Where "setId()" is the primary key mapped as an ObjAttribute.



--
Øyvind Harboe
http://www.zylin.com


Reply via email to