jackrabbit-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From conflue...@apache.org
Subject [CONF] Apache Jackrabbit > Object Content Mapping
Date Tue, 04 Sep 2012 14:35:00 GMT
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 [downloads page|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
   

Mime
View raw message