You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rave.apache.org by Apache Wiki <wi...@apache.org> on 2012/05/28 20:22:21 UTC
[Rave Wiki] Update of "ArchitectureTopics/Persistence/ModelInterfaces" by MattFranklin
Dear Wiki user,
You have subscribed to a wiki page or wiki category on "Rave Wiki" for change notification.
The "ArchitectureTopics/Persistence/ModelInterfaces" page has been changed by MattFranklin:
http://wiki.apache.org/rave/ArchitectureTopics/Persistence/ModelInterfaces
New page:
Currently, the JPA based model does not support the goal of providing pluggable persistence. The following proposed model structure should simplify the task of providing a non-jpa based persistence layer. The changes in this proposal represent the ''MINIMUM'' amount of work to complete the conversion. All other model changes should happen in a separate proposal.
'''Proposed Maven Module Structure'''
{{{
rave-project
|__rave-components
| |__rave-commons //Common utility & helper classes
| |__rave-core //Core service, model & repository interfaces. Includes PURE POJO model implementations.
| |__rave-jpa //JPA implementation of the Rave models repositories
| |__rave-web //All web specific components
|__rave-... //The rest stays as is
}}}
'''Functional Changes'''
* All repositories will be expected to translate to their own representations of objects (IE JPA Entities)
* The Interface for a model MUST be used
* The POJO implementations are to be used only when creation of a new model instance is required in the service or web layers
'''Method of Change'''
All changes to the code will be made in a branch. Integration of the branch into trunk will be done via lazy consensus with a 72 hour waiting period once all JPA entities have been converted to interfaces.