Buying Options
Java Data Objects
Print $39.95
Add to Cart
Safari Books Online
Add to Cart
What is this?
Print £30.50
Add to Cart
What is this?
Description
This book, written by the JDO Specification Lead and one of the key contributors to the JDO Specification, is the definitive work on the JDO API. It gives you a thorough introduction to JDO, starting with a simple application that demonstrates many of JDO's capabilities. It shows you how to make classes persistent, how JDO maps persistent classes to the database, how to configure JDO at runtime, how to perform transactions, and how to make queries. More advanced chapters cover optional features such as nontransactional access and optimistic transactions. The book concludes by discussing the use of JDO in web applications and J2EE environments.

Whether you only want to read up on an interesting new technology, or are seriously considering an alternative to JDBC or EJB CMP, you'll find that this book is essential. It provides by far the most authoritative and complete coverage available.

Full Description
Table of Contents
  1. Chapter 1 An Initial Tour

    1. Defining a Persistent Object Model

    2. Project Build Environment

    3. Establish a Datastore Connection and Transaction

    4. Operations on Instances

    5. Summary

  2. Chapter 2 An Overview of JDO Interfaces

    1. The javax.jdo Package

    2. The javax.jdo.spi Package

    3. Optional Features

  3. Chapter 3 JDO Architectures

    1. Architecture Within Application JVM

    2. Datastore Access

    3. System Architectures with a JDO Application

  4. Chapter 4 Defining Persistent Classes

    1. Kinds of Classes and Instances

    2. Java Classes and Metadata

    3. Fields

  5. Chapter 5 Datastore Mappings

    1. Mapping Approaches

    2. Relational Modeling Constructs

    3. Modeling Constructs in Java and Relational Models

    4. Mapping Classes to Tables

    5. Mapping a Single-Valued Field to a Column

    6. Identity

    7. Inheritance

    8. References

    9. Collections and Relationships

  6. Chapter 6 Class Enhancement

    1. Enhancement Approaches

    2. Binary Compatibility

    3. Enhancement Effects on Your Code

    4. Changes Made by the Enhancer

  7. Chapter 7 Establishing a JDO Runtime Environment

    1. Configuring a PersistenceManagerFactory

    2. Acquiring a PersistenceManager

    3. Transactions

    4. Multiple PersistenceManagers

    5. Multithreading

  8. Chapter 8 Instance Management

    1. Persistence of Instances

    2. Extent Access

    3. Accessing and Updating Instances

    4. Deleting Instances

  9. Chapter 9 The JDO Query Language

    1. Query Components

    2. Creating and Initializing a Query

    3. Changes in the Cache

    4. Query Namespaces

    5. Query Execution

    6. The Query Filter

    7. Ordering Query Results

    8. Closing a Query

  10. Chapter 10 Identity

    1. Overview

    2. Datastore Identity

    3. Application Identity

    4. Nondurable Identity

    5. Identity Methods

    6. Advanced Topics

  11. Chapter 11 Lifecycle States and Transitions

    1. Lifecycle States

    2. State Interrogation

    3. State Transitions

  12. Chapter 12 Field Management

    1. Transactional Fields

    2. null Values

    3. Retrieval of Fields

    4. Serialization

    5. Managing Fields During Lifecycle Events

    6. First- and Second-Class Objects

  13. Chapter 13 Cache Management

    1. Explicit Management of Instances in the Cache

    2. Cloning

    3. Transient-Transactional Instances

    4. Making a Persistent Instance Transient

  14. Chapter 14 Nontransactional Access

    1. Nontransactional Features

    2. Reading Outside a Transaction

    3. Persistent-Nontransactional State

    4. Retaining Values at Transaction Commit

    5. Restoring Values at Transaction Rollback

    6. Modifying Persistent Instances Outside a Transaction

  15. Chapter 15 Optimistic Transactions

    1. Verification at Commit

    2. Optimistic Transaction State Transitions

    3. Deleting Instances

    4. Making Instances Transactional

    5. Modifying Instances

    6. Commit

    7. Rollback

  16. Chapter 16 The Web-Server Environment

    1. Web Servers

    2. Struts with JDO

  17. Chapter 17 J2EE Application Servers

    1. Enterprise JavaBeans Architecture

    2. Stateless Session Beans

    3. Bean-Managed Transactions

    4. Message-Driven Beans

    5. Persistent Entities and JDO

  1. Appendix A Lifecycle States and Transitions

  2. Appendix B JDO Metadata DTD

  3. Appendix C JDO Interfaces and Exception Classes

    1. Interfaces

    2. Exceptions

  4. Appendix D JDO Query Language BNF

    1. Parameter Declaration

    2. Variable Declaration

    3. Import Declaration

    4. Ordering Specification

    5. Type Specification

    6. Names

    7. Literal

    8. Filter Expressions

  5. Appendix E Source Code for Examples

    1. The com.mediamania.appserver package

    2. The com.mediamania.content package

    3. The com.mediamania.hotcache package

    4. The com.mediamania.store package

  6. Colophon

View Full Table of Contents
Product Details
Title:
Java Data Objects
By:
David Jordan, Craig Russell
Publisher:
O'Reilly Media
Formats:
  • Print
  • Safari Books Online
Print Release:
April 2003
Pages:
384
Print ISBN:
978-0-596-00276-3
| ISBN 10:
0-596-00276-9
Customer Reviews
About the Authors
  1. David Jordan

    David Jordan founded Object Identity, Inc. in 2001 to provide JDO consulting services. He became interested in the integration of object type systems and databases while earning his M.S. in Computer Science in the early 1980s. At Bell Labs in 1985, he initiated the development of the first C++ object database. He has developed a variety of applications using C++ object models on top of network, relational, and object database systems. Bell Labs appointed him a Distinguished Member of Technical Staff in 1990 for his contributions in object and database technologies. The Object Data Management Group (ODMG) asked him to serve as their C++ editor in 1993. He served in that role until 2000 and was appointed their Java editor in 1998. He coedited four books published by the ODMG. David served as a C++ Report columnist describing the ODMG standard from 1994 to 1996, at which point he stopped to write his first book, C++ Object Databases. David started using Java in late 1995. Upon his selection as ODMG's Java editor, he became a columnist for Java Report, initially covering ODMG and then JDO. David was part of the small group that initiated JSR-12, and he became one of the initial members of the JDO expert group. The JDO specification has a special acknowledgment of David's contributions to the JDO standard. When the JDOcentral.com community web site was formed, David was selected to serve as its moderator. David can be reached at david.jordan@objectidentity.com

    View David Jordan's full profile page.

  2. Craig Russell

    Craig Russell studied applied mathematics at Harvard University (B.A. '70 - '71) and acquired practical experience working as a technician repairing mainframes with the computing power of a 1997 model laptop. His early experiences in distributed computing included building applications with CICS and DL/I and designing heterogeneous network server implementations for file, print, and communications sharing among personal computers. Craig later dealt with issues of persistent object interoperability among Smalltalk, C++, and Java and integrating object and relational databases using X/OPEN XA protocols and commercial transaction processing systems. Craig served as the Java Chair of the Object Data Management Group and played a key role in the development of the ODMG 3.0 Java binding. For the next standard for database access from Java, the ODMG decided to support the Java Community Process as the delivery vehicle. With support from all major relational database and middleware vendors, Java Specification Request 12, Java Data Objects, was proposed in May 1999 and released in April 2002. Concurrent with the development of the JDO standard, Craig's primary responsibility was to lead the implementation of the object-relational database engine for several Sun products, including Java Blend and Forte for Java Transparent Persistence. Craig currently is the architect for the Container Managed Persistence implementation of Sun ONE Application Server, where he deals with the reality of implementing the high-performance, specification-compliant version of the object-relational database component of the J2EE application server.

    View Craig Russell's full profile page.

Colophon

Our look is the result of reader comments, our own experimentation, and feedback from distribution channels. Distinctive covers complement our distinctive approach to technical topics, breathing personality and life into potentially dry subjects. The animal on the cover of Java Data Objects is a bilby (Macrotis lagotis), also known as a ninu, dalgyte, pinky, or rabbit-eared bandicoot. Bilbies are rabbit-sized marsupials with silky, blue-gray fur; long, pointed snouts; large, rabbit-like ears; and long, black tails with white tips. This strange combination of traits may appear awkward, but its delicate and cute features have actually made the bilby one of Australia's most attractive and celebrated mammals. For many Australians, the Easter Bilby has even replaced the rabbit as the popular Easter icon.

Bilbies have adapted well to the hot, arid climates they now habitate. Their long, slender tongues help them eat a diet of seeds, insects, bulbs, fruit, and fungi. Bilbies have well-developed forearms and long claws, which they use to dig the deep, spiralling burrows in which they live. Bilbies are strictly nocturnal, and during the day they plug the entrances to their holes with soil to protect them from extreme temperatures. Because bilbies are solitary animals, burrows usually have a single opening and a single occupant, though females often live with their young. Like other marsupials, females have a backward-opening pouch with eight teats, used to carry and protect their young for about 80 days. Bilbies usually have no more than two young at a time.

Once common throughout Australia, disease, agriculture clearing, spreading of the fox and feral cat, and the control campaign against the destructive rabbit (which was often unfairly grouped with the innocent bilby it resembles) have limited bilbies' habitats to isolated populations in Western Australia, the Northern Territory, and southwestern Queensland. Bilbies are now listed as endangered species by many Australian and international conservation groups. Brian Sawyer was the production editor and copyeditor for Java Data Objects. Colleen Gorman was the proofreader. Genevieve d'Entremont and Claire Cloutier provided quality control. David Jordan and Craig Russell wrote the index, with the assistance of Reg Aubry.

Hanna Dyer designed the cover of this book, based on a series design by Edie Freedman. The cover image is a 19th-century engraving from Animate Creation, Vol. II. Emma Colby produced the cover layout with QuarkXPress 4.1 using Adobe's ITC Garamond font.

David Futato designed the interior layout. Andrew Savikas prepared this book in FrameMaker 5.5.6. The text font is Linotype Birka, and the heading font is Adobe Myriad Condensed. The code font is a modified version of LucasFont's TheSans Mono Condensed, designed by Luc(as) de Groot with modifications suggested by David Jordan. The illustrations that appear in the book were produced by Robert Romano and Jessamyn Read using Macromedia FreeHand 9 and Adobe Photoshop 6. This colophon was written by Brian Sawyer.

  • Book cover of Java Data Objects