We have two standardized Persistence specifications which
are available for use in the Market.
In most of the cases we think that Hibernate and JPA are the obvious choice for
our persistence strategy.
However we completely miss out other options like JDO which
has much more capabilities than the Hibernate and JPA implementers provide.
We should realize the fact that JDO supports much more ORM
features than JPA .And the another biggest difference is that JPA is limited to
only relational database as data storage, whereas JDO is agnostic to data store
technology.
Let’s see the comparisons between JPA vs JDO In detail:
JDO:
- Largely datastore type agnostic
- Object-relational mapping standard and a transparent
object persistence standard both - object-oriented
- JDOQL is very close to Java syntax
- Lightweight persistence framework started in 2001
- latest version JDO3.
JPA :
- Target only relational database
- Object-relational mapping standard
- A lightweight persistence framework started in 2006. Latest version JPA2
- There are fewer restrictions on the nature of POJOs with JDO than with JPA - if you use 'final' at all, be prepared to have to re-write things for use with JPA. You also have to include an identity field in your POJOs for JPA but not with JDO.
- JDO can persist more types of data structure than JPA. For example, in JPA, we are limited to persisting collections and maps of Entities. In JDO you can also persist collections and maps of immutable objects like String, Date, BigDecimal etc. Basically, JDO is less intrusive and more versatile - you can persist a wider range of objects, and can more easily persist legacy objects that have not been coded with the framework in mind, and you can persist to more than relational databases .
- JPA is a subset of JDO 2.0 features
- JDO commercial implementations and open source projects also offer a JPA API implementation as an alternative access to their underlying persistence engines
JPA 2 supportability
- DataNucleus (formerly JPOX)
- EclipseLink (formerly Oracle TopLink)
- JBoss Hibernate
- ObjectDB
- OpenJPA
- IBM, via its OpenJPA-based Feature Pack for OSGi Applications and JPA 2.0 for WebSphere Application Server
- Versant JPA (not relational, object database)
Since nowadays NoSQL data base is speeding very fast, JDO framework could gain the pace in Market .
Fore more hit http://db.apache.org/jdo/jdo_v_jpa.html
Fore more hit http://db.apache.org/jdo/jdo_v_jpa.html
No comments:
Post a Comment