Over a million developers have joined DZone.

A Human-Readable Jackrabbit Persistence Manager Prototype for OrientDB

DZone's Guide to

A Human-Readable Jackrabbit Persistence Manager Prototype for OrientDB

· Database Zone
Free Resource

Learn how to create flexible schemas in a relational database using SQL for JSON.

After working with Apache Jackrabbit for a while, I still wonder about the database persistence managers that Jackrabbit provides. Storing the node serialized in a blob always seemed a bit perverse when using the concepts of a database.

Some time ago, I thought about whether I could do that in a more "database" way. The idea was to use OrientDB since it stores documents (nodes) as well as a graph (the jcr tree). To see if I could do it, I wrote a functional, test-passing prototype that stores the node in a human-readable OrientDB document and persists the child relations as edges in the graph.

This has some limitations, as jackrabbit will still access only one node at a time.  Being able to traverse the graph at the storage level is simply not intended by the whole API. But it works, it's readable and it can be modified at the database level easily.

You can grab the code at https://github.com/eiswind/jackrabbit-orient

Create flexible schemas using dynamic columns for semi-structured data. Learn how.


Published at DZone with permission of Thomas Kratz, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.


Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.


{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}