2.8. Kodo JDBC Properties
Prev | Chapter 2. Configuration | Next

## 2.8. Kodo JDBC Properties

The following properties apply exclusively to the Kodo JDBC back-end.

### 2.8.1. 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.5, “Plugin Configuration”) describing `com.solarmetric.jdbc.ConnectionDecorator` instances to install on the connection factory. These decorators can wrap connections passed from the underlying `DataSource` to add functionality. Kodo will pass all connections through the list of decorators before using them. Note that by default Kodo JPA/JDO employs all of the built-in decorators in the `com.solarmetric.jdbc` package already; you do not need to list them here.

### 2.8.2. kodo.jdbc.DBDictionary

Property name: `kodo.jdbc.DBDictionary`

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

Resource adaptor config-property: `DBDictionary`

Default: Based on the `kodo.ConnectionURL` `kodo.ConnectionDriverName`

Description: A plugin string (see Section 2.5, “Plugin Configuration”) describing the `kodo.jdbc.sql.DBDictionary` to use for database interaction. Kodo 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 JPA/JDO does not support out-of-the-box. See Section 4.4, “Database Support” for details.

### 2.8.3. kodo.jdbc.EagerFetchMode

Property name: `kodo.jdbc.EagerFetchMode`

Configuration API: `kodo.jdbc.conf.JDBCConfiguration.getEagerFetchMode`

Resource adaptor config-property: `EagerFetchMode`

Default: `parallel`

Possible values: `parallel`, `join`, `none`

Description: Optimizes how Kodo loads persistent relations. This setting can also be varied at runtime. See Section 5.7, “Eager Fetching” for details.

### 2.8.4. kodo.jdbc.FetchDirection

Property name: `kodo.jdbc.FetchDirection`

Configuration API: `kodo.jdbc.conf.JDBCConfiguration.getFetchDirection`

Resource adaptor config-property: `FetchDirection`

Default: `forward`

Possible values: `forward`, `reverse`, `unknown`

Description: The expected order in which query result lists will be accessed. This property can also be varied at runtime. See Section 4.10, “Large Result Sets” for details.

### 2.8.5. 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.5, “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.8.6. kodo.jdbc.LRSSize

Property name: `kodo.jdbc.LRSSize`

Configuration API: `kodo.jdbc.conf.JDBCConfiguration.getLRSSize`

Resource adaptor config-property: `LRSSize`

Default: `query`

Possible values: `query`, `last`, `unknown`

Description: The strategy to use to calculate the size of a result list. This property can also be varied at runtime. See Section 4.10, “Large Result Sets” for details.

### 2.8.7. kodo.jdbc.MappingDefaults

Property name: `kodo.jdbc.MappingDefaults`

Configuration API: `kodo.jdbc.conf.JDBCConfiguration.getMappingDefaults`

Resource adaptor config-property: `MappingDefaults`

Default: default

Possible values: `default`, `jpa`, `kodo3`

Description: A plugin string (see Section 2.5, “Plugin Configuration”) describing the `kodo.jdbc.meta.MappingDefaults` to use to define default column names, table names, and constraints for your persistent classes. See Section 7.5, “Mapping Factory” for details.

### 2.8.8. kodo.jdbc.MappingFactory

Property name: `kodo.jdbc.MappingFactory`

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

Resource adaptor config-property: `MappingFactory`

Default: -

Possible values: `jdo-orm`, `jdo-table`, `jpa`, others

Description: A plugin string (see Section 2.5, “Plugin Configuration”) describing the `kodo.meta.MetaDataFactory` to use to store and retrieve object-relational mapping information for your persistent classes. See Section 7.5, “Mapping Factory” for details.

### 2.8.9. kodo.jdbc.ResultSetType

Property name: `kodo.jdbc.ResultSetType`

Configuration API: `kodo.jdbc.conf.JDBCConfiguration.getResultSetType`

Resource adaptor config-property: `ResultSetType`

Default: `forward-only`

Possible values: `forward-only`, `scroll-sensitive`, `scroll-insensitive`

Description: The JDBC result set type to use when fetching result lists. This property can also be varied at runtime. See Section 4.10, “Large Result Sets” for details.

### 2.8.10. kodo.jdbc.Schema

Property name: `kodo.jdbc.Schema`

Configuration API: `kodo.jdbc.conf.JDBCConfiguration.getSchema`

Resource adaptor config-property: `Schema`

Default: -

Description: The default schema name to prepend to unqualified table names. Also, the schema in which Kodo will create new tables. See Section 4.11, “Default Schema” for details.

### 2.8.11. kodo.jdbc.SchemaFactory

Property name: `kodo.jdbc.SchemaFactory`

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

Resource adaptor config-property: `SchemaFactory`

Default: `dynamic`

Possible values: `dynamic`, `native`, `file`, `table`, others

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

### 2.8.12. 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 data. See Section 4.12.1, “Schemas List” for details.

### 2.8.13. kodo.jdbc.SubclassFetchMode

Property name: `kodo.jdbc.SubclassFetchMode`

Configuration API: `kodo.jdbc.conf.JDBCConfiguration.getSubclassFetchMode`

Resource adaptor config-property: `SubclassFetchMode`

Default: `parallel`

Possible values: `parallel`, `join`, `none`

Description: How to select subclass data when it is in other tables. This setting can also be varied at runtime. See Section 5.7, “Eager Fetching”.

### 2.8.14. kodo.jdbc.SynchronizeMappings

Property name: `kodo.jdbc.SynchronizeMappings`

Configuration API: `kodo.jdbc.conf.JDBCConfiguration.getSynchronizeMappings`

Resource adaptor config-property: `SynchronizeMappings`

Default: -

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.1.4, “Runtime Forward Mapping” for more information.

### 2.8.15. kodo.jdbc.TransactionIsolation

Property name: `kodo.jdbc.TransactionIsolation`

Configuration API: `kodo.jdbc.conf.JDBCConfiguration.getTransactionIsolation`

Resource adaptor config-property: `TransactionIsolation`

Default: `default`

Possible values: `default`, `none`, `read-committed`, `read-uncommitted`, `repeatable-read`, `serializable`

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

### 2.8.16. 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.kernel.UpdateManager` to use to flush persistent object changes to the datastore. The provided default implementation ( `kodo.jdbc.kernel.UpdateManagerImpl`, with a configuration alias of `default`) will suit all but the most advanced users.

Prev | Up | Next
2.7. Kodo Properties | Home | Chapter 3. Logging