Persistence of Dynamic and Generic Type
---------------------------------------
Key: OPENJPA-1686
URL: https://issues.apache.org/jira/browse/OPENJPA-1686
Project: OpenJPA
Issue Type: Bug
Reporter: Pinaki Poddar
Assignee: Pinaki Poddar
Persistence of semi-structured data has attracted lot of attention lately --
especially for web centric applications where flexibility/malleability of data
structure trumps the benefits of strongly-typed, schema-oriented relational
database.
OpenJPA as a leading object persistence solution must have a comprehensive
story (or may be epic in Agile nomenclature is more appropriate for this issue)
for persistence of semi-structured data.
This umbrella issue will explore two major aspects of this broad technical
problem
a) Mapping semi-structured data to Relational database
b) Mapping semi-structured data to non-Relational database
Mapping semi-structured data to Relational database:
OpenJPA has traditionally offered various degree of type support for
persistent data -- starting from the decalred persistent type such as @Entity
to the weakest namely a serialized blob. The capability of interest in this
regard is the support of the intermediate form between these extremes where a
persistent state/relation can be declared merely as persistce capable instead
of its exact type. This support is also relevant for generic types where the
exact type is only known at run-time instance at design time.
OpenJPA documentation and examples of this feature had been thin -- and
hence less exeercised. Moreover, I believe that this support has regressed
while introducing numerous new feature for JPA 2.0. So one aspect of this issue
will explore the extent of support for persistence capable types and document
them appropriately.
A simple and commonly used way to model a dynamic data structure is
name-value pair. However, this simple Java modeling technique has several
alternatives to be mapped into a relation database. One component of this issue
will explore
OpenJPA's support for persisting and querying name-value pairs and document
them for future usage as many forum users have raised technical question or
expressed interest in name-value pairs.
Mapping semi-structured data to non-Relational database
The current surge of interest in this area also has revived an ancient
discussion -- what is the applicability/advantage of non-relational data store?
Several interesting non-relational databases such as BigTable, Cassandra,
HBase, MongoDB, neo4j had proven their merits and been widely investigated.
OpenJPA is uniquely capable to integrate JPA application model on top of these
non-relational databases. Because OpenJPA architecture cleanly distinguished
between object life cycle management and data store interaction and query
expressions (in its early days -- OpenJPA developed an interface to a object
database). The second aspect of this issue will explore this option by
developing a connector to one (or more, if time permits) non-relational
database(s).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.