This book has 17 chapters and 5 appendixes. The first three chapters
provide a good overview, showing a complete example, a high-level
overview of the JDO interfaces, and a discussion of the architectures
in which JDO can be used. Chapter 3 through Chapter 6 deal with object
modeling, schema design, and aspects of the JDO software-development
process. Chapter 7 covers aspects of establishing a JDO runtime
environment, which includes connecting to a datastore and issuing
transactions. The remaining chapters cover aspects of using JDO to
store, access, and query instances in the datastore. We start by
presenting the basic concepts and gradually move to more advanced
topics, including features that are optional in JDO implementations.
We complete the book by discussing how you can integrate your
applications into application-server and J2EE environments.
- Chapter 1
-
Provides an introductory overview of JDO by walking through a small
application that illustrates many of JDO's
capabilities.
- Chapter 2
-
Provides a high-level introduction to all of JDO's
interfaces. Details of these interfaces are covered in the rest of
the book. We also discuss class enhancement and the optional features
in JDO.
- Chapter 3
-
Provides a description of the architectural components within a
single JDO application and also describes the various system
architectures in which JDO implementations have been deployed.
- Chapter 4
-
JDO maps your object models into a database. This chapter covers the
Java object-modeling capabilities supported by JDO.
- Chapter 5
-
Explains approaches used for mapping your Java object models to the
modeling components of the underlying datastore.
- Chapter 6
-
Covers the process and effects of enhancing your classes.
- Chapter 7
-
Explains how to establish a connection with a datastore and establish
a transaction context in which to access objects in the database.
- Chapter 8
-
Covers all aspects of the CRUD operations of using a database:
Create, Read, Update, and Delete. We show how to make objects
persistent, accessing them from the database via extents and
navigation, and how to modify and delete them.
- Chapter 9
-
JDO includes its own query language, which is based largely on Java,
using its operators and syntax to access objects using the data model
defined by your classes.
- Chapter 10
-
Identifies the various approaches for uniquely identifying an object
in the database.
- Chapter 11
-
Covers the lifecycle states used by a JDO implementation to manage
objects in memory, describing the state transitions that occur as
your application and the JDO implemenation perform operations on the
objects.
- Chapter 12
-
Describes transactional fields, null values in fields, special
facilities that control the access of fields, and mechanisms for you
to manage fields during certain lifecycle events. The chapter
concludes with a discussion of first- and second-class objects.
- Chapter 13
-
Covers advanced topics related to managing instances in the cache,
including making persistent instances transient, making transient
instances transactional, cloning instances, and refreshing and
evicting instances in the cache.
- Chapter 14
-
Covers techniques for accessing instances outside of a transaction.
- Chapter 15
-
Covers all aspects of optimistic transactions in JDO.
- Chapter 16
-
Explains how to use JDO in an application-server environment.
- Chapter 17
-
Explains the use of JDO in an Enterprise Java Beans environment,
using JDO as the persistence service for session and entity beans,
using either bean-managed persistence (BMP) or container-managed
persistence (CMP).
- Appendix A
-
Provides a table containing all the lifecycle states and all
transitions that occur for any operation that changes the state of an
instance.
- Appendix B
-
Provides the XML Document Type Descriptor (DTD) for JDO metadata.
- Appendix C
-
Provides the signature for all the methods in each JDO interface.
- Appendix D
-
Provides the Backus-Naur Form (BNF) for the JDO Query Language.
- Appendix E
-
Provides complete source code for the major classes used in the
examples throughout the book.