Kodo JDO Reference Guide

Table of Contents

1. Introduction
1.1. Intended Audience
2. Configuration Framework
2.1. JDO Standard Properties
2.1.1. javax.jdo.PersistenceManagerFactoryClass
2.1.2. javax.jdo.option.Optimistic
2.1.3. javax.jdo.option.Multithreaded
2.1.4. javax.jdo.option.IgnoreCache
2.1.5. javax.jdo.option.RetainValues
2.1.6. javax.jdo.option.RestoreValues
2.1.7. javax.jdo.option.NontransactionalRead
2.1.8. javax.jdo.option.NontransactionalWrite
2.1.9. javax.jdo.option.ConnectionURL
2.1.10. javax.jdo.option.ConnectionUserName
2.1.11. javax.jdo.option.ConnectionPassword
2.1.12. javax.jdo.option.ConnectionDriverName
2.1.13. javax.jdo.option.ConnectionFactoryName
2.1.14. javax.jdo.option.ConnectionFactory2Name
2.1.15. javax.jdo.option.MinPool
2.1.16. javax.jdo.option.MaxPool
2.1.17. javax.jdo.option.MsWait
2.2. Kodo JDO Properties
2.2.1. com.solarmetric.kodo.CacheReferenceSize
2.2.2. com.solarmetric.kodo.ConnectionProperties
2.2.3. com.solarmetric.kodo.DataCacheClass
2.2.4. com.solarmetric.kodo.DataCacheProperties
2.2.5. com.solarmetric.kodo.RemoteCommitProviderClass
2.2.6. com.solarmetric.kodo.RemoteCommitProviderProperties
2.2.7. com.solarmetric.kodo.DefaultDataCacheTimeout
2.2.8. com.solarmetric.kodo.DefaultFetchThreshold
2.2.9. com.solarmetric.kodo.DefaultFetchBatchSize
2.2.10. com.solarmetric.kodo.EnableQueryExtensions
2.2.11. com.solarmetric.kodo.FetchGroups
2.2.12. com.solarmetric.kodo.FlushBeforeQueries
2.2.13. com.solarmetric.kodo.LicenseKey
2.2.14. com.solarmetric.kodo.PersistenceManagerClass
2.2.15. com.solarmetric.kodo.PersistenceManagerProperties
2.2.16. com.solarmetric.kodo.ProxyManagerClass
2.2.17. com.solarmetric.kodo.ProxyManagerProperties
2.2.18. com.solarmetric.kodo.QueryCacheClass
2.2.19. com.solarmetric.kodo.QueryCacheProperties
2.2.20. com.solarmetric.kodo.QueryFilterListeners
2.2.21. com.solarmetric.kodo.ResultListClass
2.2.22. com.solarmetric.kodo.ResultListProperties
2.2.23. com.solarmetric.kodo.TransactionCacheClass
2.2.24. com.solarmetric.kodo.TransactionCacheProperties
2.2.25. com.solarmetric.kodo.UseSoftTransactionCache
2.2.26. com.solarmetric.kodo.PersistentTypes
2.2.27. com.solarmetric.kodo.TransactionMode
2.2.28. com.solarmetric.kodo.ConnectionFactory2Properties
2.2.29. com.solarmetric.kodo.impl.jdbc.ConnectionRetainMode
2.2.30. com.solarmetric.kodo.impl.jdbc.ConnectionTestTimeout
2.2.31. com.solarmetric.kodo.impl.jdbc.DefaultClassMappingClass
2.2.32. com.solarmetric.kodo.impl.jdbc.DefaultSubclassProviderClass
2.2.33. com.solarmetric.kodo.impl.jdbc.DefaultSubclassProviderProperties
2.2.34. com.solarmetric.kodo.impl.jdbc.DictionaryClass
2.2.35. com.solarmetric.kodo.impl.jdbc.DictionaryProperties
2.2.36. com.solarmetric.kodo.impl.jdbc.FlatInheritanceMapping
2.2.37. com.solarmetric.kodo.impl.jdbc.SequenceFactoryClass
2.2.38. com.solarmetric.kodo.impl.jdbc.SequenceFactoryProperties
2.2.39. com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerClass
2.2.40. com.solarmetric.kodo.impl.jdbc.SQLExecutionListenerClass
2.2.41. com.solarmetric.kodo.impl.jdbc.StatementCacheMaxSize
2.2.42. com.solarmetric.kodo.impl.jdbc.StatementExecutionTimeout
2.2.43. com.solarmetric.kodo.impl.jdbc.SynchronizeSchema
2.2.44. com.solarmetric.kodo.impl.jdbc.TransactionIsolation
2.2.45. com.solarmetric.kodo.impl.jdbc.UseBatchedStatements
2.2.46. com.solarmetric.kodo.impl.jdbc.UseSQL92Joins
2.2.47. com.solarmetric.kodo.impl.jdbc.WarnOnPersistentTypeFailure
2.2.48. com.solarmetric.kodo.ee.ManagedRuntimeClass
2.2.49. com.solarmetric.kodo.ee.ManagedRuntimeProperties
2.3. Logging Framework
2.3.1. Disabling Logging
2.3.2. Logging using Apache Log4J
2.3.3. Logging using JDK 1.4 java.util.logging
2.3.4. Logging using Simple Log
2.3.5. Logging using a Custom Log
3. Creating Persistent Classes
3.1. Application Identity Class Generation
3.2. Enhancement
3.3. Auto-Generating Classes from a Schema
3.3.1. Customizing Reverse Mapping
3.3.2. Formatting Reverse Mapping Code
3.3.3. Schema File DTD
3.4. Smart Proxies
4. Metadata
4.1. Dependency Extensions
4.1.1. dependent
4.1.2. element-dependent
4.1.3. value-dependent
4.1.4. key-dependent
4.2. Class-level Object-Relational Mapping Extensions
4.2.1. table
4.2.2. pk-column
4.2.3. lock-column
4.2.4. class-column
4.2.5. subclass-provider
4.2.6. subclass-indicator-value
4.2.7. custom-mapping
4.2.8. can-cache
4.2.9. data-cache-name
4.2.10. cache-timeout
4.2.11. sequence-factory-class
4.2.12. sequence
4.2.13. sequence-factory-properties
4.3. Field-level Object-Relational Mapping Extensions
4.3.1. dependent
4.3.2. element-dependent
4.3.3. value-dependent
4.3.4. key-dependent
4.3.5. inverse
4.3.6. blob
4.3.7. column-length
4.3.8. column-index
4.3.9. ordered
4.3.10. table
4.3.11. data-column
4.3.12. key-column
4.3.13. ref-column
4.3.14. order-column
4.3.15. read-only
4.3.16. <tablename>-pk-column
4.3.17. fetch-group
4.3.18. custom-mapping
4.3.19. externalizer
4.3.20. factory
4.4. Extensions Under Application Identity
4.5. Examples
4.5.1. Mapping Classes to an Existing Schema
4.5.2. Mapping One to Many relations
4.5.3. Extensions Under Application Identity
4.6. Multi-table Inheritance Mapping
4.7. Generating Default JDO Metadata
5. JDBC Configuration
5.1. Supported Databases
5.2. Accessing Multiple Databases
5.3. Connection Management
5.4. Large Result Sets
5.5. Schema Manipulation
6. Standard Features
6.1. Manipulating Datastore Identity Objects
6.2. ExtentImpl
6.3. PersistenceManager Extension
6.4. Event Notification Framework
6.4.1. Transaction Event Notification
6.4.2. Remote Commit Notification
6.5. Custom Proxies
6.6. Access to SQL Connections
6.7. PersistenceManagerImpl.evictAll() API extensions
6.8. Custom Class Indicators
6.9. Storing Second Class Objects via Stringification
6.10. Primary Key Generation
6.10.1. Using table-based key generation
6.10.2. Using Database Sequences for key generation
6.11. StateManagerSet configuration
7. Enterprise Features
7.1. Datastore Cache
7.1.1. Overview of Kodo JDO Datastore Caching
7.1.2. Kodo JDO Cache Usage
7.1.3. Kodo JDO Query Caching
7.1.4. Kodo JDO Data Cache Configuration
7.1.5. Cache Extension
7.1.6. Important notes about the DataCache
7.1.7. Known issues and limitations
7.2. Query Extensions
7.2.1. Using Query Extensions
7.2.2. Included Query Extensions
7.2.3. Deprecated Query Extensions
7.2.4. Developing Custom Query Extensions
7.2.5. Configuring Query Extensions
7.3. Fetch Groups
7.3.1. Normal Default Fetch Group Behavior
7.3.2. Kodo JDO Fetch Group Behavior
7.3.3. Configuring a PersistenceManager to load Fetch Groups
7.4. XA Transactions
7.4.1. Overview of XA Distributed Transaction Processing
7.4.2. Requirements for using Kodo with XA transactions
7.4.3. Configuring Kodo to utilize XA transactions
7.5. Remote Commit Notification Framework
7.5.1. Kodo JDO RemoteCommitProvider Configuration
7.5.2. Event Notification Framework Customization
8. Additional Features
8.1. Custom data processing
8.2. Custom data requests
9. Third Party Integration Features
9.1. Overview of Third Party Integration features in Kodo
9.2. Apache Ant
9.2.1. Common Ant Configuration Options
9.2.2. JDOEnhancer Ant Task
9.2.3. SchemaTool Ant Task
9.3. XDoclet
9.4. Borland JBuilder
9.4.1. Installing Kodo into JBuilder
9.4.2. Kodo Configuration from JBuilder
9.4.3. Creating and building JDO projects in JBuilder
9.4.4. Editing JDO Metadata from JBuilder
9.4.5. Running the SchemaTool from JBuilder
9.4.6. JBuilder Project Sample
9.5. Sun ONE Studio / NetBeans IDE
9.5.1. Before Installing Kodo into the IDE
9.5.2. Installing Kodo into the IDE
9.5.3. Configuring the Kodo Module
9.5.4. Kodo Template Wizards
9.5.5. JDO DataObject
9.5.6. Kodo Integration into the Build Process
9.5.7. SunONE / NetBeans Sample
9.6. Eclipse / WebSphere Studio Integration
9.6.1. Installing the Kodo Eclipse Plugin
9.6.2. Configuring the Plugin
9.6.3. Using Kodo in Eclipse IDEs
9.6.4. Eclipse Sample
10. Enterprise Integration
10.1. Overview of Enterprise Integration features in Kodo
10.2. Using Kodo JDO via the Java Connector Architecture
10.2.1. Overview of the JCA
10.2.2. Deploying on JBoss 3.0
11. Kodo JDO Implementation Notes
11.1. PersistenceCapable.jdoFlags field and fields in the Default Fetch Group
11.2. Optimistic locking mechanism
12. Optimization Techniques