Re: Feedback regarding Cayenne vs Hibernate

From: Robert Zeigler (rdzeigl...arizona.edu)
Date: Thu Sep 15 2005 - 18:58:48 EDT

  • Next message: Gili: "Re: Feedback regarding Cayenne vs Hibernate"

    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