Gili wrote:
<snip>
> Ease of use... Hibernate is easier to get up and running with; it
> definately requires less work up-front. On the other hand, if something
> breaks while you're developing in Cayenne it seems to be easier to
> figure out what is wrong and how to fix it than Hibernate. With
> Hibernate this takes days, whereas in Cayenne this takes hours.
>
> If there is one feedback I would send to the Cayenne authors it's
> that ease-of-use needs to be improved. It is true that Cayenne is
> functionally similar to Hibernate, but the Cayenne API makes you jump
> through too many hoops to get anything done. You end up having to learn
> way too much about Cayenne's internals to get anything done. A simple
> example is flushing the context cache:
>
> context.invalidateObjects(context.getObjectStore().getObjects());
>
> The API needs to be more user-oriented; less technical, more human.
> "Context.flush()" is far more readable and easier to learn than the
> current API. This is just one example; there are a handful of others. I
> understand a lot of you are coming from a EOF background, but coming at
> this with a blank slate it isn't the cleanest API in the world.
</snip>
That's not really fair of you to say, though. You /weren't/ coming into
cayenne with a blank late. You were coming into cayenne with a series
of expectations about how ORM works based on your hibernate experience.
Thus, it is untrue that you were coming in with a "blank slate".
I actually /did/ come into cayenne with a blank slate. Before using
cayenne, my apps used sql+jdbc (albeit perhaps wrapped in a DAO pattern).
When I originally sat down to write "Tassel" (A Tapestry component
repository: http://www.tapestrycomponents.org), I decided to try using
an ORM solution (In fact, a large reason I wrote tassel was as a
personal learning project for various technologies.) Everyone seemed
to be ranting and raving about Hibernate. So I decided
to check it out. After spending several hours (4-5) reading through
various docs and /still/ feeling very confused, and certainly not
anywhere near getting started, I decided to check out cayenne, as I knew
of many users on the tapestry mailing list happily using the project.
Within 1 hour, I had the basic framework for tassel setup and I was
working on my application. As someone coming in with a truly "blank
slate" wrt ORM, I found cayenne's barrier to entry into ORM /much/ lower
than hibernate's. I can't speak for the ease of use of the hibernate
api vs. the cayenne api, since I never got that far in hibernate.
However, I have personally found cayenne's api to be intuitive and
natural. But that's certainly a very subjective measure, and YMMV
according to your background.
Robert
This archive was generated by hypermail 2.0.0 : Thu Sep 15 2005 - 16:59:06 EDT