Hi John, Cayenne's readProperty() and readNestedProperty() are similar to KVC. Although there is a writeProperty(), I don't believe there is a writeNestedProperty() yet (still on the to-do list). In practice, though, I rarely use these methods directly these days. Cayenne's Expression.fromString() (and others) supports relationship paths (so you can say "x.y.z.name") and the web framework I use (Tapestry 5) directly supports using "x.y.z.name" in their HTML templates. I've not had any issues following relationship paths through many objects.
mrg On Sat, Aug 13, 2011 at 9:34 AM, John Huss <[email protected]> wrote: > Does cayenne have anything like key value coding? When I glanced at the API > I thought I saw readProperty and writeProperty methods that looked similar. > Is that the case? Is there a way to follow a key path through several > objects? > > On Aug 11, 2011, at 10:53 AM, Joseph Senecal <[email protected]> wrote: > >> The big one is that WebObjects includes both an ORM and a web interface that >> understands ORM objects. You can use WebObjects by itself to develop a Web >> App that talks to a database where Cayenne is just the ORM layer. So >> comparing EOF (WebObjects ORM layer) to Cayenne, here's what I've noticed so >> far: >> >> EOF: >> EOF uses it's own collection classes (because it started as Objective C). >> This sounds like a bad thing, but having it's own collection classes allows >> it to do things like provide a common interface to both NSDictionaries and >> Enterprise Objects. >> Project Wonder: adds functionality and connivence methods >> ERXKeys: A Project Wonder wrapper for a typed key that be used to fetch the >> value from an Enterprise object, Map, or array. It can generate expression >> objects and sort order objects with very clean compact code. This is the >> piece I'm going to miss most transitioning from webObjects. >> >> Cayenne: >> Default settings are an order of magnitude faster than EOF at bulk loading. >> Same Expression can be used to fetch either objects or Maps >> Built in support for handling LARGE select sets >> Built in standard SQL like DB independent query language >> Built in support for caching query results >> >> I'm sure I'm missing a lot of features, but these are the differences I can >> think off of the top of my head. >> >> Joe >> >> On Aug 11, 2011, at 8:35 AM, John Huss wrote: >> >>> So what are the primary differences between WebObjects and Cayenne? >>> >> >
