News: Cayenne ORM 1.2 Final Release Announced
The Cayenne team is glad to announce the 1.2 final release of Cayenne persistence framework. Related links: Cayenne home page: http://incubator.apache.org/cayenne/ Download page: http://incubator.apache.org/cayenne/download.html Full release announcement: http://objectstyle.org/confluence/display/CAY/2006/07/16/ Cayenne is known a powerful, user-friendly open source ORM engine. 1.2 release extends this notion to the web services area. One of its signature features is Remote Object Persistence that turns Cayenne into a unique data service that can be accessed by remote applications. Currently this is just for Java clients (so it is often used with Swing or SWT "rich" apps), but we are contemplating clients in other languages. ORM-gone-WS provides the techniques familiar from the ORM world to the remote client. Namely lazy resolution of relationships, local caching, data queries, single method call commits of multiple objects, etc. Also server and client tiers share the same abstract object model and the same Cayenne persistence API. Other release highlights: * A reworked access stack that is now interface-based, modular and highly customizable. * Support for custom Queries * Nested DataContexts. * Extendable Ant tasks to generate arbitrary user-defined artifacts (such as UI sources) from Cayenne model * XML (de)serialization of persistent objects * Support for more databases * Automatic database type and version detection and "smart" configuration of the database adapter
- Posted by: Andrus Adamchik
- Posted on: July 20 2006 11:05 EDT
- Re: Cayenne ORM 1.2 Final Release Announced by Malcolm Edgar on July 20 2006 19:36 EDT
- Very good , I needn't have to close database connection by lyo Yashnoo on July 23 2006 08:09 EDT
- Re: Cayenne ORM 1.2 Final Release Announced by Pedro Costa on July 23 2006 17:05 EDT
Congratulations to the Cayenne development team it is great to see the 1.2 release. We have been using Cayenne for the last 6 months for building various web applications and have found it a very productive toolset. For bottom up modeling and development Cayenne is fantastic. You can create a new table or update an existing table, and then click a few buttons and your database schema is rebuilt and all your classes are generated. When doing rapid application development, this 1 minute build cycle for doing persistence changes is really productive. If you have an existing schema you can point the modeler at it and it will reverse engineer the classes and relationships for you as well. Other good things about Cayenne 1.2 is it doesn't rely on any new Java 1.5 features like annotations, so you can deploy it to your WebSphere 5.x-6.0 (JDK 1.4) installations without issue. With regard to annotations, the Cayenne API exposed object/relational meta data so you can get benefits if this stuff if you need. I have used both Cayenne 1.2 and Hibernate 3.0 and can provide a bit of a comparison: * Cayenne is significantly more productive toolset. This is mainly because of its schema generation and the code generation features. You don’t need to write or maintain XML mapping files. * Hibernate has a more powerful query language * The Cayenne design works better for web application. Out of the box is includes ThreadLocal and HttpSession support, transactional patterns and connection pooling. With Hibernate you need to set this stuff up, or use Spring's Hibernate support. Also Cayenne's DataObjects are always connected so you don't get the painful lazy initialization exceptions you suffer in Hibernate (I know you can fix this with Spring's Hibernate OpenSessionInViewFilter). * Hibernate has better support for legacy databases with weird PK and FK designs. Cayenne works best if you follow the design pattern, where by every object has a surrogate PK. Hibernate also works best this way. regards Malcolm Edgar http://click.sourceforge.net
what is the initial learning curve like for cayenne compared to hibernate? great response btw, very useful
As a Cayenne insider I can't judge the relative learning curve of Cayenne vs. Hibernate, although the ease of use have always been our *design goal*. But let me point you to a reworked "Quick Start" tutorial (also included with download). It targets Eclipse users and should get you going in no time: http://cwiki.apache.org/CAYDOC12/quick-start.html Andrus Adamchik http://incubator.apache.org/cayenne/
I found it to be a ton easier to learn Cayenne, specifically w/ initial setup. It's been about a year since I've used hibernate, so things may have improved since then, but I remember tools being far less mature (middlegen, hbm2java). Lots of folks in the Cayenne community have first tried Hibernate, and just gave up. Either cuz of the complexity or frustration with the Hibernate Forum.
I think the best thing is that you need not have to close database connection or session( :) ). If I use Hibernate,I need have to close session myself(I don't use springframework),it is too much work and easy make a mistake. If I use Cayneen, I don't take care of the database conection or jdbc exception. Good work!
I'm using Cayenne for about 1.5 years now and I can say that its real nice! The modeler is a great tool and the framework is very mature, productive and fun! Thanks for the wonderfull work and congrats for the 1.2 final version!!! Pedro Costa Portugal