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
