Ok, I've finally ported enough of my application that I can begin to
give you some feedback.
Cayenne seems to be faster than Hibernate in some areas, slower in
others. I don't have very reliable figures as of yet but I'd guestimate
that Cayenne yields equivilent performance to Hibernate.
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.
I'd like to propose a few API changes but I'm not sure if it all right
to discuss this on the mailing list...?
Thanks,
Gili
-- http://www.desktopbeautifier.com/
This archive was generated by hypermail 2.0.0 : Thu Sep 15 2005 - 14:56:14 EDT