2.6. Kodo JDO Properties

2.6.1. kodo.AggregateListeners
2.6.2. kodo.ClassResolver
2.6.3. kodo.ConnectionProperties
2.6.4. kodo.ConnectionFactoryProperties
2.6.5. kodo.Connection2DriverName
2.6.6. kodo.Connection2Password
2.6.7. kodo.Connection2URL
2.6.8. kodo.Connection2UserName
2.6.9. kodo.Connection2Properties
2.6.10. kodo.ConnectionFactory2Properties
2.6.11. kodo.ConnectionRetainMode
2.6.12. kodo.CopyObjectIds
2.6.13. kodo.DataCache
2.6.14. kodo.DataCacheTimeout
2.6.15. kodo.EagerFetchMode
2.6.16. kodo.FetchBatchSize
2.6.17. kodo.FetchGroups
2.6.18. kodo.FilterListeners
2.6.19. kodo.FlushBeforeQueries
2.6.20. kodo.JMXInterface
2.6.21. kodo.LicenseKey
2.6.22. kodo.ReadLockLevel
2.6.23. kodo.LockManager
2.6.24. kodo.LockTimeout
2.6.25. kodo.Log
2.6.26. kodo.ManagedRuntime
2.6.27. kodo.MBeans
2.6.28. kodo.MBeanServerStrategy
2.6.29. kodo.PersistenceManagerImpl
2.6.30. kodo.PersistenceManagerServer
2.6.31. kodo.PersistentClasses
2.6.32. kodo.ProfilingAgent
2.6.33. kodo.ProfilingHelper
2.6.34. kodo.ProfilingInterface
2.6.35. kodo.ProxyManager
2.6.36. kodo.QueryCache
2.6.37. kodo.QueryCompilationCache
2.6.38. kodo.RemoteCommitProvider
2.6.39. kodo.RemoteJMXAdaptor
2.6.40. kodo.RestoreMutableValues
2.6.41. kodo.RetainValuesInOptimistic
2.6.42. kodo.TransactionMode
2.6.43. kodo.jdbc.AutoIncrementConstraints
2.6.44. kodo.jdbc.ClassIndicator
2.6.45. kodo.jdbc.ConnectionDecorators
2.6.46. kodo.jdbc.DataSourceMode
2.6.47. kodo.jdbc.DBDictionary
2.6.48. kodo.jdbc.FetchDirection
2.6.49. kodo.jdbc.ForeignKeyConstraints
2.6.50. kodo.jdbc.JDBCListeners
2.6.51. kodo.jdbc.LRSSize
2.6.52. kodo.jdbc.MappingFactory
2.6.53. kodo.jdbc.ResultSetType
2.6.54. kodo.jdbc.SchemaFactory
2.6.55. kodo.jdbc.Schemas
2.6.56. kodo.jdbc.SequenceFactory
2.6.57. kodo.jdbc.SubclassMapping
2.6.58. kodo.jdbc.SynchronizeMappings
2.6.59. kodo.jdbc.TransactionIsolation
2.6.60. kodo.jdbc.UpdateManager
2.6.61. kodo.jdbc.VersionIndicator
2.6.62. kodo.jdbc.VerticalQueryMode
2.6.63. kodo.WriteLockLevel

Kodo JDO defines many properties of its own. Most of these properties are provided for advanced users who wish to customize Kodo JDO's behavior; the majority of developers can omit them. A complete alphabetical listing of Kodo JDO-specific properties is given below.

2.6.1. kodo.AggregateListeners

Property name: kodo.AggregateListeners

Configuration API: kodo.conf.JDOConfiguration.getAggregateListeners

Resource adaptor config-property: AggregateListeners

Default:-

Description: A comma-separated list of full plugin strings (see Section 2.4, “Plugin Configuration”) for custom kodo.query.AggregateListeners to make available to all queries, in addition to the standard set of listeners. See Section 10.8.1, “Query Aggregates” for details on aggregates.

2.6.2. kodo.ClassResolver

Property name: kodo.ClassResolver

Configuration API: kodo.conf.JDOConfiguration.getClassResolver

Resource adaptor config-property: ClassResolver

Default: spec

Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing the kodo.util.ClassResolver implementation to use for class name resolution. The default value spec is an alias for the kodo.util.SpecClassResolver. This resolver is compliant with the JDO 1.0.1 specification, but you may wish to plug in your own implementations if you have special classloading needs

2.6.3. kodo.ConnectionProperties

Property name: kodo.ConnectionProperties

Configuration API: kodo.conf.JDOConfiguration.getConnectionProperties

Resource adaptor config-property: ConnectionProperties

Default: -

Description: A plugin string (see Section 2.4, “Plugin Configuration”) listing properties to configure the driver listed in the ConnectionDriverName property described in Section 2.5.2, “javax.jdo.option.ConnectionDriverName”. See Chapter 4, JDBC for details.

2.6.4. kodo.ConnectionFactoryProperties

Property name: kodo.ConnectionFactoryProperties

Configuration API: kodo.conf.JDOConfiguration.getConnectionFactoryProperties

Resource adaptor config-property: ConnectionFactoryProperties

Default: -

Description: A plugin string (see Section 2.4, “Plugin Configuration”) listing properties for configuration of the javax.sql.DataSource in use. See the Chapter 4, JDBC for details.

2.6.5. kodo.Connection2DriverName

Property name: kodo.Connection2DriverName

Configuration API: kodo.conf.JDOConfiguration.getConnection2DriverName

Resource adaptor config-property: Connection2DriverName

Default: -

Description: This property is equivalent to the javax.jdo.option.ConnectionDriverName property described in Section 2.5.2, “javax.jdo.option.ConnectionDriverName”, but relates to the alternate connection factory used for non-XA connections. See Section 13.2, “XA Transactions” on XA Transactions for details.

2.6.6. kodo.Connection2Password

Property name: kodo.Connection2Password

Configuration API: kodo.conf.JDOConfiguration.getConnection2Password

Resource adaptor config-property: Connection2Password

Default: -

Description: This property is equivalent to the javax.jdo.option.ConnectionPassword property described in Section 2.5.5, “javax.jdo.option.ConnectionPassword”, but relates to the alternate connection factory used for non-XA connections. See Section 13.2, “XA Transactions” on XA Transactions for details.

2.6.7. kodo.Connection2URL

Property name: kodo.Connection2URL

Configuration API: kodo.conf.JDOConfiguration.getConnection2URL

Resource adaptor config-property: Connection2URL

Default: -

Description: This property is equivalent to the javax.jdo.option.ConnectionURL property described in Section 2.5.6, “javax.jdo.option.ConnectionURL”, but relates to the alternate connection factory used for non-XA connections. See Section 13.2, “XA Transactions” on XA Transactions for details.

2.6.8. kodo.Connection2UserName

Property name: kodo.Connection2UserName

Configuration API: kodo.conf.JDOConfiguration.getConnection2UserName

Resource adaptor config-property: Connection2UserName

Default: -

Description: This property is equivalent to the javax.jdo.option.ConnectionUserName property described in Section 2.5.7, “javax.jdo.option.ConnectionUserName”, but relates to the alternate connection factory used for non-XA connections. See Section 13.2, “XA Transactions” on XA Transactions for details.

2.6.9. kodo.Connection2Properties

Property name: kodo.Connection2Properties

Configuration API: kodo.conf.JDOConfiguration.getConnection2Properties

Resource adaptor config-property: Connection2Properties

Default: -

Description: This property is equivalent to the kodo.ConnectionProperties property described in Section 2.6.3, “kodo.ConnectionProperties”, but relates to the alternate connection factory used for non-XA connections. See Section 13.2, “XA Transactions” on XA Transactions for details.

2.6.10. kodo.ConnectionFactory2Properties

Property name: kodo.ConnectionFactory2Properties

Configuration API: kodo.conf.JDOConfiguration.getConnectionFactory2Properties

Resource adaptor config-property: ConnectionFactory2Properties

Default: -

Description: This property is equivalent to the kodo.ConnectionFactoryProperties property described in Section 2.6.4, “kodo.ConnectionFactoryProperties”, but relates to the alternate connection factory used for non-XA connections. See Section 13.2, “XA Transactions” on XA Transactions for details.

2.6.11. kodo.ConnectionRetainMode

Property name: kodo.ConnectionRetainMode

Configuration API: kodo.conf.JDOConfiguration.getConnectionRetainMode

Resource adaptor config-property: ConnectionRetainMode

Default: on-demand

Description: Controls how Kodo uses data store connections. This property can also be specified for individual persistence managers. See Section 4.8, “Configuring the Use of JDBC Connections” for details.

2.6.12. kodo.CopyObjectIds

Property name: kodo.CopyObjectIds

Configuration API: kodo.conf.JDOConfiguration.getCopyObjectIds

Resource adaptor config-property: CopyObjectIds

Default: false

Description: Whether to copy object id values before returning them to your code from the JDOHelper or PersistenceManager. If you ever change object id values you obtain from Kodo, you should set this property to true.

2.6.13. kodo.DataCache

Property name: kodo.DataCache

Configuration API: kodo.conf.JDOConfiguration.getDataCache

Resource adaptor config-property: DataCache

Default: false

Description: A plugin list string (see Section 2.4, “Plugin Configuration”) describing the kodo.datacache.DataCache to use for data caching. See Section 14.3.2, “Kodo JDO Cache Usage” for details.

2.6.14. kodo.DataCacheTimeout

Property name: kodo.DataCacheTimeout

Configuration API: kodo.conf.JDOConfiguration.getDataCacheTimeout

Resource adaptor config-property: DataCacheTimeout

Default: -1

Description: The number of milliseconds that data in the data cache is valid. Set this to -1 to indicate that data should not expire from the cache. This property can also be specified for individual classes. See Section 14.3.2, “Kodo JDO Cache Usage” for details.

2.6.15. kodo.EagerFetchMode

Property name: kodo.EagerFetchMode

Configuration API: kodo.conf.JDOConfiguration.getEagerFetchMode

Resource adaptor config-property: EagerFetchMode

Default: multiple

Description: Optimizes how Kodo loads persistent relations. This property can also be specified on individual persistence manager, query, and extent instances. See Section 14.2, “Eager Fetching” for details.

2.6.16. kodo.FetchBatchSize

Property name: kodo.FetchBatchSize

Configuration API: kodo.conf.JDOConfiguration.getFetchBatchSize

Resource adaptor config-property: FetchBatchSize

Default: -1

Description: The number of rows to fetch at once when scrolling through a result set. This property can also be specified for individual persistence manager, query, and extent instances. See Section 4.10, “Large Result Sets” for details.

2.6.17. kodo.FetchGroups

Property name: kodo.FetchGroups

Configuration API: kodo.conf.JDOConfiguration.getFetchGroups

Resource adaptor config-property: FetchGroups

Default: -

Description: A comma-separated list of fetch group names that are to be loaded when loading objects from the data store. This property can also be set on individual persistence manager, query, and extent instances. See Section 14.5, “Fetch Groups” for details.

2.6.18. kodo.FilterListeners

Property name: kodo.FilterListeners

Configuration API: kodo.conf.JDOConfiguration.getFilterListeners

Resource adaptor config-property: FilterListeners

Default: -

Description: A comma-separated list of full plugin strings (see Section 2.4, “Plugin Configuration”) for custom kodo.jdbc.query.JDBCFilterListeners to make available to all queries, in addition to the standard set of listeners. You can also add filter listeners to individual Kodo JDO query instances. See Section 10.7, “Query Extensions” for details.

2.6.19. kodo.FlushBeforeQueries

Property name: kodo.FlushBeforeQueries

Configuration API: kodo.conf.JDOConfiguration.getFlushBeforeQueries

Resource adaptor config-property: FlushBeforeQueries

Default: with-connection

Description: Whether or not to flush any changes made in the current transaction to the data store before executing a query. See Section 4.8, “Configuring the Use of JDBC Connections” for details.

2.6.20. kodo.JMXInterface

Property name: kodo.JMXInterface

Configuration API: kodo.conf.JDOConfiguration.getJMXInterface

Resource adaptor config-property: JMXInterface

Default: none

Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing the com.solarmetric.manage.jmx.gui.JMXInterface implementation to use for local JMX management. To enable local JMX management, set to gui. For more information, see Chapter 12, Management and Monitoring.

2.6.21. kodo.LicenseKey

Property name: kodo.LicenseKey

Configuration API: kodo.conf.JDOConfiguration.getLicenseKey

Resource adaptor config-property: LicenseKey

Default: -

Description: The license key provided to you by SolarMetric. Keys are available at www.solarmetric.com.

2.6.22. kodo.ReadLockLevel

Property name: kodo.ReadLockLevel

Configuration API: kodo.conf.JDOConfiguration.getReadLockLevel

Resource adaptor config-property: ReadLockLevel

Default: read

Possible values: none, read, write, numeric values for lock-manager specific lock levels

Description: The default level at which to lock objects retrieved during a non-optimistic transaction. Note that for the default JDBC lock manager, read and write lock levels are equivalent.

2.6.23. kodo.LockManager

Property name: kodo.LockManager

Configuration API: kodo.conf.JDOConfiguration.getLockManager

Resource adaptor config-property: LockManager

Default: pessimistic

Possible values: none, sjvm, pessimistic

Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing a kodo.runtime.LockManager to use for acquiring locks on persistent instances during datastore transactions.

2.6.24. kodo.LockTimeout

Property name: kodo.LockTimeout

Configuration API: kodo.conf.JDOConfiguration.getLockTimeout

Resource adaptor config-property: LockTimeout

Default: -1

Description: The number of milliseconds to wait for an object lock before throwing an exception, or -1 for no limit. See Section 10.9, “Object Locking” for details.

2.6.25. kodo.Log

Property name: kodo.Log

Configuration API: kodo.conf.JDOConfiguration.getLog

Resource adaptor config-property: Log

Default: true

Possible values: kodo, commons, log4j, none

Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing a com.solarmetric.log.LogFactory to use for performing logging. For details on logging, see Chapter 3, Logging.

2.6.26. kodo.ManagedRuntime

Property name: kodo.ManagedRuntime

Configuration API: kodo.conf.JDOConfiguration.getManagedRuntime

Resource adaptor config-property: ManagedRuntime

Default: auto

Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing the kodo.ee.ManagedRuntime implementation to use for obtaining a reference to the TransactionManager in an enterprise environment. See Section 13.1, “Integrating with the Transaction Manager” on Integrating with the Transaction Manager for details.

2.6.27. kodo.MBeans

Property name: kodo.MBeans

Configuration API: kodo.conf.JDOConfiguration.getMBeans

Resource adaptor config-property: MBeans

Default: none

Description: A plugin list string (see Section 2.4, “Plugin Configuration”) indicating which com.solarmetric.manage.jmx.MBeanProvider classes to use to create MBeans for registration, if any. Common values are none, log, and runtime. For more information, see Chapter 12, Management and Monitoring.

2.6.28. kodo.MBeanServerStrategy

Property name: kodo.MBeanServerStrategy

Configuration API: kodo.conf.JDOConfiguration.getMBeanServerStrategy

Resource adaptor config-property: MBeanServerStrategy

Default: none

Description: Indicates strategy to use for finding/creating a JMX MBeanServer. Common values are none, any-create, and create. For more information, see Chapter 12, Management and Monitoring.

2.6.29. kodo.PersistenceManagerImpl

Property name: kodo.PersistenceManagerImpl

Configuration API: kodo.conf.JDOConfiguration.getPersistenceManagerImpl

Resource adaptor config-property: PersistenceManagerImpl

Default: default

Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing the javax.jdo.PersistenceManager type to use at runtime. See Section 10.2.2, “PersistenceManager Extension” on PersistenceManager Extension for details.

2.6.30. kodo.PersistenceManagerServer

Property name: kodo.PersistenceManagerServer

Configuration API: kodo.conf.JDOConfiguration.getPersistenceManagerServer

Resource adaptor config-property: PersistenceManagerServer

Default: false

Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing whether and how to service remote persistence managers with this persistence manager factory. See Section 11.2, “Remote Persistence Managers” for details.

2.6.31. kodo.PersistentClasses

Property name: kodo.PersistentClasses

Configuration API: kodo.conf.JDOConfiguration.getPersistentClasses

Resource adaptor config-property: PersistentClasses

Default: -

Description: A comma-separated list of classes that are to be instantiated whenever a new PersistenceManager is created. See Section 5.6, “Persistent Class List” for details.

2.6.32. kodo.ProfilingAgent

Property name: kodo.ProfilingAgent

Configuration API: kodo.conf.JDOConfiguration.getProfilingAgent

Resource adaptor config-property: ProfilingAgent

Default: none

Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing a com.solarmetric.profile.ProfilingAgent to use for providing profiling information. Common values are none, local and remote. See Chapter 12, Management and Monitoring for details.

2.6.33. kodo.ProfilingHelper

Property name: kodo.ProfilingHelper

Configuration API: kodo.conf.JDOConfiguration.getProfilingHelper

Resource adaptor config-property: ProfilingHelper

Default: stack

Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing a com.solarmetric.profile.ProfilingHelper to use for generating description information. Common values are stack and none. See Chapter 12, Management and Monitoring for details.

2.6.34. kodo.ProfilingInterface

Property name: kodo.ProfilingInterface

Configuration API: kodo.conf.JDOConfiguration.getProfilingInterface

Resource adaptor config-property: ProfilingInterface

Default: none

Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing a com.solarmetric.profile.ProfilingInterface to use for viewing profiling information. Common values are none, gui and export. See Chapter 12, Management and Monitoring for details.

2.6.35. kodo.ProxyManager

Property name: kodo.ProxyManager

Configuration API: kodo.conf.JDOConfiguration.getProxyManager

Resource adaptor config-property: ProxyManager

Default: default

Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing a kodo.util.ProxyManager to use for proxying mutable second class objects. See Section 5.3.3.3, “Custom Proxies” for details.

2.6.36. kodo.QueryCache

Property name: kodo.QueryCache

Configuration API: kodo.conf.JDOConfiguration.getQueryCache

Resource adaptor config-property: QueryCache

Default: true, when the data cache (see Section 2.6.13, “kodo.DataCache”) is also enabled, false otherwise.

Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing the kodo.datacache.QueryCache implementation to use for caching of queries loaded from the data store. See Section 14.3.3, “Query Caching” on Query Caching for details.

2.6.37. kodo.QueryCompilationCache

Property name: kodo.QueryCompilationCache

Configuration API: kodo.conf.JDOConfiguration.getQueryCompilationCache

Resource adaptor config-property: QueryCompilationCache

Default: true.

Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing the java.util.Map to use for caching of data used during query compilation.

Table 2.1. Pre-defined aliases

AliasValueNotes
truekodo.util.CacheMap The default option. Uses a CacheMap to store compilation data. CacheMap uses a least-recently-used strategy for a fixed number of cache entries, and an optional soft reference map for entries that are moved out of the LRU space. So, for applications that have a monotonically increasing number of distinct queries, this option can be used to ensure that a fixed amount of memory is used by the cache.
alljava.util.HashMap This is the fastest, but compilation data is never dropped from the cache, so if you use a large number of dynamic queries, this option may result in ever-increasing memory usage. Note that if your queries only differ in the values of the parameters, this should not be an issue.
falsenone Disables the sharing of compilation data between different query compilations.

2.6.38. kodo.RemoteCommitProvider

Property name: kodo.RemoteCommitProvider

Configuration API: kodo.conf.JDOConfiguration.getRemoteCommitProvider

Resource adaptor config-property: RemoteCommitProvider

Default: -

Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing the kodo.event.RemoteCommitProvider implementation to use for distributed event notification. See Section 14.4.1, “Remote Commit Provider Configuration” on Remote Commit Provider Configuration for details.

2.6.39. kodo.RemoteJMXAdaptor

Property name: kodo.RemoteJMXAdaptor

Configuration API: kodo.conf.JDOConfiguration.getRemoteJMXAdaptor

Resource adaptor config-property: RemoteJMXAdaptor

Default: none

Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing the com.solarmetric.manage.jmx.RemoteJMXAdaptor implementation to use for remote JMX management. For more information, see Chapter 12, Management and Monitoring.

2.6.40. kodo.RestoreMutableValues

Property name: kodo.RestoreMutableValues

Configuration API: kodo.conf.JDOConfiguration.getRestoreMutableValues

Resource adaptor config-property: RestoreMutableValues

Default: false

Description: Whether to restore mutable second class object fields such as collections and maps to their pre-transaction values when a rollback occurs. When setting this property to true you must also make sure the javax.jdo.option.RestoreValues property described in Section 2.5.13, “javax.jdo.option.RestoreValues” is not set to false.

2.6.41. kodo.RetainValuesInOptimistic

Property name: kodo.RetainValuesInOptimistic

Configuration API: kodo.conf.JDOConfiguration.getRetainValuesInOptimistic

Resource adaptor config-property: RetainValuesInOptimistic

Default: true

Description: If false, then nontransactional objects will be cleared when they are first modified in an optimistic transaction. This cuts down on the possible number of optimistic verification exceptions, but it is not standard JDO behavior and can also have negative performance consequences depending on usage patterns.

2.6.42. kodo.TransactionMode

Property name: kodo.TransactionMode

Configuration API: kodo.conf.JDOConfiguration.getTransactionMode

Resource adaptor config-property: TransactionMode

Default: local

Description: The default transaction mode to use when obtaining a persistence manager. This property can also be specified when obtaining an individual persistence manager. See Section 13.1, “Integrating with the Transaction Manager” on Integrating with the Transaction Manager for details.

2.6.43. kodo.jdbc.AutoIncrementConstraints

Property name: kodo.jdbc.AutoIncrementConstraints

Configuration API: kodo.conf.JDBCConfiguration.getAutoIncrementConstraints

Resource adaptor config-property: AutoIncrementConstraints

Default: false

Description: Whether to order SQL to meet dependencies introduced by relations to objects with auto-incrementing primary key values. See Section 5.2.3.2, “Auto-Increment” for details.

2.6.44. kodo.jdbc.ClassIndicator

Property name: kodo.jdbc.ClassIndicator

Configuration API: kodo.jdbc.conf.JDBCConfiguration.getClassIndicator

Resource adaptor config-property: ClassIndicator

Default: in-class-name

Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing the default kodo.jdbc.meta.ClassIndicator to install on new mappings. See Section 7.8, “Class Indicator” for details.

2.6.45. kodo.jdbc.ConnectionDecorators

Property name: kodo.jdbc.ConnectionDecorators

Configuration API: kodo.jdbc.conf.JDBCConfiguration.getConnectionDecorators

Resource adaptor config-property: ConnectionDecorators

Default: -

Description: A comma-separated list of plugin strings (see Section 2.4, “Plugin Configuration”) describing com.solarmetric.jdbc.ConnectionDecorator instances to install on the connection factory. These decorators can wrap connections passed from the underlying data source to add functionality. Kodo will pass all connections through the list of decorators before using them. Note that by default Kodo JDO employs all of the built-in decorators in the com.solarmetric.jdbc package already; you do not need to list them here.

2.6.46. kodo.jdbc.DataSourceMode

Property name: kodo.jdbc.DataSourceMode

Configuration API: kodo.jdbc.conf.JDBCConfiguration.getDataSourceMode

Resource adaptor config-property: DataSourceMode

Default: local

Description: The data source mode to use when integrating with the application server's managed transactions. See Section 4.2.1, “Enlisted Data Sources” for details.

2.6.47. kodo.jdbc.DBDictionary

Property name: kodo.jdbc.DBDictionary

Configuration API: kodo.jdbc.conf.JDBCConfiguration.getDBDictionary

Resource adaptor config-property: DBDictionary

Default: Based on the javax.jdo.option.ConnectionURL (see Section 2.5.6, “javax.jdo.option.ConnectionURL”) and javax.jdo.option.ConnectionDriverName (see Section 2.5.2, “javax.jdo.option.ConnectionDriverName”).

Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing the kodo.jdbc.sql.DBDictionary to use for database interaction. Kodo JDO typically auto-configures the dictionary based on the JDBC URL, but you may have to set this property explicitly if you are using an unrecognized driver, or to plug in your own dictionary for a database Kodo JDO does not support out-of-the-box. See Section 4.3, “Database Support” for details.

2.6.48. kodo.jdbc.FetchDirection

Property name: kodo.jdbc.FetchDirection

Configuration API: kodo.conf.JDBCConfiguration.getFetchDirection

Resource adaptor config-property: FetchDirection

Default: forward

Description: The expected order in which query result lists will be accessed. This property can also be specified for individual persistence manager, query, and extent instances. See Section 4.10, “Large Result Sets” for details.

2.6.49. kodo.jdbc.ForeignKeyConstraints

Property name: kodo.jdbc.ForeignKeyConstraints

Configuration API: kodo.conf.JDBCConfiguration.getForeignKeyConstraints

Resource adaptor config-property: ForeignKeyConstraints

Default: false

Description: Whether to evaluate database foreign key constraints and order all SQL operations so that referential integrity is not violated. See Section 4.11, “SQL Statement Ordering & Foreign Keys” on SQL Statement Ordering for details.

2.6.50. kodo.jdbc.JDBCListeners

Property name: kodo.jdbc.JDBCListeners

Configuration API: kodo.jdbc.conf.JDBCConfiguration.getJDBCListeners

Resource adaptor config-property: JDBCListeners

Default: -

Description: A comma-separated list of plugin strings (see Section 2.4, “Plugin Configuration”) describing com.solarmetric.jdbc.JDBCListener event listeners to install. These listeners will be notified on various JDBC-related events. The com.solarmetric.jdbc.PerformanceTracker is one such listener that can be used to track JDBC performance.

2.6.51. kodo.jdbc.LRSSize

Property name: kodo.jdbc.LRSSize

Configuration API: kodo.conf.JDBCConfiguration.getLRSSize

Resource adaptor config-property: LRSSize

Default: query

Description: The strategy to use to calculate the size of a result list. This property can also be specified for individual persistence manager, query, and extent instances. See Section 4.10, “Large Result Sets” for details.

2.6.52. kodo.jdbc.MappingFactory

Property name: kodo.jdbc.MappingFactory

Configuration API: kodo.jdbc.conf.JDBCConfiguration.getMappingFactory

Resource adaptor config-property: MappingFactory

Default: file

Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing the kodo.jdbc.meta.MappingFactory to use to store and retrieve object-relational mapping information for your persistent classes. See Section 7.3, “Mapping Factory” on Mapping Factories for details.

2.6.53. kodo.jdbc.ResultSetType

Property name: kodo.jdbc.ResultSetType

Configuration API: kodo.conf.JDBCConfiguration.getResultSetType

Resource adaptor config-property: ResultSetType

Default: forward-only

Description: The JDBC result set type to use when fetching result lists. This property can also be specified for individual persistence manager, query, and extent instances. See Section 4.10, “Large Result Sets” for details.

2.6.54. kodo.jdbc.SchemaFactory

Property name: kodo.jdbc.SchemaFactory

Configuration API: kodo.jdbc.conf.JDBCConfiguration.getSchemaFactory

Resource adaptor config-property: SchemaFactory

Default: native

Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing the kodo.jdbc.schema.SchemaFactory to use to store and retrieve information about the database schema. See Section 8.1.2, “Schema Factory” for details.

2.6.55. kodo.jdbc.Schemas

Property name: kodo.jdbc.Schemas

Configuration API: kodo.jdbc.conf.JDBCConfiguration.getSchemas

Resource adaptor config-property: Schemas

Default: -

Description: A comma-separated list of the schemas and/or tables used for your persistent JDO-related data. See Section 8.1.1, “Schemas List” for details.

2.6.56. kodo.jdbc.SequenceFactory

Property name: kodo.jdbc.SequenceFactory

Configuration API: kodo.jdbc.conf.JDBCConfiguration.getSequenceFactory

Resource adaptor config-property: SequenceFactory

Default: db

Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing the kodo.jdbc.schema.SequenceFactory to use to generate datastore identity values. See Section 5.2.3.1, “Sequence Factory” for details.

2.6.57. kodo.jdbc.SubclassMapping

Property name: kodo.jdbc.SubclassMapping

Configuration API: kodo.jdbc.conf.JDBCConfiguration.getSubclassMapping

Resource adaptor config-property: SubclassMapping

Default: flat

Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing the default kodo.jdbc.meta.ClassMapping to install on new subclass mappings. See Section 7.6, “Class Mapping” for details.

2.6.58. kodo.jdbc.SynchronizeMappings

Property name: kodo.jdbc.SynchronizeMappings

Configuration API: kodo.conf.JDBCConfiguration.getSynchronizeMappings

Resource adaptor config-property: SynchronizeMappings

Default: false

Description: Controls whether Kodo will attempt to run the mapping tool on all persistent classes to synchronize their mappings and schema at runtime. Useful for rapid test/debug cycles. See Section 7.2, “Automatic Runtime Mapping” for more information.

2.6.59. kodo.jdbc.TransactionIsolation

Property name: kodo.jdbc.TransactionIsolation

Configuration API: kodo.conf.JDBCConfiguration.getTransactionIsolation

Resource adaptor config-property: TransactionIsolation

Default: default

Description: The JDBC transaction isolation level to use. See Section 4.6, “Setting the Transaction Isolation” for details.

2.6.60. kodo.jdbc.UpdateManager

Property name: kodo.jdbc.UpdateManager

Configuration API: kodo.jdbc.conf.JDBCConfiguration.getUpdateManager

Resource adaptor config-property: UpdateManager

Default: default

Description: The full class name of the kodo.jdbc.runtime.UpdateManager to use to flush persistent object changes to the data store. The provided default implementation ( kodo.jdbc.runtime.UpdateManagerImpl , with a configuration alias of default) will suit all but the most advanced users.

2.6.61. kodo.jdbc.VersionIndicator

Property name: kodo.jdbc.VersionIndicator

Configuration API: kodo.jdbc.conf.JDBCConfiguration.getVersionIndicator

Resource adaptor config-property: VersionIndicator

Default: version-number

Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing the default kodo.jdbc.meta.VersionIndicator to install on new mappings. See Section 7.7, “Version Indicator” for details.

2.6.62. kodo.jdbc.VerticalQueryMode

Property name: kodo.jdbc.VerticalQueryMode

Configuration API: kodo.jdbc.conf.JDBCConfiguration.getVerticalQueryMode

Resource adaptor config-property: VerticalQueryMode

Default: per-subclass

Description: This setting controls how Kodo executes SQL queries when you execute a JDOQL query on a hierarchy of classes that use vertical inheritance. See Section 7.6.3.3, “Vertical Query Modes” for details.

2.6.63. kodo.WriteLockLevel

Property name: kodo.WriteLockLevel

Configuration API: kodo.conf.JDOConfiguration.getWriteLockLevel

Resource adaptor config-property: WriteLockLevel

Default: write

Possible values: none, read, write, numeric values for lock-manager specific lock levels

Description: The default level at which to lock objects changed during a non-optimistic transaction. Note that for the default JDBC lock manager, read and write lock levels are equivalent.