cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrus Adamchik <>
Subject Re: Coexisting with WebObjects
Date Sat, 13 Aug 2011 14:58:58 GMT
Yeah, and keep in mind that Cayenne could care less how the downstream code accesses its properties.
The whole readNestedProperty thing is just a convenience, but is not something related to
the ORM features. So one can use JSP EL, OGNL, java beans utilities or a million other frameworks
out there to navigate the properties. Cayenne is agnostic to those. 

There's one exception - Cayenne read/write properties API is needed when you are using generic
objects - Otherwise, just use
what's available in Java.


On Aug 13, 2011, at 5:53 PM, Michael Gentry wrote:

> 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 "") and the web framework I use (Tapestry 5)
> directly supports using "" 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 <> 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 <> 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?

View raw message