Re: Feedback regarding Cayenne vs Hibernate

From: Gili (cowwo..bs.darktech.org)
Date: Thu Sep 15 2005 - 17:13:28 EDT

  • Next message: Gili: "Delete cascade problem"

            Fine, I relent :) You guys make good points. I actually just went back
    and revisited some complaints I had with the Cayenne API and it seems I
    have been overly harsh.

            Some of the API still exposes too much internal details for my liking
    (i.e. user oriented versus developer oriented API) but as Mike pointed
    out the context API is being reworked heavily for 1.2 so these problems
    will likely go away.

    Gili

    Robert Zeigler wrote:
    > 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
    >

    -- 
    http://www.desktopbeautifier.com/
    



    This archive was generated by hypermail 2.0.0 : Thu Sep 15 2005 - 17:13:28 EDT