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:
PersistenceManager: PersistenceManagers negotiate accesses, transactions, and queries between applications and the underlying data store. More on the
JDO PersistenceManager
(new window).
Transaction: Transactions provide for atomic, consistent, isolated, and durable management of data (ACID
properties). More on ACID
properties (new window).
Query: 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).
PersistenceCapable 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.
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:
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. ...
Object-oriented Data Structures Using Java by Nell B. Dale, Daniel T. Joyce, Chip Weems Average Customer Review: 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: 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: 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...