Newletter Sign Up
Posts on the
Design Decomposition Blog
Iridium Satellite Collision in Space
You might have seen the recent news reports about the collision between U.S. and Russian communication satellites. The U.S. satellite was one of the Iridium satellites. What wasn’t reported and you probably don’t know is that an object database management system (ODBMS) is an important part of the Iridium system. Even though ODBMSs are a [...]
February 13, 2009
(The Acronym) SOA is (Perhaps) Dead (at Some Companies); Long Live Services
I am now also posting on the Cutter Blog. My initial posting is (The Acronym) SOA is (Perhaps) Dead (at Some Companies); Long Live Services. It is a response to Anne Thomas Manes’ SOA is Dead; Long Live Services on her blog at the Burton Group.
January 9, 2009
Atomicity
The typical definition of an atomic task or process is one that cannot be decomposed further. This is vague and subject to interpretation. The Decomposition Matrix on this site uses a specific definition: A task (for business process diagrams) or a process (for data flow diagrams) is atomic if every input relates to every output [...]
December 3, 2008
Well-Formed Business Process Diagrams
My last posting referenced the criteria for a well-formed business process diagram mentioned in Business Process Driven SOA using BPMN and BPEL by Matjaz B. Juric and Kapil Pant. I am going to expand on their criteria to create a more comprehensive definition of a well-formed business process diagram. To start, here are three criteria from [...]
November 18, 2008
Recent Business Process Modeling Books
I recently received two new books on business process modeling. Both books looked interesting because they had great titles. As it turns out, one book is great and the other not so good. The not so good book is Business Process Driven SOA using BPMN and BPEL by Matjaz B. Juric and Kapil Pant. There are [...]
October 9, 2008
The Design Decomposition Blog
is written by Doug Barry.
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:

  • 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.

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:

For examples of JDO code, see

>>
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).

Related content for: Java Data Objects (JDO)

More detail for the current topic: Java Data Objects (JDO)

More on the general topic: DBMS standards

Read more free articles on this site

There are nearly 400 pages of articles on this site with over 40 pages on database concepts and standards.

Search this site for more articles

Custom Search

Browse this site for more articles

Click on the topics below to browse the articles on this site. You can see more detail by clicking on the arrows. This highlights the location of the current article: Java Data Objects (JDO).

Related recent articles from Google News

Java on Google App Engine requires different approach
SearchSOA
"It's also true that you have to stick with JPA, JDO or plain SQL to store data." Most Java developers should at least be familiar with the Java Persistence ...
and more »
9 Mar 2010 at 9:49am
IBM and Eclipse efforts focus on OSGi modularity
NetworkWorld.com
The company last month offered a combined beta release of application server technologies based on OSGi and Java Persistence API. The feature pack currently ...
and more »
4 Mar 2010 at 11:33pm
Developing a Master-Detail View
SYS-CON Media (press release)
This tutorial provides step-by-step instructions for creating a Web application that uses the Java Persistence API (JPA) version 2.0 with ...

24 Feb 2010 at 3:54pm
Can Paremus Make OSGi Nimble?
Enterprise Irregulars (blog)
By James Governor on March 12, 2010 One of the great unsolved Java problems is a lack of modularity. OSGi is a technology designed to solve the problem. ...

12 Mar 2010 at 9:59am
Java EE 6 & GlassFish v3: Flexible, Extensible, and Simple
CIOL
For example, Java Persistence API 2.0 defines an API for the management of persistence and object/relational mapping. An RI is a binary distribution and is ...

8 Mar 2010 at 5:21am
More related news on: Java JDO OR "Java Data Objects" OR "Java persistence"

Related books at Amazon.com

Data Structures and Other Objects Using Java (3rd Edition)
Data Structures and Other Objects Using Java (3rd Edition)
by Michael Main
Average Customer Review: 3.5 stars based on 15 reviews.
Customer Review: Even after taking a mid-level CS course where this book was the required text, this book still sits on my bookshelf at work for reference. Why? Well, certainly it is not the most comprehensive book of data structures in existence, nor is it written with a scholarly tone. But, that's the point! Michael Main's writing has the air of a...
Object-oriented Data Structures Using Java
Object-oriented Data Structures Using Java
by Nell B. Dale
Average Customer Review: 3.5 stars based on 6 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
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 5 reviews.
Customer Review: A reader wrote that, "this book fails to address concurrency issues". But the books title never commits this. It's about teaching data-structures using Java (correctly). And it exactly does this with great success. Although I read it to refresh my knowledge, I enjoyed a lot as I learn the subject first time. It's CS for beginners, bu...
Java Data Objects
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...
Data Structures and Algorithms with Object-Oriented Design Patterns in Java (Worldwide Series in Computer Science)
Data Structures and Algorithms with Object-Oriented Design Patterns in Java (Worldwide Series in Computer Science)
by Bruno R. Preiss
Average Customer Review: 2.5 stars based on 10 reviews.
Customer Review: Hi, as an undergrad engineering student, I had this book for the coursebook in my algorithms course. Honestly speaking, it's good , very readable text. I never used any of the code examples fom the book in my assignments, yet they proved rather helpfull in understanding the material. Something, that I think is missing from this book...
More related books: Search Amazon.com for Java Data Objects