Changes for page Alternative Technologies-Cayenne
Last modified by John Huss on 2012/12/08 17:26
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -20,11 +20,11 @@ 20 20 21 21 **Raw Rows** 22 22 23 -In Cayenne raw row fetches are limited to returning columns from a single table. This differs from EOF which allows for any related key path to be fetched. In Cayenne the qualifier may still reference key paths, they just cannot be returned in the select. 23 +In Cayenne raw row fetches are limited to returning columns from a single table. This differs from EOF which allows for any related key path to be fetched. In Cayenne the qualifier may still reference key paths, they just cannot be returned in the select. You could consider rewriting complex EOF Raw Row fetches with SQLTemplate in Cayenne. 24 24 25 25 **Inheritance** 26 26 27 -Cayenne currently supports only single table inheritance and vertical inheritance. However, horizontal inheritance is slated for implementation in the next release of Cayenne (3. 1).27 +Cayenne currently supports only single table inheritance (completely) and vertical inheritance (partially). However, horizontal inheritance is slated for implementation in the next release of Cayenne (3.2?). 28 28 29 29 **Tooling** 30 30 ... ... @@ -42,7 +42,7 @@ 42 42 43 43 Cayenne is agnostic to the specific deployment environment, however it is almost always deployed to a standard Java Application Server (Servlet container) like JBoss or Glassfish, etc. This is an industry standard approach, which has some advantages. Personally, I quite like that the app is entirely contained in a single .war file. 44 44 45 -However, Cayenne can easily be used in a WO application as it is just another jar and doesn't have any special deployment requirements. 45 +However, Cayenne can **easily be used in a WO application** as it is just another jar and doesn't have any special deployment requirements. 46 46 47 47 **Feature Matrix** 48 48 ... ... @@ -80,10 +80,12 @@ 80 80 | Remote / Distributed Data Access (Client apps) using API directly | X | X | 81 81 | Android Support | | | Android support is available with a [[patch>>https://issues.apache.org/jira/browse/CAY-1604]] to Cayenne. EOF will run on Android, but the license does not allow it. 82 82 | Pluggable Cache Implementation | | X | 83 -| Database Migrations | X | | Migrations are available in Cayenne with a pending [[ patch>>https://issues.apache.org/jira/browse/CAY-1633]] (vote it up). CayenneModeler has the ability to inspect schema and migrate it as an one-time Admin function.83 +| Database Migrations | X | | Migrations are available in Cayenne with a pending project in the [[sandbox>>http://svn.apache.org/viewvc/cayenne/sandbox/cayenne-migrations/]] and an open [[issue>>https://issues.apache.org/jira/browse/CAY-1633]] (vote it up). CayenneModeler has the ability to inspect schema and migrate it as an one-time Admin function; this could be extended to generate a migration upgrade classes in additional to the initial migration. 84 84 | [[EJBQL>>http://cayenne.apache.org/doc/ejbqlquery.html]] Query support (defined by JPA spec) | | X | 85 85 | Raw SQL Templating | | X | Cayenne allows SQL to be written using the velocity [[template>>http://cayenne.apache.org/doc/sqltemplate-query.html]] language and stored in the model so it can support multiple database types. 86 86 | Batch Querying | | X | Cayenne provides this using [[QueryChain>>http://cayenne.apache.org/doc/querychain.html]] 87 +| Documentation in the model (EO model doc) | X | | 88 +| Default values defined in the model (for migrations and in entity objects) | X | | 87 87 | Servlet Deployment | X | X | 88 88 | JavaMonitor / wotaskd Deployment | X | X | 89 89 | Incredible Community and Conferences | X | | ... ... @@ -172,13 +172,11 @@ 172 172 173 173 | | 174 174 | **ERXKey** 175 - | **ExpressionFactory** (sort of, see the Key class in ERCayenneExample framework in Wonder for a direct analog) 176 - 177 + | **Property** 177 177 | ERXKey.eq 178 - | ExpressionFactory.matchExp (sort of) 179 - 179 + | Property.eq 180 180 | ERXKey.ne 181 - | ExpressionFactory.noMatchExp(sort of)181 + | Property.ne 182 182 183 183 | | 184 184 | **EOFetchSpecification**