Thanks for your comment concerning the large data sets. As I recall,
EOF choked on large data sets when I was coding Obj-C. I don't know
what the problem was, but I do recall that there was a hard limit.
My interest (right now) is primarily with the various methods by
which Entities & Relationships can be mapped using the two different
tools and then how much capability is offered using the two different
(or perhaps not so different) persistence-management models. My
*current* understanding is that Cayenne is very similar to EOF and
relies upon the CayenneModeler to: create/analyze/reverse-engineer
(or any combo) resulting in cayenne metadata (xml files),
instantiated DBMS schema, and auto-generated Java persistence
classes. Whereas Hibernate relies on a raw (hand edited) xml-
metadata file, but also supports the xdoclet POJO mapping (which
*appears* to support/require that the objects be maintained by
programmer)
Also, if I understand correctly, Cayenne may have a tad more elegant
and mature persistence architecture (guessing on this one because I
am not an EOF expert).
The advantage of EOF and EOF Modeler was the maturity of the
architecture with respect to managing the DataContext-layer as well
as it was a central hub for instantiation of an abstract Entity-
Relationship model. I have not been able to verify if Hibernate
"groks" this way of being used or not. Cayenne certainly does.
On Aug 9, 2007, at 2:23 PM, Joe Baldwin wrote:
This is a general question I would guess at the "use case" level.
I was recently in a conversation in which I was challenged about
the selection of Cayenne over Hibernate. I have only researched
Hibernate & run some elementary demo tests. My conclusion was that
Hibernate allows you to create a mapping via an XML metadata file
but that some of the mapping responsibilities (currently found in
Cayenne) are left to the programmer to resolve and maintain. I
specifically pointed to Cayenne Modeler as an example of an
essential tool supporting the 'change it in one place' philosophy
that impacts maintenance time budgeting.
It was asserted that Hibernate could do anything that Cayenne could
do. In addition, the CayenneModeler advantage was dismissed with a
comment concerning an Eclipse plugin that is supposed to support
the same features.
Things change very quickly in the OpenSource world so perhaps I
could have made a mistake, however, I don't think that I am that
far off the mark. Is there a white paper that might discuss the
differences (couldn't find one at the Hibernate site)? Does anyone
have an opinion?