Search code examples
hibernatejpaobject-oriented-databaseversant-vod

OODB JPA implementation difference with Hibernate


I already have some experience with Hibernate but, if I'm correct, there's no way to use it to access object databases like Versant's VOD. Since they just released a preview with JPA support I was wondering if I can use my limited Hibernate skills to use the object database with JPA. If anybody has experience with please let me know if these versions are compatible.

Best.

Harry


Solution

  • Let me put a disclaimer first: I'm one of the developers of Versant JPA.

    To work with Versant JPA it should be sufficient to have basic JPA skills.

    We provide a tutorial which should run out of the box after you have installed the "Versant JPA" Technical Preview and the supplied Eclipse plug-in. Just have a look into this and the provided "Getting Started with Versant JPA" manual to get the first impressions how easy to use it is.

    I disagree with some statements from DataNucleus: Yes, Versant is an ODBMS and not an RDBMS, thus we ignore anything which is just specific to mapping - your Java data model is virtually the same as the data model in the Versant database. However apart from all mapping related stuff, JPA is a natural API for an object database as well. I disagree, that there is a big correlation between the design of JPQL and the fact, that JPA was designed with RDBMS in mind. (Actually Microsoft has proven this by abstracting LINQ to a datastore agnostic level.)

    All the big differences between Versant JPA and RDBMS based JPA implementations are described in a separate chapter in our "Getting Started with JPA" guide. The biggest one might be our restriction, to have an @Id field of type "long" or "java.lang.Long", which is automatically set by our runtime.

    We do also have a JDO implementation, but I would recommend to try out our Versant JPA technical preview (as the term "preview" suggests, it is not feature complete yet).

    Christian Romberg