Hi, Thank you for all the feedback, i can see that there is plenty of solutions that were not obvious at first. Yes I'm using 3.0.
At first i thought i was committing a sin making this question, i smelled something religious against meaningful primary keys in legacy systems. Regards Hans ----- "Michael Gentry" <[email protected]> escribió: > If you assign your primary key(s) manually, before telling Cayenne to > commitChanges(), then you'll be fine. Cayenne will honor the PK > value > that you set without trying to replace it. > > You didn't mention which version of Cayenne, but for version 2.0 (and > I suppose even in 3.0) you can override your data object's > setPersistenceState() method: > > public void setPersistenceState(int state) > { > super.setPersistenceState(state); > > if (state == PersistenceState.NEW) > { > // Initialize PK here. > } > } > > > For Cayenne 3.0, you can use the new lifecycle callbacks: > > http://cayenne.apache.org/doc/lifecycle-callbacks.html > > > mrg > > > On Thu, Mar 19, 2009 at 7:07 PM, <[email protected]> wrote: > > Hi, > > > > We have a legacy table that have a meaningful primary key, many code > depends on it and it's not possible to alter it. > > We are building new java applications that need to insert in it. > > > > We would like to cayenne it and not use any sequence at all for > making inserts... > > > > ¿ it's possible to do it ? > > > > Regards > > Hans > > -- Hans Poo, WeLinux S.A. Oficina: 697.25.42, Celular: 09-319.93.05 Bombero Ossa # 1010, Santiago
