[1.2.x] Announcement: new Play Module for Apache Cayenne ORM

93 views
Skip to first unread message

Allen

unread,
Jan 8, 2014, 6:06:55 AM1/8/14
to play-fr...@googlegroups.com
Hi,

we recently open sourced our Play Module (for 1.2.x) to use the 
Apache Cayenne ORM, a very good alternative to hibernate and JPA, in a play application.

About Apache Cayenne (info from the website):

Object Relational Mapping, Persistence and Caching for Java
Apache Cayenne(tm) is an open source persistence framework licensed under the Apache License, providing object-relational mapping (ORM) and remoting services. With a wealth of unique and powerful features, Cayenne can address a wide range of persistence needs. Cayenne seamlessly binds one or more database schemas directly to Java objects, managing atomic commit and rollbacks, SQL generation, joins, sequences, and more. With Cayenne's Remote Object Persistence, those Java objects can even be persisted out to clients via Web Services.

Cayenne is designed to be easy to use, without sacrificing flexibility or design. To that end, Cayenne supports database reverse engineering and generation, as well as a Velocity-based class generation engine. All of these functions can be controlled directly through the CayenneModeler, a fully functional GUI tool. No cryptic XML or annotation based configuration is required! An entire database schema can be mapped directly to Java objects within minutes, all from the comfort of the GUI-based CayenneModeler.

Cayenne supports numerous other features, including caching, a complete object query syntax, relationship pre-fetching, on-demand object and relationship faulting, object inheritance, database auto-detection, and generic persisted objects. Most importantly, Cayenne can scale up or down to virtually any project size. With a mature, 100% open source framework, an energetic user community, and a track record of solid performance in high-volume environments, Cayenne is an exceptional choice for persistence services.

Key features of the plugin:
  • use Apache Cayenne model classes directly in your play app
  • special Controller class for easily accessing the Cayenne ObjectContext for accessing the database
  • custom select tag for to-Many relations
  • special binder to fill objects from form requests
We are also working on a multi tenancy feature (use one app but different databases depending on a single criteria like
url query paramter etc.) and release this shortly.

You can find the source code on github.


To build the module, checkout the source code and execute "play build-module".
In the dist folder inside the plugin source folder, you can find then the plugin as zip archive.

Best wishes,
Allen


Reply all
Reply to author
Forward
0 new messages