blob: d1bd3ad2c88966fa34f0ab49f117ab34b746bf82 [file] [log] [blame]
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>6.&nbsp; OpenJPA JDBC Properties</title><base href="display"><link rel="stylesheet" type="text/css" href="css/docbook.css"><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"><link rel="home" href="manual.html" title="Apache OpenJPA 2.2 User's Guide"><link rel="up" href="ref_guide_conf.html" title="Chapter&nbsp;2.&nbsp; Configuration"><link rel="prev" href="ref_guide_conf_openjpa.html" title="5.&nbsp; OpenJPA Properties"><link rel="next" href="ref_guide_logging.html" title="Chapter&nbsp;3.&nbsp; Logging and Auditing"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">6.&nbsp;
OpenJPA JDBC Properties
</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ref_guide_conf_openjpa.html">Prev</a>&nbsp;</td><th width="60%" align="center">Chapter&nbsp;2.&nbsp;
Configuration
</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ref_guide_logging.html">Next</a></td></tr></table><hr></div><div class="section" title="6.&nbsp; OpenJPA JDBC Properties"><div class="titlepage"><div><div><h2 class="title" style="clear: both" id="ref_guide_conf_jdbc">6.&nbsp;
OpenJPA JDBC Properties
</h2></div></div></div><div class="toc"><dl><dt><span class="section"><a href="ref_guide_conf_jdbc.html#openjpa.jdbc.ConnectionDecorators">6.1.
openjpa.jdbc.ConnectionDecorators
</a></span></dt><dt><span class="section"><a href="ref_guide_conf_jdbc.html#openjpa.jdbc.DBDictionary">6.2.
openjpa.jdbc.DBDictionary
</a></span></dt><dt><span class="section"><a href="ref_guide_conf_jdbc.html#openjpa.jdbc.DriverDataSource">6.3.
openjpa.jdbc.DriverDataSource
</a></span></dt><dt><span class="section"><a href="ref_guide_conf_jdbc.html#openjpa.jdbc.EagerFetchMode">6.4.
openjpa.jdbc.EagerFetchMode
</a></span></dt><dt><span class="section"><a href="ref_guide_conf_jdbc.html#openjpa.jdbc.FetchDirection">6.5.
openjpa.jdbc.FetchDirection
</a></span></dt><dt><span class="section"><a href="ref_guide_conf_jdbc.html#openjpa.jdbc.JDBCListeners">6.6.
openjpa.jdbc.JDBCListeners
</a></span></dt><dt><span class="section"><a href="ref_guide_conf_jdbc.html#openjpa.jdbc.LRSSize">6.7.
openjpa.jdbc.LRSSize
</a></span></dt><dt><span class="section"><a href="ref_guide_conf_jdbc.html#openjpa.jdbc.MappingDefaults">6.8.
openjpa.jdbc.MappingDefaults
</a></span></dt><dt><span class="section"><a href="ref_guide_conf_jdbc.html#openjpa.jdbc.MappingFactory">6.9.
openjpa.jdbc.MappingFactory
</a></span></dt><dt><span class="section"><a href="ref_guide_conf_jdbc.html#openjpa.jdbc.QuerySQLCache">6.10.
openjpa.jdbc.QuerySQLCache
</a></span></dt><dt><span class="section"><a href="ref_guide_conf_jdbc.html#openjpa.jdbc.ResultSetType">6.11.
openjpa.jdbc.ResultSetType
</a></span></dt><dt><span class="section"><a href="ref_guide_conf_jdbc.html#openjpa.jdbc.Schema">6.12.
openjpa.jdbc.Schema
</a></span></dt><dt><span class="section"><a href="ref_guide_conf_jdbc.html#openjpa.jdbc.SchemaFactory">6.13.
openjpa.jdbc.SchemaFactory
</a></span></dt><dt><span class="section"><a href="ref_guide_conf_jdbc.html#openjpa.jdbc.Schemas">6.14.
openjpa.jdbc.Schemas
</a></span></dt><dt><span class="section"><a href="ref_guide_conf_jdbc.html#openjpa.jdbc.SQLFactory">6.15.
openjpa.jdbc.SQLFactory
</a></span></dt><dt><span class="section"><a href="ref_guide_conf_jdbc.html#openjpa.jdbc.SubclassFetchMode">6.16.
openjpa.jdbc.SubclassFetchMode
</a></span></dt><dt><span class="section"><a href="ref_guide_conf_jdbc.html#openjpa.jdbc.SynchronizeMappings">6.17.
openjpa.jdbc.SynchronizeMappings
</a></span></dt><dt><span class="section"><a href="ref_guide_conf_jdbc.html#openjpa.jdbc.TransactionIsolation">6.18.
openjpa.jdbc.TransactionIsolation
</a></span></dt><dt><span class="section"><a href="ref_guide_conf_jdbc.html#openjpa.jdbc.UpdateManager">6.19.
openjpa.jdbc.UpdateManager
</a></span></dt><dt><span class="section"><a href="ref_guide_conf_jdbc.html#ref_guide_spec_compatibility">6.20. Compatibility with Specification</a></span></dt></dl></div>
<a class="indexterm" name="d5e8625"></a>
<p>
The following properties apply exclusively to the OpenJPA JDBC back-end.
</p>
<div class="section" title="6.1.&nbsp; openjpa.jdbc.ConnectionDecorators"><div class="titlepage"><div><div><h3 class="title" id="openjpa.jdbc.ConnectionDecorators">6.1.&nbsp;
openjpa.jdbc.ConnectionDecorators
</h3></div></div></div>
<a class="indexterm" name="d5e8631"></a>
<a class="indexterm" name="d5e8633"></a>
<p>
<span class="bold"><strong>Property name: </strong></span><code class="literal">
openjpa.jdbc.ConnectionDecorators</code>
</p>
<p>
<span class="bold"><strong>Configuration API:</strong></span>
<a class="ulink" href="../javadoc/org/apache/openjpa/jdbc/conf/JDBCConfiguration.html#getConnectionDecorators()" target="_top">
<code class="methodname">
org.apache.openjpa.jdbc.conf.JDBCConfiguration.getConnectionDecorators
</code></a>
</p>
<p>
<span class="bold"><strong>Resource adaptor config-property: </strong></span><code class="literal">
ConnectionDecorators</code>
</p>
<p>
<span class="bold"><strong>Default:</strong></span> -
</p>
<p>
<span class="bold"><strong>Description:</strong></span> A comma-separated list of plugin
strings (see <a class="xref" href="ref_guide_conf_plugins.html" title="4.&nbsp; Plugin Configuration">Section&nbsp;4, &#8220;
Plugin Configuration
&#8221;</a>) describing
<a class="ulink" href="../javadoc/org/apache/openjpa/lib/jdbc/ConnectionDecorator.html" target="_top">
<code class="classname">org.apache.openjpa.lib.jdbc.ConnectionDecorator</code></a>
instances to install on the connection factory. These decorators can wrap
connections passed from the underlying <code class="classname">DataSource</code> to add
functionality. OpenJPA will pass all connections through the list of decorators
before using them. Note that by default OpenJPA employs all
of the built-in decorators in the <code class="classname">org.apache.openjpa.lib.jdbc
</code> package already; you do not need to list them here.
</p>
</div>
<div class="section" title="6.2.&nbsp; openjpa.jdbc.DBDictionary"><div class="titlepage"><div><div><h3 class="title" id="openjpa.jdbc.DBDictionary">6.2.&nbsp;
openjpa.jdbc.DBDictionary
</h3></div></div></div>
<a class="indexterm" name="d5e8657"></a>
<a class="indexterm" name="d5e8659"></a>
<p>
<span class="bold"><strong>Property name: </strong></span><code class="literal">
openjpa.jdbc.DBDictionary</code>
</p>
<p>
<span class="bold"><strong>Configuration API:</strong></span>
<a class="ulink" href="../javadoc/org/apache/openjpa/jdbc/conf/JDBCConfiguration.html#getDBDictionary()" target="_top">
<code class="methodname">org.apache.openjpa.jdbc.conf.JDBCConfiguration.getDBDictionary
</code></a>
</p>
<p>
<span class="bold"><strong>Resource adaptor config-property: </strong></span><code class="literal">
DBDictionary</code>
</p>
<p>
<span class="bold"><strong>Default:</strong></span> Based on the
<a class="link" href="ref_guide_conf_openjpa.html#openjpa.ConnectionURL" title="5.21.&nbsp; openjpa.ConnectionURL"><code class="literal">openjpa.ConnectionURL</code>
</a><a class="link" href="ref_guide_conf_openjpa.html#openjpa.ConnectionDriverName" title="5.8.&nbsp; openjpa.ConnectionDriverName"><code class="literal">
openjpa.ConnectionDriverName</code></a>
</p>
<p>
<span class="bold"><strong>Description:</strong></span> A plugin string (see
<a class="xref" href="ref_guide_conf_plugins.html" title="4.&nbsp; Plugin Configuration">Section&nbsp;4, &#8220;
Plugin Configuration
&#8221;</a>) describing the
<a class="ulink" href="../javadoc/org/apache/openjpa/jdbc/sql/DBDictionary.html" target="_top">
<code class="classname">org.apache.openjpa.jdbc.sql.DBDictionary</code></a> to use
for database interaction. OpenJPA 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
OpenJPA does not support out-of-the-box. See
<a class="xref" href="ref_guide_dbsetup_dbsupport.html" title="4.&nbsp; Database Support">Section&nbsp;4, &#8220;
Database Support
&#8221;</a> for details.
</p>
</div>
<div class="section" title="6.3.&nbsp; openjpa.jdbc.DriverDataSource"><div class="titlepage"><div><div><h3 class="title" id="openjpa.jdbc.DriverDataSource">6.3.&nbsp;
openjpa.jdbc.DriverDataSource
</h3></div></div></div>
<a class="indexterm" name="d5e8686"></a>
<a class="indexterm" name="d5e8688"></a>
<p>
<span class="bold"><strong>Property name: </strong></span><code class="literal">
openjpa.jdbc.DriverDataSource</code>
</p>
<p>
<span class="bold"><strong>Configuration API:</strong></span>
<a class="ulink" href="../javadoc/org/apache/openjpa/jdbc/conf/JDBCConfiguration.html#getDriverDataSource()" target="_top">
<code class="methodname">org.apache.openjpa.jdbc.conf.JDBCConfiguration.getDriverDataSource
</code></a>
</p>
<p>
<span class="bold"><strong>Resource adaptor config-property: </strong></span><code class="literal">
DriverDataSource</code>
</p>
<p>
<span class="bold"><strong>Default: </strong></span><code class="literal">auto</code>
</p>
<p>
<span class="bold"><strong>Possible values: </strong></span><code class="literal">auto</code>,
<code class="literal">dbcp</code>, <code class="literal">simple</code>
</p>
<p>
<span class="bold"><strong>Description:</strong></span> The alias or full class name of
the
<a class="ulink" href="../javadoc/org/apache/openjpa/jdbc/schema/DriverDataSource.html" target="_top">
<code class="classname">org.apache.openjpa.jdbc.schema.DriverDataSource</code></a>
implementation to use to wrap JDBC Driver classes with javax.sql.DataSource
instances. The <code class="classname">org.apache.openjpa.jdbc.schema.AutoDriverDataSource</code> implementation is the default and will select either the DBCPDriverDataSource or SimpleDriverDataSource based on if Apache Commons DBCP is available
on the classpath.
The <code class="classname">org.apache.openjpa.jdbc.schema.DBCPDriverDataSource</code> implementation requires Apache Commons DBCP to be available on the classpath and uses <code class="classname">org.apache.commons.dbcp.BasicDataSource</code> to provide connection pooling.
</p>
</div>
<div class="section" title="6.4.&nbsp; openjpa.jdbc.EagerFetchMode"><div class="titlepage"><div><div><h3 class="title" id="openjpa.jdbc.EagerFetchMode">6.4.&nbsp;
openjpa.jdbc.EagerFetchMode
</h3></div></div></div>
<a class="indexterm" name="d5e8718"></a>
<a class="indexterm" name="d5e8720"></a>
<p>
<span class="bold"><strong>Property name: </strong></span><code class="literal">
openjpa.jdbc.EagerFetchMode</code>
</p>
<p>
<span class="bold"><strong>Configuration API:</strong></span>
<a class="ulink" href="../javadoc/org/apache/openjpa/jdbc/conf/JDBCConfiguration.html#getEagerFetchMode()" target="_top">
<code class="methodname">org.apache.openjpa.jdbc.conf.JDBCConfiguration.getEagerFetchMode
</code></a>
</p>
<p>
<span class="bold"><strong>Resource adaptor config-property: </strong></span><code class="literal">
EagerFetchMode</code>
</p>
<p>
<span class="bold"><strong>Default: </strong></span><code class="literal">parallel</code>
</p>
<p>
<span class="bold"><strong>Possible values: </strong></span><code class="literal">parallel</code>,
<code class="literal">join</code>, <code class="literal">none</code>
</p>
<p>
<span class="bold"><strong>Description:</strong></span> Optimizes how OpenJPA loads
persistent relations. This setting can also be varied at runtime. See
<a class="xref" href="ref_guide_perfpack_eager.html" title="8.&nbsp; Eager Fetching">Section&nbsp;8, &#8220;
Eager Fetching
&#8221;</a> for details.
</p>
</div>
<div class="section" title="6.5.&nbsp; openjpa.jdbc.FetchDirection"><div class="titlepage"><div><div><h3 class="title" id="openjpa.jdbc.FetchDirection">6.5.&nbsp;
openjpa.jdbc.FetchDirection
</h3></div></div></div>
<a class="indexterm" name="d5e8746"></a>
<a class="indexterm" name="d5e8748"></a>
<p>
<span class="bold"><strong>Property name: </strong></span><code class="literal">
openjpa.jdbc.FetchDirection</code>
</p>
<p>
<span class="bold"><strong>Configuration API:</strong></span>
<a class="ulink" href="../javadoc/org/apache/openjpa/jdbc/conf/JDBCConfiguration.html#getFetchDirection()" target="_top">
<code class="methodname">org.apache.openjpa.jdbc.conf.JDBCConfiguration.getFetchDirection
</code></a>
</p>
<p>
<span class="bold"><strong>Resource adaptor config-property: </strong></span><code class="literal">
FetchDirection</code>
</p>
<p>
<span class="bold"><strong>Default: </strong></span><code class="literal">forward</code>
</p>
<p>
<span class="bold"><strong>Possible values: </strong></span><code class="literal">forward</code>,
<code class="literal">reverse</code>, <code class="literal">unknown</code>
</p>
<p>
<span class="bold"><strong>Description:</strong></span> The expected order in which query
result lists will be accessed. This property can also be varied at runtime. See
<a class="xref" href="ref_guide_dbsetup_lrs.html" title="10.&nbsp; Large Result Sets">Section&nbsp;10, &#8220;
Large Result Sets
&#8221;</a> for details.
</p>
</div>
<div class="section" title="6.6.&nbsp; openjpa.jdbc.JDBCListeners"><div class="titlepage"><div><div><h3 class="title" id="openjpa.jdbc.JDBCListeners">6.6.&nbsp;
openjpa.jdbc.JDBCListeners
</h3></div></div></div>
<a class="indexterm" name="d5e8774"></a>
<a class="indexterm" name="d5e8776"></a>
<p>
<span class="bold"><strong>Property name: </strong></span><code class="literal">
openjpa.jdbc.JDBCListeners</code>
</p>
<p>
<span class="bold"><strong>Configuration API:</strong></span>
<a class="ulink" href="../javadoc/org/apache/openjpa/jdbc/conf/JDBCConfiguration.html#getJDBCListeners()" target="_top">
<code class="methodname">org.apache.openjpa.jdbc.conf.JDBCConfiguration.getJDBCListeners
</code></a>
</p>
<p>
<span class="bold"><strong>Resource adaptor config-property: </strong></span><code class="literal">
JDBCListeners</code>
</p>
<p>
<span class="bold"><strong>Default:</strong></span> -
</p>
<p>
<span class="bold"><strong>Description:</strong></span> A comma-separated list of plugin
strings (see <a class="xref" href="ref_guide_conf_plugins.html" title="4.&nbsp; Plugin Configuration">Section&nbsp;4, &#8220;
Plugin Configuration
&#8221;</a>) describing
<a class="ulink" href="../javadoc/org/apache/openjpa/lib/jdbc/JDBCListener.html" target="_top">
<code class="classname">org.apache.openjpa.lib.jdbc.JDBCListener</code></a> event
listeners to install. These listeners will be notified on various JDBC-related
events.
</p>
</div>
<div class="section" title="6.7.&nbsp; openjpa.jdbc.LRSSize"><div class="titlepage"><div><div><h3 class="title" id="openjpa.jdbc.LRSSize">6.7.&nbsp;
openjpa.jdbc.LRSSize
</h3></div></div></div>
<a class="indexterm" name="d5e8798"></a>
<a class="indexterm" name="d5e8800"></a>
<p>
<span class="bold"><strong>Property name: </strong></span><code class="literal">openjpa.jdbc.LRSSize
</code>
</p>
<p>
<span class="bold"><strong>Configuration API:</strong></span>
<a class="ulink" href="../javadoc/org/apache/openjpa/jdbc/conf/JDBCConfiguration.html#getLRSSize()" target="_top">
<code class="methodname">org.apache.openjpa.jdbc.conf.JDBCConfiguration.getLRSSize
</code></a>
</p>
<p>
<span class="bold"><strong>Resource adaptor config-property: </strong></span><code class="literal">
LRSSize</code>
</p>
<p>
<span class="bold"><strong>Default: </strong></span><code class="literal">query</code>
</p>
<p>
<span class="bold"><strong>Possible values: </strong></span><code class="literal">query</code>,
<code class="literal">last</code>, <code class="literal">unknown</code>
</p>
<p>
<span class="bold"><strong>Description:</strong></span> The strategy to use to calculate
the size of a result list. This property can also be varied at runtime. See
<a class="xref" href="ref_guide_dbsetup_lrs.html" title="10.&nbsp; Large Result Sets">Section&nbsp;10, &#8220;
Large Result Sets
&#8221;</a> for details.
</p>
</div>
<div class="section" title="6.8.&nbsp; openjpa.jdbc.MappingDefaults"><div class="titlepage"><div><div><h3 class="title" id="openjpa.jdbc.MappingDefaults">6.8.&nbsp;
openjpa.jdbc.MappingDefaults
</h3></div></div></div>
<a class="indexterm" name="d5e8826"></a>
<a class="indexterm" name="d5e8828"></a>
<p>
<span class="bold"><strong>Property name: </strong></span><code class="literal">
openjpa.jdbc.MappingDefaults</code>
</p>
<p>
<span class="bold"><strong>Configuration API:</strong></span>
<a class="ulink" href="../javadoc/org/apache/openjpa/jdbc/conf/JDBCConfiguration.html#getMappingDefaults()" target="_top">
<code class="methodname">org.apache.openjpa.jdbc.conf.JDBCConfiguration.getMappingDefaults
</code></a>
</p>
<p>
<span class="bold"><strong>Resource adaptor config-property: </strong></span><code class="literal">
MappingDefaults</code>
</p>
<p>
<span class="bold"><strong>Default:</strong></span> jpa
</p>
<p>
<span class="bold"><strong>Description:</strong></span> A plugin string (see
<a class="xref" href="ref_guide_conf_plugins.html" title="4.&nbsp; Plugin Configuration">Section&nbsp;4, &#8220;
Plugin Configuration
&#8221;</a>) describing the
<a class="ulink" href="../javadoc/org/apache/openjpa/jdbc/meta/MappingDefaults.html" target="_top">
<code class="classname">org.apache.openjpa.jdbc.meta.MappingDefaults</code></a> to
use to define default column names, table names, and constraints for your
persistent classes. See <a class="xref" href="ref_guide_mapping_factory.html" title="5.&nbsp; Mapping Factory">Section&nbsp;5, &#8220;
Mapping Factory
&#8221;</a> for
details.
</p>
</div>
<div class="section" title="6.9.&nbsp; openjpa.jdbc.MappingFactory"><div class="titlepage"><div><div><h3 class="title" id="openjpa.jdbc.MappingFactory">6.9.&nbsp;
openjpa.jdbc.MappingFactory
</h3></div></div></div>
<a class="indexterm" name="d5e8851"></a>
<a class="indexterm" name="d5e8853"></a>
<p>
<span class="bold"><strong>Property name: </strong></span><code class="literal">
openjpa.jdbc.MappingFactory</code>
</p>
<p>
<span class="bold"><strong>Configuration API:</strong></span>
<a class="ulink" href="../javadoc/org/apache/openjpa/jdbc/conf/JDBCConfiguration.html#getMappingFactory()" target="_top">
<code class="methodname">org.apache.openjpa.jdbc.conf.JDBCConfiguration.getMappingFactory
</code></a>
</p>
<p>
<span class="bold"><strong>Resource adaptor config-property: </strong></span><code class="literal">
MappingFactory</code>
</p>
<p>
<span class="bold"><strong>Default:</strong></span> -
</p>
<p>
<span class="bold"><strong>Description:</strong></span> A plugin string (see
<a class="xref" href="ref_guide_conf_plugins.html" title="4.&nbsp; Plugin Configuration">Section&nbsp;4, &#8220;
Plugin Configuration
&#8221;</a>) describing the
<a class="ulink" href="../javadoc/org/apache/openjpa/meta/MetaDataFactory.html" target="_top">
<code class="classname">org.apache.openjpa.meta.MetaDataFactory</code></a> to use to
store and retrieve object-relational mapping information for your persistent
classes. See <a class="xref" href="ref_guide_mapping_factory.html" title="5.&nbsp; Mapping Factory">Section&nbsp;5, &#8220;
Mapping Factory
&#8221;</a> for details.
</p>
</div>
<div class="section" title="6.10.&nbsp; openjpa.jdbc.QuerySQLCache"><div class="titlepage"><div><div><h3 class="title" id="openjpa.jdbc.QuerySQLCache">6.10.&nbsp;
openjpa.jdbc.QuerySQLCache
</h3></div></div></div>
<a class="indexterm" name="d5e8876"></a>
<a class="indexterm" name="d5e8878"></a>
<p>
<span class="bold"><strong>Property name:</strong></span>
<code class="literal">openjpa.jdbc.QuerySQLCache</code>
</p>
<p>
<span class="bold"><strong>Resource adaptor config-property:</strong></span>
<code class="literal">QuerySQLCache</code>
</p>
<p>
<span class="bold"><strong>Default:</strong></span> <code class="literal">true</code>.
</p>
<p>
<span class="bold"><strong>Description:</strong></span> A plugin string (see
<a class="xref" href="ref_guide_conf_plugins.html" title="4.&nbsp; Plugin Configuration">Section&nbsp;4, &#8220;
Plugin Configuration
&#8221;</a>) describing the options to cache and
reuse SQL statements generated for JPQL queries.
See <a class="xref" href="ref_guide_cache_querysql.html" title="3.&nbsp;Prepared SQL Cache">Section&nbsp;3, &#8220;Prepared SQL Cache&#8221;</a> for details.
</p>
</div>
<div class="section" title="6.11.&nbsp; openjpa.jdbc.ResultSetType"><div class="titlepage"><div><div><h3 class="title" id="openjpa.jdbc.ResultSetType">6.11.&nbsp;
openjpa.jdbc.ResultSetType
</h3></div></div></div>
<a class="indexterm" name="d5e8896"></a>
<a class="indexterm" name="d5e8898"></a>
<p>
<span class="bold"><strong>Property name: </strong></span><code class="literal">
openjpa.jdbc.ResultSetType</code>
</p>
<p>
<span class="bold"><strong>Configuration API:</strong></span>
<a class="ulink" href="../javadoc/org/apache/openjpa/jdbc/conf/JDBCConfiguration.html#getResultSetType()" target="_top">
<code class="methodname">org.apache.openjpa.jdbc.conf.JDBCConfiguration.getResultSetType
</code></a>
</p>
<p>
<span class="bold"><strong>Resource adaptor config-property: </strong></span><code class="literal">
ResultSetType</code>
</p>
<p>
<span class="bold"><strong>Default: </strong></span><code class="literal">forward-only</code>
</p>
<p>
<span class="bold"><strong>Possible values: </strong></span><code class="literal">forward-only</code>
, <code class="literal">scroll-sensitive</code>, <code class="literal">scroll-insensitive</code>
</p>
<p>
<span class="bold"><strong>Description:</strong></span> The JDBC result set type to use
when fetching result lists. This property can also be varied at runtime. See
<a class="xref" href="ref_guide_dbsetup_lrs.html" title="10.&nbsp; Large Result Sets">Section&nbsp;10, &#8220;
Large Result Sets
&#8221;</a> for details.
</p>
</div>
<div class="section" title="6.12.&nbsp; openjpa.jdbc.Schema"><div class="titlepage"><div><div><h3 class="title" id="openjpa.jdbc.Schema">6.12.&nbsp;
openjpa.jdbc.Schema
</h3></div></div></div>
<a class="indexterm" name="d5e8924"></a>
<p>
<span class="bold"><strong>Property name: </strong></span><code class="literal">openjpa.jdbc.Schema
</code>
</p>
<p>
<span class="bold"><strong>Configuration API:</strong></span>
<a class="ulink" href="../javadoc/org/apache/openjpa/jdbc/conf/JDBCConfiguration.html#getSchema()" target="_top">
<code class="methodname">org.apache.openjpa.jdbc.conf.JDBCConfiguration.getSchema
</code></a>
</p>
<p>
<span class="bold"><strong>Resource adaptor config-property: </strong></span><code class="literal">
Schema</code>
</p>
<p>
<span class="bold"><strong>Default:</strong></span> -
</p>
<p>
<span class="bold"><strong>Description:</strong></span> The default schema name to prepend
to unqualified table names. Also, the schema in which OpenJPA will create new
tables. See <a class="xref" href="ref_guide_schema_def.html" title="11.&nbsp; Default Schema">Section&nbsp;11, &#8220;
Default Schema
&#8221;</a> for details.
</p>
</div>
<div class="section" title="6.13.&nbsp; openjpa.jdbc.SchemaFactory"><div class="titlepage"><div><div><h3 class="title" id="openjpa.jdbc.SchemaFactory">6.13.&nbsp;
openjpa.jdbc.SchemaFactory
</h3></div></div></div>
<a class="indexterm" name="d5e8944"></a>
<a class="indexterm" name="d5e8946"></a>
<p>
<span class="bold"><strong>Property name: </strong></span><code class="literal">
openjpa.jdbc.SchemaFactory</code>
</p>
<p>
<span class="bold"><strong>Configuration API:</strong></span>
<a class="ulink" href="../javadoc/org/apache/openjpa/jdbc/conf/JDBCConfiguration.html#getSchemaFactory()" target="_top">
<code class="methodname">org.apache.openjpa.jdbc.conf.JDBCConfiguration.getSchemaFactory
</code></a>
</p>
<p>
<span class="bold"><strong>Resource adaptor config-property: </strong></span><code class="literal">
SchemaFactory</code>
</p>
<p>
<span class="bold"><strong>Default: </strong></span><code class="literal">dynamic</code>
</p>
<p>
<span class="bold"><strong>Possible values: </strong></span><code class="literal">dynamic</code>,
<code class="literal">native</code>, <code class="literal">file</code>, <code class="literal">table</code>,
others
</p>
<p>
<span class="bold"><strong>Description:</strong></span> A plugin string (see
<a class="xref" href="ref_guide_conf_plugins.html" title="4.&nbsp; Plugin Configuration">Section&nbsp;4, &#8220;
Plugin Configuration
&#8221;</a>) describing the
<a class="ulink" href="../javadoc/org/apache/openjpa/jdbc/schema/SchemaFactory.html" target="_top">
<code class="classname">org.apache.openjpa.jdbc.schema.SchemaFactory</code></a> to
use to store and retrieve information about the database schema. See
<a class="xref" href="ref_guide_schema_info.html#ref_guide_schema_info_factory" title="12.2.&nbsp; Schema Factory">Section&nbsp;12.2, &#8220;
Schema Factory
&#8221;</a> for details.
</p>
</div>
<div class="section" title="6.14.&nbsp; openjpa.jdbc.Schemas"><div class="titlepage"><div><div><h3 class="title" id="openjpa.jdbc.Schemas">6.14.&nbsp;
openjpa.jdbc.Schemas
</h3></div></div></div>
<a class="indexterm" name="d5e8976"></a>
<p>
<span class="bold"><strong>Property name: </strong></span><code class="literal">openjpa.jdbc.Schemas
</code>
</p>
<p>
<span class="bold"><strong>Configuration API:</strong></span>
<a class="ulink" href="../javadoc/org/apache/openjpa/jdbc/conf/JDBCConfiguration.html#getSchemas()" target="_top">
<code class="methodname">org.apache.openjpa.jdbc.conf.JDBCConfiguration.getSchemas
</code></a>
</p>
<p>
<span class="bold"><strong>Resource adaptor config-property: </strong></span><code class="literal">
Schemas</code>
</p>
<p>
<span class="bold"><strong>Default:</strong></span> -
</p>
<p>
<span class="bold"><strong>Description:</strong></span> A comma-separated list of the
schemas and/or tables used for your persistent data. See
<a class="xref" href="ref_guide_schema_info.html#ref_guide_schema_info_list" title="12.1.&nbsp; Schemas List">Section&nbsp;12.1, &#8220;
Schemas List
&#8221;</a> for details.
</p>
</div>
<div class="section" title="6.15.&nbsp; openjpa.jdbc.SQLFactory"><div class="titlepage"><div><div><h3 class="title" id="openjpa.jdbc.SQLFactory">6.15.&nbsp;
openjpa.jdbc.SQLFactory
</h3></div></div></div>
<a class="indexterm" name="d5e8996"></a>
<a class="indexterm" name="d5e8998"></a>
<p>
<span class="bold"><strong>Property name: </strong></span><code class="literal">openjpa.jdbc.SQLFactory
</code>
</p>
<p>
<span class="bold"><strong>Configuration API:</strong></span>
<a class="ulink" href="../javadoc/org/apache/openjpa/jdbc/conf/JDBCConfiguration.html#getSQLFactory()" target="_top">
<code class="methodname">org.apache.openjpa.jdbc.conf.JDBCConfiguration.getSQLFactory
</code></a>
</p>
<p>
<span class="bold"><strong>Resource adaptor config-property: </strong></span><code class="literal">
SQLFactory</code>
</p>
<p>
<span class="bold"><strong>Default: </strong></span><code class="literal">default</code>
</p>
<p>
<span class="bold"><strong>Description:</strong></span> A plugin string (see
<a class="xref" href="ref_guide_conf_plugins.html" title="4.&nbsp; Plugin Configuration">Section&nbsp;4, &#8220;
Plugin Configuration
&#8221;</a>) describing the
<a class="ulink" href="../javadoc/org/apache/openjpa/jdbc/sql/SQLFactory.html" target="_top"><code class="classname">
org.apache.openjpa.jdbc.sql.SQLFactory</code></a> to use to abstract
common SQL constructs.
</p>
</div>
<div class="section" title="6.16.&nbsp; openjpa.jdbc.SubclassFetchMode"><div class="titlepage"><div><div><h3 class="title" id="openjpa.jdbc.SubclassFetchMode">6.16.&nbsp;
openjpa.jdbc.SubclassFetchMode
</h3></div></div></div>
<a class="indexterm" name="d5e9021"></a>
<a class="indexterm" name="d5e9023"></a>
<a class="indexterm" name="d5e9026"></a>
<p>
<span class="bold"><strong>Property name: </strong></span><code class="literal">
openjpa.jdbc.SubclassFetchMode</code>
</p>
<p>
<span class="bold"><strong>Configuration API:</strong></span>
<a class="ulink" href="../javadoc/org/apache/openjpa/jdbc/conf/JDBCConfiguration.html#getSubclassFetchMode()" target="_top">
<code class="methodname">org.apache.openjpa.jdbc.conf.JDBCConfiguration.getSubclassFetchMode
</code></a>
</p>
<p>
<span class="bold"><strong>Resource adaptor config-property: </strong></span><code class="literal">
SubclassFetchMode</code>
</p>
<p>
<span class="bold"><strong>Default: </strong></span><code class="literal">parallel</code>
</p>
<p>
<span class="bold"><strong>Possible values: </strong></span><code class="literal">parallel</code>,
<code class="literal">join</code>, <code class="literal">none</code>
</p>
<p>
<span class="bold"><strong>Description:</strong></span> How to select subclass data when
it is in other tables. This setting can also be varied at runtime. See
<a class="xref" href="ref_guide_perfpack_eager.html" title="8.&nbsp; Eager Fetching">Section&nbsp;8, &#8220;
Eager Fetching
&#8221;</a>.
</p>
</div>
<div class="section" title="6.17.&nbsp; openjpa.jdbc.SynchronizeMappings"><div class="titlepage"><div><div><h3 class="title" id="openjpa.jdbc.SynchronizeMappings">6.17.&nbsp;
openjpa.jdbc.SynchronizeMappings
</h3></div></div></div>
<a class="indexterm" name="d5e9052"></a>
<a class="indexterm" name="d5e9054"></a>
<p>
<span class="bold"><strong>Property name: </strong></span><code class="literal">
openjpa.jdbc.SynchronizeMappings</code>
</p>
<p>
<span class="bold"><strong>Configuration API:</strong></span>
<a class="ulink" href="../javadoc/org/apache/openjpa/jdbc/conf/JDBCConfiguration.html#getSynchronizeMappings()" target="_top">
<code class="methodname">
org.apache.openjpa.jdbc.conf.JDBCConfiguration.getSynchronizeMappings
</code></a>
</p>
<p>
<span class="bold"><strong>Resource adaptor config-property: </strong></span><code class="literal">
SynchronizeMappings</code>
</p>
<p>
<span class="bold"><strong>Default:</strong></span> -
</p>
<p>
<span class="bold"><strong>Description:</strong></span> Controls whether OpenJPA 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
<a class="xref" href="ref_guide_mapping.html#ref_guide_mapping_synch" title="1.3.&nbsp; Runtime Forward Mapping">Section&nbsp;1.3, &#8220;
Runtime Forward Mapping
&#8221;</a> for more information.
</p>
</div>
<div class="section" title="6.18.&nbsp; openjpa.jdbc.TransactionIsolation"><div class="titlepage"><div><div><h3 class="title" id="openjpa.jdbc.TransactionIsolation">6.18.&nbsp;
openjpa.jdbc.TransactionIsolation
</h3></div></div></div>
<a class="indexterm" name="d5e9074"></a>
<a class="indexterm" name="d5e9076"></a>
<a class="indexterm" name="d5e9079"></a>
<p>
<span class="bold"><strong>Property name: </strong></span><code class="literal">
openjpa.jdbc.TransactionIsolation</code>
</p>
<p>
<span class="bold"><strong>Configuration API:</strong></span>
<a class="ulink" href="../javadoc/org/apache/openjpa/jdbc/conf/JDBCConfiguration.html#getTransactionIsolation()" target="_top">
<code class="methodname">
org.apache.openjpa.jdbc.conf.JDBCConfiguration.getTransactionIsolation
</code></a>
</p>
<p>
<span class="bold"><strong>Resource adaptor config-property: </strong></span><code class="literal">
TransactionIsolation</code>
</p>
<p>
<span class="bold"><strong>Default: </strong></span><code class="literal">default</code>
</p>
<p>
<span class="bold"><strong>Possible values: </strong></span><code class="literal">default</code>,
<code class="literal">none</code>, <code class="literal">read-committed</code>, <code class="literal">
read-uncommitted</code>, <code class="literal">repeatable-read</code>, <code class="literal">
serializable</code>
</p>
<p>
<span class="bold"><strong>Description:</strong></span> The JDBC transaction isolation
level to use. See <a class="xref" href="ref_guide_dbsetup_isolation.html" title="5.&nbsp; Setting the Transaction Isolation">Section&nbsp;5, &#8220;
Setting the Transaction Isolation
&#8221;</a> for
details.
</p>
</div>
<div class="section" title="6.19.&nbsp; openjpa.jdbc.UpdateManager"><div class="titlepage"><div><div><h3 class="title" id="openjpa.jdbc.UpdateManager">6.19.&nbsp;
openjpa.jdbc.UpdateManager
</h3></div></div></div>
<a class="indexterm" name="d5e9108"></a>
<a class="indexterm" name="d5e9110"></a>
<p>
<span class="bold"><strong>Property name: </strong></span><code class="literal">
openjpa.jdbc.UpdateManager</code>
</p>
<p>
<span class="bold"><strong>Configuration API:</strong></span>
<a class="ulink" href="../javadoc/org/apache/openjpa/jdbc/conf/JDBCConfiguration.html#getUpdateManager()" target="_top">
<code class="methodname">org.apache.openjpa.jdbc.conf.JDBCConfiguration.getUpdateManager
</code></a>
</p>
<p>
<span class="bold"><strong>Resource adaptor config-property: </strong></span><code class="literal">
UpdateManager</code>
</p>
<p>
<span class="bold"><strong>Default: </strong></span><code class="literal">batching-constraint</code>
</p>
<p>
<span class="bold"><strong>Possible values: </strong></span><code class="literal">default</code>,
<code class="literal">operation-order</code>, <code class="literal">constraint</code>, <code class="literal">
batching-constraint</code>, <code class="literal">batching-operation-order</code>
</p>
<p>
<span class="bold"><strong>Description:</strong></span> The full class name of the
<a class="ulink" href="../javadoc/org/apache/openjpa/jdbc/kernel/UpdateManager.html" target="_top">
<code class="classname">org.apache.openjpa.jdbc.kernel.UpdateManager</code></a> to
use to flush persistent object changes to the datastore. The provided default
implementation is
<a class="ulink" href="../javadoc/org/apache/openjpa/jdbc/kernel/BatchingConstraintUpdateManager" target="_top">
<code class="classname">org.apache.openjpa.jdbc.kernel.BatchingConstraintUpdateManager</code>
</a>.
</p>
</div>
<div class="section" title="6.20.&nbsp;Compatibility with Specification"><div class="titlepage"><div><div><h3 class="title" id="ref_guide_spec_compatibility">6.20.&nbsp;Compatibility with Specification</h3></div></div></div>
<p>
The default behavior of certain OpenJPA API methods can evolve to align with the behaviors
defined in JPA specification. To maintain backward compatibility, OpenJPA allows configuration
options such that while the default behavior changes to align with current JPA specification, the
previous behaviors can always be emulated.
</p>
<p>
For example, JPA 2.0 specification
introduces a new API <code class="literal">void EntityManager.detach(Object entity)</code> that detaches
the given entity from the current persistence context. OpenJPA has provided similar
feature via <code class="literal">&lt;T&gt; T OpenJPAEntityManager.detach(T entity)</code> prior to JPA 2.0.
OpenJPA <code class="literal">detach()</code>, however, has different default behavior than what JPA 2.0
specification mandates. Firstly, OpenJPA creates a copy of the given entity as a detached instance
and returns it, whereas JPA 2.0 behavior requires the same given entity instance be detached.
Secondly, the given instance is removed from the persistence context for JPA 2.0, whereas
OpenJPA <code class="literal">detach()</code> method, prior to JPA 2.0, does not remove the instance
from the persistence context as a copy is returned. Thirdly, OpenJPA will flush before
detaching a dirty instance so that the detached instance can later be merged, whereas
JPA 2.0 <code class="literal">detach()</code> semantics does not require a dirty instance be flushed
before detach.
</p>
<p>
A user application running with OpenJPA that is compliant to a specific version of JPA specification
can emulate the older behavior by configuring OpenJPA compatibility options.
For example, <code class="literal">openjpa.Compatibility=FlushBeforeDetach=false,CopyOnDetach=true</code>
will emulate the older behavior of detach even when running with OpenJPA that is
compliant to JPA 2.0 specification. The configuration can also be set to a different version of the specification.
For example, <code class="literal">openjpa.Specification="JPA 1.0"</code> configuration setting will emulate
default OpenJPA behavior as it were for JPA specification version 1.0. Setting
<code class="literal">openjpa.Specification</code> is a shorthand for more fine-grained control available via
<code class="literal">openjpa.Compatibility</code>.
</p>
</div>
</div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ref_guide_conf_openjpa.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ref_guide_conf.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ref_guide_logging.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">5.&nbsp;
OpenJPA Properties
&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="manual.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;Chapter&nbsp;3.&nbsp;
Logging and Auditing
</td></tr></table></div></body></html>