It is probably habit, but the first place I'd look to see the PK generation information is in the Modeler.
mrg On Fri, Jul 6, 2012 at 10:57 AM, Andrus Adamchik <and...@objectstyle.org> wrote: > When designing DI (and specifically filling in the standard DI modules), I > always asked myself a question whether this or that piece is a part of > "model" or "runtime services". Before DI was in place, our model was in a way > fulfilling DI role, so we'd stick something like a JGroups port in it, which > was completely inflexible of course... Now all the runtime decisions about > this or that "service" can be deferred till runtime, i.e. *after* modeling, > which is good and flexible. > > I think with PkGenerator we have a similar case. We allow the model to define > a few standard strategies, but then override (or implement them) depending on > deployment conditions if needed. Very similar to how DI handles DbAdapter now. > > Andrus > > > On Jul 6, 2012, at 5:31 PM, Michael Gentry wrote: >> I think it would be nice if alternative PK generators could be >> specified in the Modeler. >> >> mrg >> >> On Fri, Jul 6, 2012 at 2:57 AM, Andrus Adamchik <and...@objectstyle.org> >> wrote: >>> Per this document Cayenne supports various PK generation strategies with >>> "Meaningful Primary Key" being user-defined, and the rest generated by the >>> framework: >>> >>> http://cayenne.apache.org/doc/primary-key-generation.html >>> >>> PkGenerator is an existing interface that implements these strategies. The >>> task is about making it managed by Cayenne dependency injection (DI) >>> container. A similar task done in 3.1 was switching DbAdapter to DI. >>> Currently DbAdapter owns PkGenerator. The task is about breaking this >>> dependency and making PkGenerator directly injectable where it is needed. >>> >>> BTW this may sound simple, but is actually a fairly deep design task. So if >>> you feel like you need to learn Cayenne runtime before taking on it, I'd >>> recommend maybe other tasks from my earlier list. But of course you are >>> welcome to take on this one right away :) >>> >>> Andrus >>> >>> >>> On Jul 5, 2012, at 5:59 PM, Eshan Sudharaka wrote: >>> >>>> Or is it about adding the primary key functionality like auto increment >>>> which we can see in JPA ? (generating the values of the primary keys for >>>> each rows of a table) >>>> On Thu, Jul 5, 2012 at 8:00 PM, Eshan Sudharaka >>>> <esudhar...@gmail.com>wrote: >>>> >>>>> Hi, >>>>> I am interested in this task and need some more information regarding >>>>> this. I have a basic question regarding this PkGenerator. >>>>> >>>>> As i see DbEntity contains a collection of DbAttributes for primary key >>>>> construction and I think this collection is initialized when we configure >>>>> primary keys through the cayenne modeler. So It is bit unclear me to >>>>> understand the requirement of having a Pkgenerator while is is the users >>>>> responsibility to set the primary key for a DbEntity. It would be great if >>>>> you can explain to logic behind this. >>>>> >>>>> -- >>>>> *~Thanks & Regards~* >>>>> *** >>>>> * >>>>> Eshan >>>>> >>>>> >>>> >>>> >>>> -- >>>> *~Thanks & Regards~* >>>> *** >>>> * >>>> P.A.Eshan Sudharaka >>>> Dept of Computer Science and Engineering >>>> University of Moratuwa >>>> Sri Lanka >>>> http://esudharaka.blogspot.com/ >>> >> >