Part 3. Java Data Objects

Table of Contents

1. Introduction
1.1. Intended Audience
1.2. Transparent Persistence
2. Why JDO?
3. JDO Architecture
3.1. JDO Exceptions
4. PersistenceCapable
4.1. Enhancer
4.2. Persistence-Capable vs. Persistence-Aware
4.3. Restrictions on Persistent Classes
4.3.1. Default or No-Arg Constructor
4.3.2. Inheritance
4.3.3. Persistent Fields
4.3.4. Conclusions
4.4. Lifecycle Callbacks
4.4.1. InstanceCallbacks
4.4.2. InstanceLifecycleListener
4.5. JDO Identity
4.5.1. Datastore Identity
4.5.2. Application Identity
4.5.2.1. Application Identity Hierarchies
4.5.3. Single Field Identity
4.6. Conclusions
5. Metadata
5.1. Persistence Metadata DTD
5.2. JDO, Package, and Extension Elements
5.3. Class Element
5.4. Field Element
5.5. Fetch Group Element
5.6. The Complete Document
5.7. Metadata Placement
6. JDOHelper
6.1. Persistence-Capable Operations
6.2. Lifecycle Operations
6.3. PersistenceManagerFactory Construction
7. PersistenceManagerFactory
7.1. Obtaining a PersistenceManagerFactory
7.2. PersistenceManagerFactory Properties
7.2.1. Connection Configuration
7.2.2. PersistenceManager and Transaction Defaults
7.3. Obtaining PersistenceManagers
7.4. Properties and Supported Options
7.5. DataStoreCache Access
7.6. Closing the PersistenceManagerFactory
8. PersistenceManager
8.1. User Object Association
8.2. Configuration Properties
8.3. Transaction Association
8.4. FetchPlan Association
8.5. Persistence-Capable Lifecycle Management
8.6. Lifecycle Examples
8.7. Detach and Attach Functionality
8.8. JDO Identity Management
8.9. Cache Management
8.10. Extent Factory
8.11. Query Factory
8.12. Sequence Factory
8.13. Connection Access
8.14. Closing
9. Transaction
9.1. Transaction Types
9.2. The JDO Transaction Interface
9.2.1. Transaction Properties
9.2.2. Transaction Demarcation
10. Extent
11. Query
11.1. Object Filtering
11.2. JDOQL
11.3. Advanced Object Filtering
11.4. Compiling and Executing Queries
11.5. Limits and Ordering
11.6. Projections
11.7. Aggregates
11.8. Result Class
11.8.1. JavaBean Result Class
11.8.2. Generic Result Class
11.9. Single-String JDOQL
11.10. Named Queries
11.10.1. Defining Named Queries
11.10.2. Executing Named Queries
11.11. Delete By Query
11.12. Conclusion
12. FetchPlan
12.1. Detachment Options
13. DataStoreCache
14. JDOR
15. Mapping Metadata
15.1. Mapping Metadata Placement
15.2. Mapping Metadata DTD
15.3. Sequences
15.4. Class Table
15.5. Datastore Identity
15.6. Column
15.7. Joins
15.7.1. Shortcuts
15.7.2. Self Joins
15.7.3. Target Fields
15.8. Inheritance
15.8.1. subclass-table
15.8.1.1. Advantages
15.8.1.2. Disadvantages
15.8.1.3. Additional Considerations
15.8.2. new-table
15.8.2.1. Joined
15.8.2.1.1. Advantages
15.8.2.1.2. Disadvantages
15.8.2.2. Table Per Class
15.8.2.2.1. Advantages
15.8.2.2.2. Disadvantages
15.8.3. superclass-table
15.8.3.1. Advantages
15.8.3.2. Disadvantages
15.8.4. Putting it All Together
15.9. Discriminator
15.9.1. class-name
15.9.2. value-map
15.9.3. none
15.9.4. Putting it All Together
15.10. Version
15.10.1. none
15.10.2. version-number
15.10.3. date-time
15.10.4. state-comparison
15.10.5. Putting it All Together
15.11. Field Mapping
15.11.1. Superclass Fields
15.11.2. Basic Mapping
15.11.2.1. CLOB
15.11.2.2. BLOB
15.11.3. Automatic Values
15.11.4. Secondary Tables
15.11.5. Direct Relations
15.11.5.1. Inverse Keys
15.11.5.2. Bidirectional Relations
15.11.6. Basic Collections
15.11.7. Association Table Collections
15.11.7.1. Bidirectional Relations
15.11.8. Inverse Key Collections
15.11.8.1. Bidirectional Relations
15.11.9. Maps
15.11.10. Embedded Objects
15.12. Foreign Keys
15.13. Indexes
15.14. Unique Constraints
15.15. The Complete Document
16. Sequence
17. SQL Queries
17.1. Creating SQL Queries
17.2. Retrieving Persistent Objects with SQL
17.3. SQL Projections
17.4. Named SQL Queries
17.5. Conclusion
18. Conclusion

 

Skip navigation bar   Back to Top