Java Data Objects (JDO)

The Java Data Objects (JDO) specification is part of the Sun Java Community Process. JDO is a Java application program interface (API) for transparent persistence. It works with both object and relational databases as well as other types of systems. It is designed to also work well with EJB and J2EE.

The JDO object model is determined by a set of Java classes and XML metadata file. The metadata file contains modeling directives that either override the semantics specified in Java or provides semantics that cannot be expressed in Java. An enhancer is provided that enhances the Java classes based on these modeling directives.

The JDO specification provides a standard interface for accessing, storing, and processing persistent objects. The primary aspects in the JDO model are: 

bulletPersistenceManager: PersistenceManagers negotiate accesses, transactions, and queries between applications and the underlying data store. More on the JDO PersistenceManager (new window).
bulletTransaction: Transactions provide for atomic, consistent, isolated, and durable management of data (ACID properties). More on ACID properties (new window).
bulletQuery: The JDO Query Language (JDOQL) allows users to search for persistent objects matching specific criteria. JDOQL is meant to be query language neutral so that the underlying query language could be SQL, an object database query language such as OQL, or a specialize API to a hierarchical database or EIS system. More on the JDO Query Language (new window).
bulletPersistenceCapable classes: The actual entities that are stored and fetched. There are three identity models to allow for different underlying database management systems. More on JDO identity models (new window).

The JDO specification uses the Java  language as much as possible, which allows the transparent integration of Java. This is illustrated by the following diagram and contrasts with the database sublanguage of SQL and its variants. In this diagram, you only see the host programming language and no database sublanguage or call-level interface as in JDBC.

Transparent integration of programming languages and database access

An example of a host statement in Java that creates a new Person instance would be:

person = new Person();
person.ssan = "999999999";
person.name = "Doug Barry";

This code fragment would be all the code necessary to create a new person. There is no database sublanguage or call interface. If you wanted to manipulate this object in Java, you could use the object directly. Also see transparent persistence vs. JDBC call-level interface (new window).

For more information on transparent persistence, see:

bulletTransparent persistence for object databases (new window)
bulletTransparent persistence for relational databases using object-relational mapping products (new window)

For examples of JDO code, see

bulletJDO and object databases (new window)
bulletJDO and object-relational mapping (new window)

For an architectural example of how JDO can be used, see using JDO with application servers (new window).

For more details, see the JDO Specification Sun site (new window).

 

Web Services and Service-Oriented Architectures
Online articles>
Consulting
Mentoring
Speaking
Suggested programs
Stencils for the Savvy Manager's Guide
Links
Mail list
Privacy policy
Sitemap
Contact
Web Services articles
XML standards and vocabularies
Application server articles
Database concepts and standards>
Object database articles
Relational database articles
Object-relational mapping articles
XML database articles
XML middleware articles
Article Sponsorship
Reprint policy
Basic concepts for using a DBMS
Database models
DBMS standards>
Article suggestions
SQL-92
JDBC
SQLJ
SQL:1999
ADO.NET
Java Data Objects (JDO)>
ODMG 3.0
Detailed comparison of ODMG 3.0 and JDO
Summary comparison of DBMS standards
JDO PersistenceManager
JDO identity models
JDO Query Language (JDOQL)

Related recent articles from Google News


DataNucleus Launched as Successor to Java Persistence Platform JPOX
InfoQ.com, Canada - May 1, 2008
Support for basic JDOQL querying of objects stored in LDAP via JDO. Support for persistence of Java objects to Excel via JDO/JPA APIs, utilizing Apache POI. ...

Java ORM Data Mapping Eclipse Plug-in Due
Integration Developers, CA - Apr 11, 2008
... development tools to ease round-trip engineering when using the JSR 220 (EJB 3.0 persistence) and JSR 243 (Java Data Objects) approaches to persistence. ...

More related news: Java JDO OR "Java Data Objects" - Google News

Related books at Amazon.com


Object-oriented Data Structures Using Java
by Nell B. Dale, Daniel T. Joyce, Chip Weems
Average Customer Review: 3.5 stars based on 3 reviews.
Customer Review: This seller was very punctual with the shipping and delivery of the book and it was in very good condition like the ad had stipulated. I will recomment him to anyone ST

Objects, Abstraction, Data Structures and Design: Using Java version 5.0
by Elliot B. Koffman, Paul A. T. Wolfgang
Average Customer Review: 4 stars based on 2 reviews.
Customer Review: Fails to address threading/concurrency issues. You will not find coverage of the new Concurrency Utilities including the new collection classes in package java.util.concurrent. You will not find the following terms in the index: concurrency synchronized thread thread-safe

Java Data Objects
by David Jordan, Craig Russell
Average Customer Review: 3.5 stars based on 11 reviews.
Customer Review: This book is definitely the best on java data objects! i have read the one from prentice hall and addison wesley`s. its true that the first code example doesnt work, what is a shame but if you overcome your frustration and have a look at the oreilly website you can fond the correct and again detailed information (and even reason) to...

Objects, Abstraction, Data Structures and Design: Using Java
by Elliot B. Koffman, Paul A. T. Wolfgang
Publisher: Wiley
Publication Date: August 2004

Data Structures and Software Development in an Object Oriented Domain, Java Edition
by Jean-Paul Tremblay, Grant A. Cheston
Publisher: Prentice Hall
Publication Date: August 2002

More related books: Search Amazon.com for "Java Data Objects"

 

Copyright © 2000-2008 Barry & Associates, Inc. All Rights Reserved.
You can use this material for your work or classes. Click here for our reprint policy.
www.service-architecture.com

 

 Information on becoming a sponsor

 

 

Google

 

Barry & Associates, Inc.