To build application using Java JDO technology, we need the JDO
implementation. Here we have listed all commercial and non-commercial JDO
implementations that are available in the market.
JDO Reference Implementations
JPOX is a free and fully compliant implementation of the JDO1, JDO2 specifications, providing transparent persistence of Java objects. It supports persistence to all of the major RDBMS on the market today, persistence to the DB4O object datastore, supporting all of the main Object-Relational Mapping (ORM) patterns demanded by today's applications, allows querying using either JDOQL, SQL, or JPQL, and comes with its own byte-code enhancer. JPOX is available under the Open Source Apache 2 license, allowing access to not just a top quality Java persistence implementation but also to the source code, allowing you to contribute to the success story of the principal standards-compliant Open Source persistence implementation in the world today.
JPOX 1.0 is JDO1 compliant. JPOX 1.1 is JDO1 and JDO2 compliant, and is the JDO2 Reference Implementation. JPOX 1.2 will add compliance to JPA1 (EJB3) / JDO2.1, and will allow persistence to DB4O datastores.
Commercial Implementations of JDO
JORM (Java Object Repository Mapping) is an adaptable persistence service. It can be used to offer various personalities, such as one compliant with the CMP EJB specification (TM), another with the OMG PSS specification or another with the JDO (Java Data Objects) specification (TM).
Kodo is BEA's proven, award-winning, high-performance persistence engine. Kodo allows your team to focus on creating value-added business logic by transparently handling the time-consuming, low-level plumbing of data persistence. Kodo has programmer bindings for both the Java Data Object (JDO) and Enterprise Java Bean (EJB) standardized persistence Application Programming Interfaces (API). This flexibility allows you to use the APIs you prefer or even to mix use of both JDO and EJB in the same application.
- ObjectDB for
ObjectDB is a powerful Object Database for Java. It is compact, fast, reliable and very easy to use. ObjectDB is specially designed to efficiently handle databases of various sizes, from a few KBs to hundreds of GBs, in both embedded database mode and client server mode. As a pure Java Database, ObjectDB is written entirely in Java, and it is compliant with the new Java Data Objects (JDO) standard.
Orient is a true ODBMS (Object Data Base Management System). It can store and retrieve objects to database without any conversion. With Orient you don't write a line of code to persist objects. The application will be much faster and the development process strongly reduced: from 50% to 80% less code.
a.) Java using Sun JDO technology
b.) C++ using ODMG 3.0 worldwide standard
c.) SQL-92 subset with extension for objects to query the database
d.) XML using XMLObjects
- hywy's PE:J
Benefits of hywy'sPE.J:
a.) Significantly reduces cost to develop Java applications
b.) Reduces complexity of Java development
c.) Integrates easily into your technical and methodological environments
d.) Easy to learn, easy to use
e.) Accelerates effectiveness of programmers new to Java by enabling them to produce high quality code faster
- SignSoft intelliBO
(Signsoft intelligent Business Objects)
Signsoft intelliBO is an object-relational/object-object/object-XML persistence middleware that supports the Java data object standard (JDO). With Signsoft intelliBO, you can access your data in a simple and efficient, i.e. intelligent way. The scope of possible applications ranges from simple desktop applications to web applications up to complex enterprise applications.
It is difficult, time consuming, expensive in development, and expensive at run time, to map the objects into a relational database and performance can suffer. Versant Object Database 7.0 is designed to handle the navigational access, seamless data distribution, and enterprise scale often required by these applications.
The Xcalia Intermediation Core? allows you to externally tune your application by bracketing your code with use cases, identified by simple strings. Once use cases are identified in your code, you can define timers, locking policies, queries, fetch policies, caching strategies, and other performance-enhancing aspects that apply only to the code executing within each use
JDOInstruments is an embedded object oriented database programmed in java, it is also an implementation of Sun's Java Data Objects (JDO) specification for the transparent persistence of Java objects.
Because of this, it doesn't need a JDBC driver or a relational database. It uses its own object store thus it allows storage and retrieval of persistent data with little work from you.
JPOX is a free and fully compliant implementation of the JDO1, JDO2 specifications, providing transparent persistence of Java objects. It supports persistence to all of the major RDBMS on the market today, persistence to the DB4O object datastore, supporting all of the main Object-Relational Mapping (ORM) patterns demanded by today's applications, allows querying using either JDOQL, SQL, or JPQL, and comes with its own byte-code enhancer.
- Apache ObJectRelationalBridge
Apache ObJectRelationalBridge (OJB) is an Object/Relational mapping tool that allows transparent persistence for Java Objects against relational databases.
OJB supports multiple persistence APIs to provide users with their API of choice:
a.) A PersistenceBroker API which serves as the OJB persistence kernel. The OTM-, ODMG- and JDO-implementations are built on top of this kernel. This API can also be used directly by applications that don't need full fledged object level transactions.
b.) A full featured ODMG 3.0 compliant API.
Speedo is an open source implementation of the JDO (TM) 1.0.1 specification. It is hosted by ObjectWeb.
Speedo main benefits:
a.) Possible choice of optimistic or pessimistic transaction mode
b.) Locking managed by Speedo itself or by the database (clustering support)
c.) Cache of persistent objects (L2), with a choice of several replacement policies (LRU | MRU | FIFO | ...) configurable per class.
d.) Data prefetching at query evaluation time: later accesses to objects will not require any I/O to the data store
e.) Lazy loading of data and support of fetch groups (JDO2)
TriActive JDO (TJDO) is an open source implementation of Sun's JDO specification (JSR 12), designed to support transparent persistence using any JDBC-compliant database. TJDO has been deployed and running successfully in many commercial installations since 2001.
The current version has been tested successfully using Cloudscape, DB2, Firebird, MySQL, Oracle, PostgreSQL, SAP DB, and MS SQL Server.