O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Java™ Data Objects

Book Description

Java Data Objects is a standardized Java API for object persistence. It facilitates the storage and retrieval of complex object models with various storage mechanisms, including both object and relational databases. Analysts agree that JDO's transparent persistence will accelerate software development and yield more flexible applications and object models.

According to Infoworld, "The JDO standard promises to be a winner for business leaders and corporate developers alike. Unifying data access--that is, using familiar Java constructs to access information housed in relational databases, object databases, file systems, or even flash RAM--means that corporate applications will experience an increase in usability, portability and integration".

This book is for Java developers, designers and architects with a good understanding of the Java language who wish to write applications that use JDO for persistence. Prior knowledge of JDBC and J2EE is not specifically required, but would help to accelerate the reader's understanding of JDO's relationship with these technologies.

The companion CD-ROM includes the following JDO implementations:FastObjects, Kodo JDO, LiDO and OpenFusion JDO.


Table of Contents

  1. Copyright
  2. Acknowledgments
  3. Foreword
  4. Preface
  5. Understanding object persistence
    1. What is object persistence?
    2. Current techniques for persistence
    3. Object persistence with JDO
    4. JDO positioning
    5. What’s next?
  6. Developing a simple example
    1. Order processing domain
    2. Discussion
    3. Application source code
    4. What’s next?
  7. JDO architecture
    1. JDO implementations and vendors
    2. JDO instances
    3. JDO environments
    4. Persistent vs. transient
    5. Transactional vs. non-transactional
    6. Support for transactional/persistent instances
    7. JDO identity
    8. What’s next?
  8. Instance lifecycle
    1. Determining the state of an instance
    2. Required lifecycle states
    3. Required lifecycle state transitions
    4. Optional lifecycle states
    5. Optional lifecycle transitions
    6. InstanceCallbacks
    7. What’s next?
  9. Persistent object model
    1. Transparency
    2. JDO instances
    3. First- and second-class objects
    4. “Third-class” objects – arrays
    5. Type restrictions for persistent fields
    6. Inheritance
    7. Interlude: order processing GUI
    8. What’s next?
  10. Primary interfaces and classes
    1. JDOHelper
    2. JDO properties explained
    3. PersistenceManagerFactory
    4. PersistenceManager
    5. Extent
    6. PersistenceCapable
    7. What’s next?
  11. Transaction management
    1. Transactions
    2. Transaction interface
    3. Transaction strategies
    4. Advanced transaction options
    5. Transaction modes to improve efficiency
    6. Synchronization with JDO transactions
    7. What’s next?
  12. Queries with JDOQL
    1. Query architecture
    2. Constructing queries
    3. Query interface
    4. Query examples
    5. Query filter expressions
    6. Further examples
    7. Unconstrained query variables
    8. Dynamic Query Window
    9. What’s next?
  13. JDO exceptions
    1. JDO exception hierarchy
    2. Base exception classes
    3. Application exceptions
    4. What’s next?
  14. Persistence descriptor
    1. XML overview
    2. Naming the persistence descriptor
    3. Persistence descriptor elements
    4. Example – persistence descriptor “op.jdo”
    5. Facilities for vendor-specific extensions
    6. Example – deletion semantics
    7. What’s next?
  15. J2EE integration
    1. The managed environment
    2. J2EE overview
    3. Serialization of JDO instances
    4. JDO vs. J2EE transactions
    5. JDO integration with EJB
    6. JDO integration with stateless session beans
    7. JDO integration with stateful session beans
    8. JDO integration with entity beans
    9. JDO integration with message-driven beans
    10. JDO integration with the web tier
    11. Bootstrapping JDO in the managed environment
    12. What’s next?
  16. JDO implementations
    1. enJin™ by Versant
    2. FastObjects™ by Poet Software
    3. FrontierSuite for JDO™ by ObjectFrontier
    4. IntelliBO™ by Signsoft
    5. JDO Genie™ by Hemisphere Technologies
    6. JRelay™ by Object Industries
    7. Kodo JDO™ by SolarMetric
    8. LiDO™ by LIBeLIS
    9. OpenFusion JDO™ by PrismTechnologies
    10. Orient™ by Orient Technologies
    11. PE:J™ The Productivity Environment™ for Java by HYWY Software
  17. Epilogue
    1. Beyond JDO 1.0
    2. Sources of further information
  18. Properties for JDOHelper bootstrap
  19. Strings for supported options
  20. JDO persistence descriptor DTD
  21. PersistenceManagerFactory
    1. Grammar notation
    2. Parameter declaration
    3. Variable declaration
    4. Import declaration
    5. Order specification
    6. Filter expression
    7. Types
    8. Literals
    9. Names
  23. Glossary
  24. Bibliography