Return-Path: X-Original-To: apmail-jackrabbit-commits-archive@www.apache.org Delivered-To: apmail-jackrabbit-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id ED369D878 for ; Tue, 4 Sep 2012 14:34:23 +0000 (UTC) Received: (qmail 26629 invoked by uid 500); 4 Sep 2012 14:34:23 -0000 Delivered-To: apmail-jackrabbit-commits-archive@jackrabbit.apache.org Received: (qmail 26585 invoked by uid 500); 4 Sep 2012 14:34:23 -0000 Mailing-List: contact commits-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@jackrabbit.apache.org Delivered-To: mailing list commits@jackrabbit.apache.org Received: (qmail 26578 invoked by uid 99); 4 Sep 2012 14:34:23 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 04 Sep 2012 14:34:23 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.22] (HELO thor.apache.org) (140.211.11.22) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 04 Sep 2012 14:34:21 +0000 Received: from thor (localhost [127.0.0.1]) by thor.apache.org (8.13.8+Sun/8.13.8) with ESMTP id q84EY0oT028264 for ; Tue, 4 Sep 2012 14:34:00 GMT Date: Tue, 4 Sep 2012 10:34:00 -0400 (EDT) From: confluence@apache.org To: commits@jackrabbit.apache.org Message-ID: <2790921.6949.1346769240145.JavaMail.confluence@thor> Subject: [CONF] Apache Jackrabbit > Object Content Mapping MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Auto-Submitted: auto-generated Space: Apache Jackrabbit (https://cwiki.apache.org/confluence/display/JCR) Page: Object Content Mapping (https://cwiki.apache.org/confluence/display/JCR/Object+Content+Mapping) Edited by Ard Schrijvers: --------------------------------------------------------------------- {warning:title=Warning} The Jackrabbit OCM documentation is still in progress. We advise you also to review [the unit tests|http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-ocm/src/test/]to get an overview on current OCM features. {warning} Latest stable Jackrabbit OCM is version 2.0.0, see [JCR:Downloads|ocm] * [Object Content Manager] ** [Basic OCM operations] ** [OCM Search] ** [OCM Version Management] ** [OCM Locking] * Tutorials ** [5' with Jackrabbit OCM] ** [A simple OCM project with Maven & Eclipse] ** [How to map associations between objects] * [Mapping Stategies] (obsolete doc) ** [Mapping Atomic Fields] (obsolete doc) ** [Mapping Bean Fields] (obsolete doc) ** [Mapping Collection Fields] (obsolete doc) ** [Advanced Mapping Strategies] (obsolete doc) Jackrabbit OCM is a framework used to persist java objects (pojos) in a JCR repository including association, inheritance, polymorphism, composition, and the Java collections framework. It offers also features like version support, object locking and express queries with Java-based criteria, as well as with JCR query languages. In order to easily support the JCR specification, any content application managing an high level object model can use this framework. For example, a classic Forum application contains objects like "Forum", "Topic" and "Post". Now, the data objects (pojo) can be managed by our JCR mapping tools in order to persist them into a JCR compliant repository. h2. Why an ocm? The object content mapping framework was created for the following different reasons: * Sometimes it is very convenient to be able to just access the JCR nodes and properties directly from your presentation-layer for very simple things (mostly generic display). When a lot of "business logic" are involved, the JCR API can be too low level and real business objects (pojo) are more appreciate in such cases. * The OCM framework provides more abstraction on the technologies used to persist your content. The different application layers are less dependent on the JCR API. * ORM tools like OJB or Hibernate are not appropriate for content oriented application. h2. Prerequisite Before using this OCM framework, you should review the JCR specification and implementations like Apache Jackrabbit. Change your notification preferences: https://cwiki.apache.org/confluence/users/viewnotifications.action