cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Robert Zeigler <>
Subject Re: Coexisting with WebObjects
Date Thu, 11 Aug 2011 17:32:08 GMT

On Aug 11, 2011, at 8/1112:22 PM , John Huss wrote:

> Some specifics I'd like to know:
> 1) is cayenne single threaded like EOF?

Most things happen in the "active" thread, but cayenne dispatches object update notifications
to peer contexts in a separate thread.  But the actual commit, object modifications, etc.
all happen in the same thread as the rest of your code, so.  I'm not/wasn't an EOF user, so
I don't know if that's similar to EOF.

> 2) does it have prototypes?

Somebody with EOF background will need to answer that.

> 3) are there DB specific plugins like EOF?

Well, there are DB-specific SQL adapters so you get the right SQL for your database. SQLTemplate
is a way to externalize raw SQL in your application (for, eg, queries where performance is
critical) and that also supports DB-specific SQL implementations for your query so your code
can be DB-agnostic.  Again, not sure if that's similar to what you're asking about in EOF.

> 4) can you use a custom template for your entities?



> Thanks,
> John
> 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