Added:
websites/production/openjpa/content/builds/2.4.2/apache-openjpa/docs/ref_guide_dbsetup_dbsupport.html
==============================================================================
---
websites/production/openjpa/content/builds/2.4.2/apache-openjpa/docs/ref_guide_dbsetup_dbsupport.html
(added)
+++
websites/production/openjpa/content/builds/2.4.2/apache-openjpa/docs/ref_guide_dbsetup_dbsupport.html
Fri Jan 6 19:19:20 2017
@@ -0,0 +1,1922 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+ <title>4. Database Support</title><base href="display"><link
rel="stylesheet" type="text/css" href="css/docbook.css"><meta name="generator"
content="DocBook XSL Stylesheets V1.79.1"><link rel="home" href="manual.html"
title="Apache OpenJPA 2.4 User's Guide"><link rel="up"
href="ref_guide_dbsetup.html" title="Chapter 4. JDBC"><link
rel="prev" href="ref_guide_dbsetup_sqlconn.html" title="3. Runtime Access
to DataSource"><link rel="next" href="ref_guide_dbsetup_isolation.html"
title="5. Setting the Transaction Isolation"></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">4.
+ Database Support
+ </th></tr><tr><td width="20%" align="left"><a accesskey="p"
href="ref_guide_dbsetup_sqlconn.html">Prev</a> </td><th width="60%"
align="center">Chapter 4.
+ JDBC
+ </th><td width="20%" align="right"> <a accesskey="n"
href="ref_guide_dbsetup_isolation.html">Next</a></td></tr></table><hr></div><div
class="section" id="ref_guide_dbsetup_dbsupport"><div
class="titlepage"><div><div><h2 class="title" style="clear: both">4.
+ Database Support
+ </h2></div></div></div><div class="toc"><dl class="toc"><dt><span
class="section"><a
href="ref_guide_dbsetup_dbsupport.html#ref_guide_dbsetup_dbdictprops">4.1.
+ DBDictionary Properties
+ </a></span></dt><dt><span class="section"><a
href="ref_guide_dbsetup_dbsupport.html#ref_guide_dbsetup_dbsupport_firebird">4.2.
+ FirebirdDictionary Properties
+ </a></span></dt><dt><span class="section"><a
href="ref_guide_dbsetup_dbsupport.html#ref_guide_dbsetup_dbsupport_mysql">4.3.
+ MySQLDictionary Properties
+ </a></span></dt><dt><span class="section"><a
href="ref_guide_dbsetup_dbsupport.html#ref_guide_dbsetup_dbsupport_oracle">4.4.
+ OracleDictionary Properties
+ </a></span></dt><dt><span class="section"><a
href="ref_guide_dbsetup_dbsupport.html#ref_guide_dbsetup_dbsupport_sybase">4.5.
+ SybaseDictionary Properties
+ </a></span></dt><dt><span class="section"><a
href="ref_guide_dbsetup_dbsupport.html#ref_guide_dbsetup_dbsupport_db2">4.6.
+ DB2 Properties
+ </a></span></dt><dt><span class="section"><a
href="ref_guide_dbsetup_dbsupport.html#ref_guide_dbsetup_dbsupport_delim_id">4.7.
+ Delimited Identifiers Support
+ </a></span></dt></dl></div>
+
+ <a class="indexterm" name="d5e9764"></a>
+ <a class="indexterm" name="d5e9766"></a>
+ <p>
+OpenJPA can take advantage of any JDBC 2.x compliant
+driver, making almost any major database a candidate for use. See our
officially
+supported database list in <a class="xref" href="supported_databases.html"
title="Appendix 2. Supported Databases">Appendix 2, <i>
+ Supported Databases
+ </i></a> for more
+information. Typically, OpenJPA auto-configures its JDBC behavior and SQL
+dialect for your database, based on the values of your connection-related
+configuration properties.
+ </p>
+ <p>
+If OpenJPA cannot detect what type of database you are using, or if you are
+using an unsupported database, you will have to tell OpenJPA what
+<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.
+The <code class="classname">DBDictionary</code> abstracts away the differences
between
+databases. You can plug a dictionary into OpenJPA using the
+<a class="link" href="ref_guide_conf_jdbc.html#openjpa.jdbc.DBDictionary"
title="6.2. openjpa.jdbc.DBDictionary"><code
class="literal">openjpa.jdbc.DBDictionary
+</code></a> configuration property. The built-in dictionaries are listed
+below. If you are using an unsupported database, you may have to write your own
+<code class="classname">DBDictionary</code> subclass, a simple process.
+ </p>
+ <div class="itemizedlist"><ul class="itemizedlist"
style="list-style-type: disc; "><li class="listitem">
+ <p>
+ <a class="indexterm" name="d5e9782"></a>
+<code class="literal">access</code>: Dictionary for Microsoft Access. This is
an alias
+for the
+<a class="ulink"
href="../javadoc/org/apache/openjpa/jdbc/sql/AccessDictionary.html"
target="_top">
+<code class="classname">org.apache.openjpa.jdbc.sql.AccessDictionary</code></a>
+class.
+ </p>
+ </li><li class="listitem">
+ <p>
+ <a class="indexterm" name="d5e9789"></a>
+<code class="literal">db2</code>: Dictionary for IBM's DB2 database. This is
an alias for
+the <a class="ulink"
href="../javadoc/org/apache/openjpa/jdbc/sql/DB2Dictionary.html" target="_top">
+<code class="classname">org.apache.openjpa.jdbc.sql.DB2Dictionary</code></a>
class.
+ </p>
+ </li><li class="listitem">
+ <p>
+ <a class="indexterm" name="d5e9796"></a>
+<code class="literal">derby</code>: Dictionary for the Apache Derby database.
This is an
+alias for the
+<a class="ulink"
href="../javadoc/org/apache/openjpa/jdbc/sql/DerbyDictionary.html"
target="_top">
+<code class="classname">org.apache.openjpa.jdbc.sql.DerbyDictionary</code>
class.
+</a>
+ </p>
+ </li><li class="listitem">
+ <p>
+ <a class="indexterm" name="d5e9803"></a>
+<code class="literal">empress</code>: Dictionary for Empress database This is
an alias
+for the
+<a class="ulink"
href="../javadoc/org/apache/openjpa/jdbc/sql/EmpressDictionary.html"
target="_top">
+<code
class="classname">org.apache.openjpa.jdbc.sql.EmpressDictionary</code></a>
+class.
+ </p>
+ </li><li class="listitem">
+ <p>
+ <a class="indexterm" name="d5e9810"></a>
+<code class="literal">foxpro</code>: Dictionary for Microsoft Visual FoxPro.
This is an
+alias for the
+<a class="ulink"
href="../javadoc/org/apache/openjpa/jdbc/sql/FoxProDictionary.html"
target="_top">
+<code class="classname">org.apache.openjpa.jdbc.sql.FoxProDictionary</code></a>
+class.
+ </p>
+ </li><li class="listitem">
+ <p>
+ <a class="indexterm" name="d5e9817"></a>
+<code class="literal">h2</code>: Dictionary for the H2 Database Engine. This
is an
+alias for the
+<a class="ulink"
href="../javadoc/org/apache/openjpa/jdbc/sql/H2Dictionary.html" target="_top">
+<code class="classname">org.apache.openjpa.jdbc.sql.H2Dictionary</code></a>
class.
+ </p>
+ </li><li class="listitem">
+ <p>
+ <a class="indexterm" name="d5e9824"></a>
+<code class="literal">hsql</code>: Dictionary for the Hypersonic SQL database.
This is an
+alias for the
+<a class="ulink"
href="../javadoc/org/apache/openjpa/jdbc/sql/HSQLDictionary.html" target="_top">
+<code class="classname">org.apache.openjpa.jdbc.sql.HSQLDictionary</code></a>
class.
+ </p>
+ </li><li class="listitem">
+ <p>
+ <a class="indexterm" name="d5e9831"></a>
+<code class="literal">informix</code>: Dictionary for the Informix database.
This is an
+alias for the
+<a class="ulink"
href="../javadoc/org/apache/openjpa/jdbc/sql/InformixDictionary.html"
target="_top">
+<code
class="classname">org.apache.openjpa.jdbc.sql.InformixDictionary</code></a>
+class.
+ </p>
+ </li><li class="listitem">
+ <p>
+ <a class="indexterm" name="d5e9838"></a>
+<code class="literal">ingres</code>: Dictionary for Ingres. This is an alias
for the
+<a class="ulink"
href="../javadoc/org/apache/openjpa/jdbc/sql/IngresDictionary.html"
target="_top">
+<code class="classname">org.apache.openjpa.jdbc.sql.IngresDictionary</code></a>
+class.
+ </p>
+ </li><li class="listitem">
+ <p>
+ <a class="indexterm" name="d5e9845"></a>
+<code class="literal">jdatastore</code>: Dictionary for Borland JDataStore.
This is an
+alias for the
+<a class="ulink"
href="../javadoc/org/apache/openjpa/jdbc/sql/JDataStoreDictionary.html"
target="_top">
+<code
class="classname">org.apache.openjpa.jdbc.sql.JDataStoreDictionary</code></a>
+class.
+ </p>
+ </li><li class="listitem">
+ <p>
+ <a class="indexterm" name="d5e9852"></a>
+<code class="literal">mariadb</code>: Dictionary for the MariaDB database.
This is an alias
+for the
+<a class="ulink"
href="../javadoc/org/apache/openjpa/jdbc/sql/MariaDBDictionary.html"
target="_top">
+<code
class="classname">org.apache.openjpa.jdbc.sql.MariaDBDictionary</code></a>
+class.
+ </p>
+ </li><li class="listitem">
+ <p>
+ <a class="indexterm" name="d5e9859"></a>
+<code class="literal">mysql</code>: Dictionary for the MySQL database. This is
an alias
+for the
+<a class="ulink"
href="../javadoc/org/apache/openjpa/jdbc/sql/MySQLDictionary.html"
target="_top">
+<code class="classname">org.apache.openjpa.jdbc.sql.MySQLDictionary</code></a>
+class.
+ </p>
+ </li><li class="listitem">
+ <p>
+ <a class="indexterm" name="d5e9866"></a>
+<code class="literal">oracle</code>: Dictionary for Oracle. This is an alias
for the
+<a class="ulink"
href="../javadoc/org/apache/openjpa/jdbc/sql/OracleDictionary.html"
target="_top">
+<code class="classname">org.apache.openjpa.jdbc.sql.OracleDictionary</code></a>
+class.
+ </p>
+ </li><li class="listitem">
+ <p>
+ <a class="indexterm" name="d5e9873"></a>
+<code class="literal">pointbase</code>: Dictionary for Pointbase Embedded
database. This
+is an alias for the
+<a class="ulink"
href="../javadoc/org/apache/openjpa/jdbc/sql/PointbaseDictionary.html"
target="_top">
+<code
class="classname">org.apache.openjpa.jdbc.sql.PointbaseDictionary</code></a>
+class.
+ </p>
+ </li><li class="listitem">
+ <p>
+ <a class="indexterm" name="d5e9880"></a>
+<code class="literal">postgres</code>: Dictionary for PostgreSQL. This is an
alias for
+the <a class="ulink"
href="../javadoc/org/apache/openjpa/jdbc/sql/PostgresDictionary.html"
target="_top">
+<code
class="classname">org.apache.openjpa.jdbc.sql.PostgresDictionary</code></a>
+class.
+ </p>
+ </li><li class="listitem">
+ <p>
+ <a class="indexterm" name="d5e9887"></a>
+<code class="literal">soliddb</code>: Dictionary for IBM's SolidDB database.
+This is an alias for the
+<a class="ulink"
href="../javadoc/org/apache/openjpa/jdbc/sql/SolidDBDictionary.html"
target="_top">
+<code
class="classname">org.apache.openjpa.jdbc.sql.SolidDBDictionary</code></a>
+class.
+ </p>
+ </li><li class="listitem">
+ <p>
+ <a class="indexterm" name="d5e9894"></a>
+<code class="literal">sqlserver</code>: Dictionary for Microsoft's SQL Server
database.
+This is an alias for the
+<a class="ulink"
href="../javadoc/org/apache/openjpa/jdbc/sql/SQLServerDictionary.html"
target="_top">
+<code
class="classname">org.apache.openjpa.jdbc.sql.SQLServerDictionary</code></a>
+class.
+ </p>
+ </li><li class="listitem">
+ <p>
+ <a class="indexterm" name="d5e9901"></a>
+<code class="literal">sybase</code>: Dictionary for Sybase. This is an alias
for the
+<a class="ulink"
href="../javadoc/org/apache/openjpa/jdbc/sql/SybaseDictionary.html"
target="_top">
+<code class="classname">org.apache.openjpa.jdbc.sql.SybaseDictionary</code></a>
+class.
+ </p>
+ </li></ul></div>
+ <p>
+The example below demonstrates how to set a dictionary and configure its
+properties in your configuration file. The <code
class="literal">DBDictionary</code>
+property uses OpenJPA's <a class="link" href="ref_guide_conf_plugins.html"
title="4. Plugin Configuration">plugin syntax
+</a>.
+ </p>
+ <div class="example" id="ref_guide_dbsetup_dbdict"><p
class="title"><b>Example 4.7.
+ Specifying a DBDictionary
+ </b></p><div class="example-contents">
+
+<pre class="programlisting">
+<property name="openjpa.jdbc.DBDictionary"
value="hsql(SimulateLocking=true)"/>
+</pre>
+ </div></div><br class="example-break">
+ <div class="section" id="ref_guide_dbsetup_dbdictprops"><div
class="titlepage"><div><div><h3 class="title">4.1.
+ DBDictionary Properties
+ </h3></div></div></div>
+
+ <p>
+The standard dictionaries all recognize the following properties. These
+properties will usually not need to be overridden, since the dictionary
+implementation should use the appropriate default values for your database. You
+typically won't use these properties unless you are designing your own
+<code class="classname">DBDictionary</code> for an unsupported database.
+ </p>
+ <div class="itemizedlist"><ul class="itemizedlist"
style="list-style-type: disc; "><li class="listitem"
id="DBDictionary.AllowsAliasInBulkClause">
+ <p>
+ <a class="indexterm" name="d5e9919"></a>
+<code class="literal">AllowsAliasInBulkClause</code>:
+When true, SQL delete and update statements may use table aliases.
+ </p>
+ </li><li class="listitem" id="DBDictionary.ArrayTypeName">
+ <p>
+ <a class="indexterm" name="d5e9925"></a>
+<code class="literal">ArrayTypeName</code>: The overridden default column type
for
+<code class="literal">java.sql.Types.ARRAY</code>. This is used only when the
schema is
+generated by the <code class="literal">mappingtool</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.AutoAssignClause">
+ <p>
+ <a class="indexterm" name="d5e9933"></a>
+<code class="literal">AutoAssignClause</code>: The column definition clause to
append to
+a creation statement. For example, <code
class="literal">"AUTO_INCREMENT"</code> for
+MySQL. This property is set automatically in the dictionary, and should not
need
+to be overridden, and is only used when the schema is generated using the
+<code class="literal">mappingtool</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.AutoAssignTypeName">
+ <p>
+ <a class="indexterm" name="d5e9942"></a>
+ <a class="indexterm" name="d5e9945"></a>
+<code class="literal">AutoAssignTypeName</code>:
+The column type name for auto-increment
+columns. For example, <code class="literal">"BIGSERIAL"</code> for PostgreSQL.
This
+property is set automatically in the dictionary and should not need to be
+overridden. It is used only when the schema is generated using the
+<code class="literal">mappingtool</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.BatchLimit">
+ <p>
+ <a class="indexterm" name="d5e9954"></a>
+<code class="literal">BatchLimit</code>:
+The default batch limit for sending multiple SQL statements at once to the
+database. A value of -1 indicates unlimited batching, and any positive integer
+indicates the maximum number of SQL statements to batch together.
+Defaults to 0 which disables batching.
+ </p>
+ </li><li class="listitem" id="DBDictionary.BigintTypeName">
+ <p>
+ <a class="indexterm" name="d5e9960"></a>
+<code class="literal">BigintTypeName</code>: The overridden default column
type for
+<code class="literal">java.sql.Types.BIGINT</code>. This is used only when the
schema is
+generated by the <code class="literal">mappingtool</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.BinaryTypeName">
+ <p>
+ <a class="indexterm" name="d5e9968"></a>
+<code class="literal">BinaryTypeName</code>: The overridden default column
type for
+<code class="literal">java.sql.Types.BINARY</code>. This is used only when the
schema is
+generated by the <code class="literal">mappingtool</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.BitTypeName">
+ <p>
+ <a class="indexterm" name="d5e9976"></a>
+<code class="literal">BitTypeName</code>: The overridden default column type
for
+<code class="literal">java.sql.Types.BIT</code>. This is used only when the
schema is generated by
+the <code class="literal">mappingtool</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.BlobBufferSize">
+ <p>
+ <a class="indexterm" name="d5e9984"></a>
+<code class="literal">BlobBufferSize</code>: This property establishes the
buffer size in
+the <code class="literal">INSERT/UPDATE</code> operations with an
+<code class="literal">java.io.InputStream</code>. This is only used with
OpenJPA's
+<a class="xref" href="ref_guide_mapping_jpa.html#ref_guide_streamsupport"
title="7.11. LOB Streaming">Section 7.11, “
+ LOB Streaming
+ ”</a>. Defaults to 50000.
+ </p>
+ </li><li class="listitem" id="DBDictionary.BlobTypeName">
+ <p>
+ <a class="indexterm" name="d5e9993"></a>
+ <a class="indexterm" name="d5e9996"></a>
+<code class="literal">BlobTypeName</code>: The overridden default column type
for
+<code class="literal">java.sql.Types.BLOB</code>. This is used only when the
schema is
+generated by the <code class="literal">mappingtool</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.BooleanRepresentation">
+ <p>
+ <a class="indexterm" name="d5e10004"></a>
+<code class="literal">BooleanRepresentation</code>:
+The overridden default representation for <code
class="literal">java.lang.Boolean</code> or
+<code class="literal">boolean</code> fields in JPA Entities. A
+<a class="ulink"
href="../javadoc/org/apache/openjpa/jdbc/sql/BooleanRepresentation.html"
target="_top">
+<code
class="classname">org.apache.openjpa.jdbc.sql.BooleanRepresentation</code></a>
+describes how Boolean values in entities get mapped into the database by
default.
+Note that you additionally might need to define the <code
class="literal">BooleanTypeName</code>
+<code class="literal">BitTypeName</code> settings to fit your selected
BooleanRepresenation.
+ </p>
+ </li><li class="listitem" id="DBDictionary.BooleanTypeName">
+ <p>
+ <a class="indexterm" name="d5e10016"></a>
+<code class="literal">BooleanTypeName</code>:
+The overridden default column type for
+<code class="literal">java.sql.Types.BOOLEAN</code>. This is used only when
the schema
+is generated by the <code class="literal">mappingtool</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.CastFunction">
+ <p>
+ <a class="indexterm" name="d5e10024"></a>
+<code class="literal">CastFunction</code>:
+The SQL function call to cast a value to another SQL type.
+Use the tokens <code class="literal">{0}</code> and <code
class="literal">{1}</code> to represent
+the two arguments. The result of the function is convert the
+<code class="literal">{0}</code> value to a <code class="literal">{1}</code>
type.
+The default is <code class="literal">"CAST({0} AS {1})"</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.CatalogSeparator">
+ <p>
+ <a class="indexterm" name="d5e10035"></a>
+<code class="literal">CatalogSeparator</code>: The string the database uses to
delimit
+between the schema name and the table name. This is typically <code
class="literal">"."
+</code>, which is the default.
+ </p>
+ </li><li class="listitem" id="DBDictionary.CharTypeName">
+ <p>
+ <a class="indexterm" name="d5e10042"></a>
+<code class="literal">CharTypeName</code>: The overridden default column type
for
+<code class="literal">java.sql.Types.CHAR</code>. This is used only when the
schema is
+generated by the <code class="literal">mappingtool</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.CharacterColumnSize">
+ <p>
+ <a class="indexterm" name="d5e10050"></a>
+<code class="literal">CharacterColumnSize</code>: The default size of <code
class="literal">varchar
+</code> and <code class="literal">char</code> columns. Typically 255.
+ </p>
+ </li><li class="listitem" id="DBDictionary.ClobBufferSize">
+ <p>
+ <a class="indexterm" name="d5e10058"></a>
+<code class="literal">ClobBufferSize</code>: This property establish the
buffer size in
+the <code class="literal">INSERT/UPDATE</code> operations with a
+<code class="literal">java.io.Reader</code>. This is only used with OpenJPA's
+<a class="xref" href="ref_guide_mapping_jpa.html#ref_guide_streamsupport"
title="7.11. LOB Streaming">Section 7.11, “
+ LOB Streaming
+ ”</a>. Defaults to 50000.
+ </p>
+ </li><li class="listitem" id="DBDictionary.ClobTypeName">
+ <p>
+ <a class="indexterm" name="d5e10067"></a>
+ <a class="indexterm" name="d5e10070"></a>
+<code class="literal">ClobTypeName</code>: The overridden default column type
for
+<code class="literal">java.sql.Types.CLOB</code>. This is used only when the
schema is
+generated by the <code class="literal">mappingtool</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.ClosePoolSQL">
+ <p>
+ <a class="indexterm" name="d5e10078"></a>
+<code class="literal">ClosePoolSQL</code>:
+A special command to issue to the database when shutting down the pool.
+Usually the pool of connections to the database is closed when the
+application is ending. For embedded databases, whose lifecycle is
+coterminous with the application, there may be a special
+command, usually <code class="literal">"SHUTDOWN"</code>,
+that will cause the embedded database to close cleanly.
+Defaults to <code class="literal">null</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.ConcatenateFunction">
+ <p>
+ <a class="indexterm" name="d5e10086"></a>
+<code class="literal">ConcatenateFunction</code>:
+The SQL function call or operation to concatenate two strings.
+Use the tokens <code class="literal">{0}</code> and <code
class="literal">{1}</code> to represent
+the two arguments. The result of the function or operation is to concatenate
+the <code class="literal">{1}</code> string to the end of the <code
class="literal">{0}</code>
+string. Defaults to <code class="literal">"({0}||{1})"</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.ConstraintNameMode">
+ <p>
+ <a class="indexterm" name="d5e10097"></a>
+<code class="literal">ConstraintNameMode</code>: When creating constraints,
whether to
+put the constraint name before the definition (<code
class="literal">"before"</code>),
+just after the constraint type name (<code class="literal">"mid"</code>), or
after the
+constraint definition (<code class="literal">"after"</code>).
+Defaults to <code class="literal">"before"</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.CreatePrimaryKeys">
+ <p>
+ <a class="indexterm" name="d5e10107"></a>
+<code class="literal">CreatePrimaryKeys</code>: When false, do not
+create database primary keys for identifiers. Defaults to <code
class="literal">true
+</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.CrossJoinClause">
+ <p>
+ <a class="indexterm" name="d5e10114"></a>
+<code class="literal">CrossJoinClause</code>: The clause to use for a cross
join
+(cartesian product). Defaults to <code class="literal">"CROSS JOIN"</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.CurrentDateFunction">
+ <p>
+ <a class="indexterm" name="d5e10121"></a>
+<code class="literal">CurrentDateFunction</code>:
+The SQL function call to obtain the current date from the database.
+Defaults to <code class="literal">"CURRENT_DATE"</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.CurrentTimeFunction">
+ <p>
+ <a class="indexterm" name="d5e10128"></a>
+<code class="literal">CurrentTimeFunction</code>:
+The SQL function call to obtain the current time from the database.
+Defaults to <code class="literal">"CURRENT_TIME"</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.CurrentTimestampFunction">
+ <p>
+ <a class="indexterm" name="d5e10135"></a>
+<code class="literal">CurrentTimestampFunction</code>:
+The SQL function call to obtain the current timestamp from the database.
+Defaults to <code class="literal">"CURRENT_TIMESTAMP"</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.DatePrecision">
+ <p>
+ <a class="indexterm" name="d5e10142"></a>
+<code class="literal">DatePrecision</code>:
+The database is able to store time values to this degree of precision,
+which is expressed in nanoseconds.
+This value is usually one million, meaning that the database is able
+to store time values with a precision of one millisecond. Particular
+databases may have more or less precision.
+OpenJPA will round all time values to this degree of precision
+before storing them in the database. This property can be set to one
+of the following precisions:
+ </p>
+ <div class="itemizedlist"><ul class="itemizedlist"
style="list-style-type: circle; "><li class="listitem">
+ <p>
+<code class="literal">DECI</code>: 100000000
+ </p>
+ </li><li class="listitem">
+ <p>
+<code class="literal">CENIT</code>: 10000000
+ </p>
+ </li><li class="listitem">
+ <p>
+<code class="literal">MILLI (default precision)</code>: 1000000
+ </p>
+ </li><li class="listitem">
+ <p>
+<code class="literal">MICRO</code>: 1000
+ </p>
+ </li><li class="listitem">
+ <p>
+<code class="literal">NANO (max precision)</code>: 1
+ </p>
+ </li></ul></div>
+ </li><li class="listitem"
id="DBDictionary.DateMillisecondBehavior">
+ <p>
+ <a class="indexterm" name="d5e10164"></a>
+<code class="literal">DateMillisecondBehavior</code>:
+When retrieving a <code class="literal">Date</code> value from a database
which stores the value in
+a TIMESTAMP column, the values retrieved will be rounded to the nearest
+millisecond. So a date of '2010-01-01 12:00:00.687701' stored in the
+database will become '2010-01-01 12:00:00.688' in the <code
class="literal">Date</code> field of the
+entity. The following date stored in the database as '9999-12-31
23:59:59.9999'
+will become '10000-01-01 00:00:00.000'. This rounding may not be desirable.
With this
+property, a user has options which will direct OpenJPA how to handle the
milliseconds. This
+property can be set to one of the enums defined in
+<code class="literal">DBDictionary.DateMillisecondBehaviors</code>. The
options defined in
+<code class="literal">DBDictionary.DateMillisecondBehaviors</code> are as
follows:
+ </p><div class="itemizedlist"><ul class="itemizedlist"
style="list-style-type: circle; "><li class="listitem">
+ <p>
+<code class="literal">DateMillisecondBehaviors.ROUND</code>: This is the
default. The
+<code class="literal">Date</code> will be rounded to the nearest millisecond,
as described above.
+ </p>
+ </li><li class="listitem">
+ <p>
+<code class="literal">DateMillisecondBehaviors.DROP</code>: The milliseconds
will be dropped, thus
+rounding is not performed. As an example, a date of '2010-01-01
12:00:00.687701' stored in the
+database will become '2010-01-01 12:00:00.000' in the <code
class="literal">Date</code> field of the
+entity.
+ </p>
+ </li><li class="listitem">
+ <p>
+<code class="literal">DateMillisecondBehaviors.RETAIN</code>: The milliseconds
will not be rounded, but will
+be retained. As an example, a date of '2010-01-01 12:00:00.687701' stored in
the
+database will become '2010-01-01 12:00:00.687' in the <code
class="literal">Date</code> field of the
+entity.
+ </p>
+ </li></ul></div><p>
+ </p>
+ </li><li class="listitem" id="DBDictionary.DateTypeName">
+ <p>
+ <a class="indexterm" name="d5e10187"></a>
+<code class="literal">DateTypeName</code>: The overridden default column type
for
+<code class="literal">java.sql.Types.DATE</code>. This is used only when the
schema is
+generated by the <code class="literal">mappingtool</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.DecimalTypeName">
+ <p>
+ <a class="indexterm" name="d5e10195"></a>
+<code class="literal">DecimalTypeName</code>: The overridden default column
type for
+<code class="literal">java.sql.Types.DECIMAL</code>. This is used only when
the schema is
+generated by the <code class="literal">mappingtool</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.DelimitedCase">
+ <p>
+ <a class="indexterm" name="d5e10203"></a>
+<code class="literal">DelimitedCase</code>: The case to use when querying the
database
+about identifiers that have been delimited. It defaults to preserving the
+case of the originally specified name. Available values are:
+<code class="literal">upper, lower, preserve.</code>
+ </p>
+ </li><li class="listitem"
id="DBDictionary.DisableAlterSeqenceIncrementBy">
+ <p>
+ <a class="indexterm" name="d5e10210"></a>
+<code class="literal">DisableAlterSeqenceIncrementBy</code>: OpenJPA attempts
to execute
+an ALTER SEQUENCE....INCREMENT BY SQL statement for a user defined sequence.
This
+is done to ensure that the 'allocationSize' value defined by the entity's
sequence,
+or default value, matches the sequence defined in the database. For example,
with
+an allocationSize of 1000 for a sequence named 'SEQ_JPASAMPLE', the following
SQL
+will be generated (the SQL might vary slightly depending on the databases):
+<code class="literal">ALTER SEQUENCE SEQ_JPASAMPLE INCREMENT BY 1000</code>.
If the user
+executing this command doesn't have permissions to execute the command, it will
+fail and in turn OpenJPA will disable sequence caching. If a user wants to
disable
+this SQL command, this property can be set to true. However, the user must
ensure
+that the entities defined sequence is kept in synch with the sequence defined
in the
+database. Defaults to false.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.DisableSchemaFactoryColumnTypeErrors">
+ <p>
+ <a class="indexterm" name="d5e10217"></a>
+<code class="literal">DisableSchemaFactoryColumnTypeErrors</code>: When
something other than the default
+SchemaFactory is used, up-front mapping validation is performed against the
database schema. As
+part of the validation, OpenJPA will verify a persistence class column's type
against the column type
+defined in the database schema. If a mismatch is found, OpenJPA will throw an
exception to flag the
+mismatch types and will not allow processing to continue. This can be
limiting, especially if the
+JDBC driver and/or database can properly handle the mismatch. Set this
property to true to disable
+column type mismatch errors. Defaults to false.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.DistinctCountColumnSeparator">
+ <p>
+ <a class="indexterm" name="d5e10223"></a>
+<code class="literal">DistinctCountColumnSeparator</code>: The string the
database uses
+to delimit between column expressions in a <code class="literal">SELECT
COUNT(DISTINCT
+column-list)</code> clause. Defaults to <code class="literal">null</code>
+for most databases, meaning that
+multiple columns in a distinct COUNT clause are not supported.
+ </p>
+ </li><li class="listitem" id="DBDictionary.DistinctTypeName">
+ <p>
+ <a class="indexterm" name="d5e10231"></a>
+<code class="literal">DistinctTypeName</code>: The overridden default column
type for
+<code class="literal">java.sql.Types.DISTINCT</code>. This is used only when
the schema
+is generated by the <code class="literal">mappingtool</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.DoubleTypeName">
+ <p>
+ <a class="indexterm" name="d5e10239"></a>
+<code class="literal">DoubleTypeName</code>: The overridden default column
type for
+<code class="literal">java.sql.Types.DOUBLE</code>. This is used only when the
schema is
+generated by the <code class="literal">mappingtool</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.DriverVendor">
+ <p>
+ <a class="indexterm" name="d5e10247"></a>
+<code class="literal">DriverVendor</code>: The vendor of the particular JDBC
driver you
+are using. Some dictionaries must alter their behavior depending on the driver
+vendor. Dictionaries usually detect the driver vendor and set this property
+themselves. See the <code class="literal">VENDOR_XXX</code> constants defined
in the
+<code class="classname">DBDictionary</code> Javadoc for available options.
+ </p>
+ </li><li class="listitem" id="DBDictionary.DropTableSQL">
+ <p>
+ <a class="indexterm" name="d5e10255"></a>
+<code class="literal">DropTableSQL</code>:
+The SQL statement used to drop a table. Use the token <code
class="literal">{0}</code>
+as the argument for the table name.
+Defaults to <code class="literal">"DROP TABLE {0}"</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.FixedSizeTypeNames">
+ <p>
+ <a class="indexterm" name="d5e10263"></a>
+<code class="literal">FixedSizeTypeNames</code>:
+A comma separated list of additional database types that have a size
+defined by the database. In other words, when a column of a fixed
+size type is declared, its size cannot be defined by the user. Common
+examples would be <code class="literal">DATE</code>, <code
class="literal">FLOAT</code>,
+and <code class="literal">INTEGER</code>.
+Each database dictionary has its own internal set of fixed size type names
+that include the names mentioned here and many others.
+Names added to this property are added to the dictionary's internal set.
+Defaults to <code class="literal">null</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.FloatTypeName">
+ <p>
+ <a class="indexterm" name="d5e10273"></a>
+<code class="literal">FloatTypeName</code>: The overridden default column type
for
+<code class="literal">java.sql.Types.FLOAT</code>. This is used only when the
schema is
+generated by the <code class="literal">mappingtool</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.ForUpdateClause">
+ <p>
+ <a class="indexterm" name="d5e10281"></a>
+ <a class="indexterm" name="d5e10284"></a>
+<code class="literal">ForUpdateClause</code>: The clause to append to <code
class="literal">SELECT
+</code> statements to issue queries that obtain pessimistic locks. Defaults
+to <code class="literal">"FOR UPDATE"</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.GetStringVal">
+ <p>
+ <a class="indexterm" name="d5e10292"></a>
+ <a class="indexterm" name="d5e10295"></a>
+<code class="literal">GetStringVal</code>:
+A special function to return the value of an XML
+column in a select statement. For example, Oracle uses
+<code class="literal">".getClobVal()"</code>, as in
+<code class="literal">"SELECT t0.xmlcol.getClobVal() FROM xmltab t0"</code>.
+Defaults to the empty string.
+ </p>
+ </li><li class="listitem" id="DBDictionary.InClauseLimit">
+ <p>
+ <a class="indexterm" name="d5e10303"></a>
+<code class="literal">InClauseLimit</code>:
+The maximum number of elements in an <code class="literal">IN</code> clause.
OpenJPA
+works around cases where the limit is exceeded. Defaults to -1 meaning
+no limit.
+ </p>
+ </li><li class="listitem" id="DBDictionary.InitializationSQL">
+ <p>
+ <a class="indexterm" name="d5e10310"></a>
+ <a class="indexterm" name="d5e10313"></a>
+<code class="literal">InitializationSQL</code>: A piece of SQL to issue
against the
+database whenever a connection is retrieved from the <code
class="classname">DataSource
+</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.InnerJoinClause">
+ <p>
+ <a class="indexterm" name="d5e10320"></a>
+<code class="literal">InnerJoinClause</code>: The clause to use for an inner
join.
+Defaults to <code class="literal">"INNER JOIN"</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.IntegerTypeName">
+ <p>
+ <a class="indexterm" name="d5e10327"></a>
+<code class="literal">IntegerTypeName</code>: The overridden default column
type for
+<code class="literal">java.sql.Types.INTEGER</code>. This is used only when
the schema is
+generated by the <code class="literal">mappingtool</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.JavaObjectTypeName">
+ <p>
+ <a class="indexterm" name="d5e10335"></a>
+<code class="literal">JavaObjectTypeName</code>: The overridden default column
type for
+<code class="literal">java.sql.Types.JAVAOBJECT</code>. This is used only when
the schema
+is generated by the <code class="literal">mappingtool</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.JoinSyntax">
+ <p>
+ <a class="indexterm" name="d5e10343"></a>
+<code class="literal">JoinSyntax</code>: The SQL join syntax to use in select
statements.
+See <a class="xref" href="ref_guide_dbsetup_sql92.html" title="6.
Setting the SQL Join Syntax">Section 6, “
+ Setting the SQL Join Syntax
+ ”</a>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.LastGeneratedKeyQuery">
+ <p>
+ <a class="indexterm" name="d5e10350"></a>
+<code class="literal">LastGeneratedKeyQuery</code>: The query to issue to
obtain the last
+automatically generated key for an auto-increment column. For example,
+<code class="literal">"SELECT LAST_INSERT_ID()"</code> for MySQL. This
property is set
+automatically in the dictionary, and should not need to be overridden.
+If <code class="literal">SupportsGetGeneratedKeys</code> is true, the query
will not
+be issued but a more efficient JDBC 3.0 mechanism for obtaining generated
+keys will be used instead.
+ </p>
+ </li><li class="listitem" id="DBDicationary.LeadingDelimiter">
+ <p>
+ <a class="indexterm" name="d5e10359"></a>
+<code class="literal">LeadingDelimiter</code>: The characters to use as the
leading delimiter
+for a delimited identifier. The default value is a double quote,
+<code class="literal">(")</code>. See
+<a class="xref"
href="ref_guide_dbsetup_dbsupport.html#ref_guide_dbsetup_dbsupport_delim_id"
title="4.7. Delimited Identifiers Support">Section 4.7, “
+ Delimited Identifiers Support
+ ”</a> for
+the default value for some specific databases.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.LongVarbinaryTypeName">
+ <p>
+ <a class="indexterm" name="d5e10367"></a>
+<code class="literal">LongVarbinaryTypeName</code>: The overridden default
column type
+for <code class="literal">java.sql.Types.LONGVARBINARY</code>. This is used
only when the
+schema is generated by the <code class="literal">mappingtool</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.LongVarcharTypeName">
+ <p>
+ <a class="indexterm" name="d5e10375"></a>
+<code class="literal">LongVarcharTypeName</code>: The overridden default
column type for
+<code class="literal">java.sql.Types.LONGVARCHAR</code>. This is used only
when the
+schema is generated by the <code class="literal">mappingtool</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.MaxAutoAssignNameLength">
+ <p>
+ <a class="indexterm" name="d5e10383"></a>
+<code class="literal">MaxAutoAssignNameLength</code>: Set this property to the
maximum
+length of the sequence name used for auto-increment columns. Names longer than
+this value are truncated. Defaults to 31.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.MaxColumnNameLength">
+ <p>
+ <a class="indexterm" name="d5e10389"></a>
+<code class="literal">MaxColumnNameLength</code>: The maximum number of
characters in a
+column name. Defaults to 128.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.MaxConstraintNameLength">
+ <p>
+ <a class="indexterm" name="d5e10395"></a>
+<code class="literal">MaxConstraintNameLength</code>: The maximum number of
characters in
+a constraint name. Defaults to 128.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.MaxEmbeddedBlobSize">
+ <p>
+ <a class="indexterm" name="d5e10401"></a>
+<code class="literal">MaxEmbeddedBlobSize</code>:
+When greater than -1, the maximum size of a <code class="literal">BLOB</code>
value
+that can be sent directly to the database within an insert or update
statement.
+Values whose size is greater than <code
class="literal">MaxEmbeddedBlobSize</code> force
+OpenJPA to work around this limitation. A value of -1 means that there is
+no limitation. Defaults to -1.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.MaxEmbeddedClobSize">
+ <p>
+ <a class="indexterm" name="d5e10409"></a>
+<code class="literal">MaxEmbeddedClobSize</code>:
+When greater than -1, the maximum size of a <code class="literal">CLOB</code>
value
+that can be sent directly to the database within an insert or update
statement.
+Values whose size is greater than <code
class="literal">MaxEmbeddedClobSize</code> force
+OpenJPA to work around this limitation. A value of -1 means that there is
+no limitation. Defaults to -1.
+ </p>
+ </li><li class="listitem" id="DBDictionary.MaxIndexNameLength">
+ <p>
+ <a class="indexterm" name="d5e10417"></a>
+ <a class="indexterm" name="d5e10420"></a>
+<code class="literal">MaxIndexNameLength</code>: The maximum number of
characters in an
+index name. Defaults to 128.
+ </p>
+ </li><li class="listitem" id="DBDictionary.MaxIndexesPerTable">
+ <p>
+ <a class="indexterm" name="d5e10426"></a>
+<code class="literal">MaxIndexesPerTable</code>: The maximum number of indexes
that can
+be placed on a single table. Defaults to no limit.
+ </p>
+ </li><li class="listitem" id="DBDictionary.MaxTableNameLength">
+ <p>
+ <a class="indexterm" name="d5e10432"></a>
+<code class="literal">MaxTableNameLength</code>: The maximum number of
characters in a
+table name. Defaults to 128.
+ </p>
+ </li><li class="listitem" id="DBDictionary.NameConcatenator">
+ <p>
+ <a class="indexterm" name="d5e10438"></a>
+<code class="literal">NameConcatenator</code>: The value used when names are
concatenated to
+create a generated name. The default value is the underscore <code
class="literal">"_"</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.NextSequenceQuery">
+ <p>
+ <a class="indexterm" name="d5e10445"></a>
+<code class="literal">NextSequenceQuery</code>: A SQL string for obtaining a
native
+sequence value. May use a placeholder of <code class="literal">{0}</code> for
the variable
+sequence name and <code class="literal">{1}</code> for sequence increment.
+Defaults to a database-appropriate value. For example,
+<code class="literal">"SELECT {0}.NEXTVAL FROM DUAL"</code> for Oracle
database.
+ </p>
+ </li><li class="listitem" id="DBDictionary.NullTypeName">
+ <p>
+ <a class="indexterm" name="d5e10454"></a>
+<code class="literal">NullTypeName</code>: The overridden default column type
for
+<code class="literal">java.sql.Types.NULL</code>. This is used only when the
schema is
+generated by the <code class="literal">mappingtool</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.NumericTypeName">
+ <p>
+ <a class="indexterm" name="d5e10462"></a>
+<code class="literal">NumericTypeName</code>: The overridden default column
type for
+<code class="literal">java.sql.Types.NUMERIC</code>. This is used only when
the schema is
+generated by the <code class="literal">mappingtool</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.OtherTypeName">
+ <p>
+ <a class="indexterm" name="d5e10470"></a>
+<code class="literal">OtherTypeName</code>: The overridden default column type
for
+<code class="literal">java.sql.Types.OTHER</code>. This is used only when the
schema is
+generated by the <code class="literal">mappingtool</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.OuterJoinClause">
+ <p>
+ <a class="indexterm" name="d5e10478"></a>
+<code class="literal">OuterJoinClause</code>: The clause to use for an left
outer join.
+Defaults to <code class="literal">"LEFT OUTER JOIN"</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.Platform">
+ <p>
+ <a class="indexterm" name="d5e10485"></a>
+<code class="literal">Platform</code>:
+The name of the database that this dictionary targets.
+Defaults to <code class="literal">"Generic"</code>, but all dictionaries
override this
+value.
+ </p>
+ </li><li class="listitem" id="DBDictionary.RangePosition">
+ <p>
+ <a class="indexterm" name="d5e10492"></a>
+<code class="literal">RangePosition</code>:
+Indicates where to specify in the SQL select statement the range, if any,
+of the result rows to be returned.
+When limiting the number of returned result rows to a subset of all those
+that satisfy the query's conditions, the position of the range clause
+varies by database.
+Defaults to 0, meaning that the range
+is expressed at the end of the select statement but before any locking clause.
+See the RANGE_XXX constants defined in <code
class="classname">DBDictionary</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.RealTypeName">
+ <p>
+ <a class="indexterm" name="d5e10499"></a>
+<code class="literal">RealTypeName</code>: The overridden default column type
for
+<code class="literal">java.sql.Types.REAL</code>. This is used only when the
schema is
+generated by the <code class="literal">mappingtool</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.RefTypeName">
+ <p>
+ <a class="indexterm" name="d5e10507"></a>
+<code class="literal">RefTypeName</code>: The overridden default column type
for
+<code class="literal">java.sql.Types.REF</code>. This is used only when the
schema is generated by
+the <code class="literal">mappingtool</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.RequiresAliasForSubselect">
+ <p>
+ <a class="indexterm" name="d5e10515"></a>
+ <a class="indexterm" name="d5e10518"></a>
+<code class="literal">RequiresAliasForSubselect</code>: When true, the database
+requires that subselects in a FROM clause be assigned an alias.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.RequiresAutoCommitForMetadata">
+ <p>
+ <a class="indexterm" name="d5e10525"></a>
+<code class="literal">RequiresAutoCommitForMetadata</code>: When true, the
JDBC driver
+requires that autocommit be enabled before any schema interrogation operations
+can take place.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.RequiresCastForComparisons">
+ <p>
+ <a class="indexterm" name="d5e10532"></a>
+<code class="literal">RequiresCastForComparisons</code>:
+When true, comparisons of two values of different types or
+of two literals requires a cast in the generated SQL.
+Defaults to <code class="literal">false</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.RequiresCastForMathFunctions">
+ <p>
+ <a class="indexterm" name="d5e10539"></a>
+<code class="literal">RequiresCastForMathFunctions</code>:
+When true, math operations on two values of different types or
+on two literals requires a cast in the generated SQL.
+Defaults to <code class="literal">false</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.RequiresConditionForCrossJoin">
+ <p>
+ <a class="indexterm" name="d5e10546"></a>
+<code class="literal">RequiresConditionForCrossJoin</code>: Some databases
require that
+there always be a conditional statement for a cross join. If set, this
parameter
+ensures that there will always be some condition to the join clause.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.RequiresTargetForDelete">
+ <p>
+ <a class="indexterm" name="d5e10552"></a>
+<code class="literal">RequiresTargetForDelete</code>:
+When true, the database requires a target for delete statements. Defaults
+to <code class="literal">false</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.ReservedWords">
+ <p>
+ <a class="indexterm" name="d5e10559"></a>
+<code class="literal">ReservedWords</code>: A comma-separated list of reserved
words for
+this database, beyond the standard SQL92 keywords.
+ </p>
+ </li><li class="listitem" id="DBDictionary.SchemaCase">
+ <p>
+ <a class="indexterm" name="d5e10565"></a>
+<code class="literal">SchemaCase</code>: The case to use when querying the
database
+metadata about schema components. Defaults to making all names upper case.
+Available values are: <code class="literal">upper, lower, preserve</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.SearchStringEscape">
+ <p>
+ <a class="indexterm" name="d5e10573"></a>
+<code class="literal">SearchStringEscape</code>:
+The default escape character used when generating SQL <code
class="literal">LIKE</code>
+clauses. The escape character is used to escape the wildcard meaning of the
+<code class="literal">_</code> and <code class="literal">%</code> characters.
+Note: since JPQL provides the ability to define the escape character in
+the query, this setting is primarily used when translating other query
+languages, such as JDOQL. Defaults to <code class="literal">"\\"</code>
+(a single backslash in Java speak).
+ </p>
+ </li><li class="listitem"
id="DBDictionary.RequiresSearchStringEscapeForLike">
+ <p>
+ <a class="indexterm" name="d5e10583"></a>
+<code class="literal">RequiresSearchStringEscapeForLike</code>:
+When true, the database requires an escape string for queries that use
+<code class="literal">LIKE</code>. The escape string can be specified using
+<code class="literal">searchStringEscape</code>. Defaults to <code
class="literal">false</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.SelectWords">
+ <p>
+ <a class="indexterm" name="d5e10592"></a>
+<code class="literal">SelectWords</code>: A comma-separated list of keywords
which may be
+used to start a SELECT statement for this database. If an application executes
+a native SQL statement which begins with SelectWords OpenJPA will treat the
+statement as a SELECT statement rather than an UPDATE statement.
+ </p>
+ </li><li class="listitem" id="DBDictionary.SequenceNameSQL">
+ <p>
+ <a class="indexterm" name="d5e10598"></a>
+<code class="literal">SequenceNameSQL</code>:
+Additional phrasing to use with <code class="literal">SequenceSQL</code>.
+Defaults to <code class="literal">null</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.SequenceSQL">
+ <p>
+ <a class="indexterm" name="d5e10607"></a>
+<code class="literal">SequenceSQL</code>:
+General structure of the SQL query to use when interrogating the database
+for sequence names.
+As there is no standard way to obtain sequence names,
+it defaults to <code class="literal">null</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.SequenceSchemaSQL">
+ <p>
+ <a class="indexterm" name="d5e10615"></a>
+<code class="literal">SequenceSchemaSQL</code>:
+Additional phrasing to use with <code class="literal">SequenceSQL</code>.
+Defaults to <code class="literal">null</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.SimulateLocking">
+ <p>
+ <a class="indexterm" name="d5e10624"></a>
+<code class="literal">SimulateLocking</code>: Some databases do not support
pessimistic
+locking, which will result in an exception when you attempt a
+transaction while using the pessimistic lock manager.
+Setting this property to <code class="literal">true</code> suppresses the
+locking of rows in the database, thereby allowing pessimistic transactions
+even on databases that do not support locking. At the same time, setting this
+property to <code class="literal">true</code> means that you do not obtain the
semantics
+of a pessimistic
+transaction with the database. Defaults to <code class="literal">false</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.SmallintTypeName">
+ <p>
+ <a class="indexterm" name="d5e10633"></a>
+<code class="literal">SmallintTypeName</code>: The overridden default column
type for
+<code class="literal">java.sql.Types.SMALLINT</code>. This is used only when
the schema
+is generated by the <code class="literal">mappingtool</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.StorageLimitationsFatal">
+ <p>
+ <a class="indexterm" name="d5e10641"></a>
+<code class="literal">StorageLimitationsFatal</code>: When true, any data
+truncation/rounding that is performed by the dictionary in order to store a
+value in the database will be treated as a fatal error, rather than just
issuing
+a warning.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.StoreCharsAsNumbers">
+ <p>
+ <a class="indexterm" name="d5e10647"></a>
+<code class="literal">StoreCharsAsNumbers</code>: Set this property to <code
class="literal">false
+</code> to store Java <code class="literal">char</code> fields as <code
class="literal">CHAR
+</code> values rather than numbers. Defaults to <code
class="literal">true</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.StoreLargeNumbersAsStrings">
+ <p>
+ <a class="indexterm" name="d5e10657"></a>
+<code class="literal">StoreLargeNumbersAsStrings</code>: When true, the
dictionary
+prefers to store Java fields of
+type <code class="classname">BigInteger</code> and <code
class="classname">BigDecimal</code>
+as string values in the database. Likewise, the dictionary will instruct
+the mapping tool to map these Java types to character columns.
+Because some databases have limitations on the number of digits that can
+be stored in a numeric column (for example, Oracle can only store 38
+digits), this option may be necessary for some applications.
+Note that this option may prevent OpenJPA from executing meaningful numeric
+queries against the columns. Defaults to <code class="literal">false</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.StringLengthFunction">
+ <p>
+ <a class="indexterm" name="d5e10666"></a>
+<code class="literal">StringLengthFunction</code>: Name of the SQL function
for getting
+the length of a string. Use the token <code class="literal">{0}</code> to
represent the
+argument.
+ </p>
+ </li><li class="listitem" id="DBDictionary.StructTypeName">
+ <p>
+ <a class="indexterm" name="d5e10673"></a>
+<code class="literal">StructTypeName</code>: The overridden default column
type for
+<code class="literal">java.sql.Types.STRUCT</code>. This is used only when the
schema is
+generated by the <code class="literal">mappingtool</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.SubstringFunctionName">
+ <p>
+ <a class="indexterm" name="d5e10681"></a>
+<code class="literal">SubstringFunctionName</code>: Name of the SQL function
for getting
+the substring of a string.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.SupportsAlterTableWithAddColumn">
+ <p>
+ <a class="indexterm" name="d5e10687"></a>
+<code class="literal">SupportsAlterTableWithAddColumn</code>: When true, the
database
+supports adding a new column in an ALTER TABLE statement.
+Defaults to <code class="literal">true</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.SupportsAlterTableWithDropColumn">
+ <p>
+ <a class="indexterm" name="d5e10694"></a>
+<code class="literal">SupportsAlterTableWithDropColumn</code>: When true, the
database
+supports dropping a column in an ALTER TABLE statement.
+Defaults to <code class="literal">true</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.SupportsAutoAssign">
+ <p>
+ <a class="indexterm" name="d5e10701"></a>
+<code class="literal">SupportsAutoAssign</code>:
+When true, the database supports auto-assign columns, where the value of
+column is assigned upon insertion of the row into the database.
+Defaults to <code class="literal">false</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.SupportsCascadeDeleteAction">
+ <p>
+ <a class="indexterm" name="d5e10708"></a>
+<code class="literal">SupportsCascadeDeleteAction</code>: When true, the
database supports
+the <code class="literal">CASCADE</code> delete action on foreign keys.
+Defaults to <code class="literal">true</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.SupportsCascadeUpdateAction">
+ <p>
+ <a class="indexterm" name="d5e10716"></a>
+<code class="literal">SupportsCascadeUpdateAction</code>:
+When true, the database supports the <code class="literal">CASCADE</code>
+update action on foreign keys. Defaults to <code class="literal">true</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.SupportsComments">
+ <p>
+ <a class="indexterm" name="d5e10724"></a>
+<code class="literal">SupportsComments</code>:
+When true, comments can be associated with the table in the table creation
+statement. Defaults to <code class="literal">false</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.SupportsCorrelatedSubselect">
+ <p>
+ <a class="indexterm" name="d5e10731"></a>
+<code class="literal">SupportsCorrelatedSubselect</code>:
+When true, the database supports correlated subselects. Correlated
+subselects are select statements nested within select statements that
+refers to a column in the outer select statement. For performance
+reasons, correlated subselects are generally a last resort.
+Defaults to <code class="literal">true</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.SupportsDefaultDeleteAction">
+ <p>
+ <a class="indexterm" name="d5e10738"></a>
+<code class="literal">SupportsDefaultDeleteAction</code>: When true, the
database supports
+the <code class="literal">SET DEFAULT</code> delete action on foreign keys.
+Defaults to <code class="literal">true</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.SupportsDefaultUpdateAction">
+ <p>
+ <a class="indexterm" name="d5e10746"></a>
+<code class="literal">SupportsDefaultUpdateAction</code>:
+When true, the database supports the <code class="literal">SET DEFAULT</code>
update
+action on foreign keys. Defaults to <code class="literal">true</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.SupportsDeferredConstraints">
+ <p>
+ <a class="indexterm" name="d5e10754"></a>
+<code class="literal">SupportsDeferredConstraints</code>: When true, the
database
+supports deferred constraints. The
+database supports deferred constraints by checking for constraint
+violations when the transaction commits, rather than checking for
+violations immediately after receiving each SQL statement within the
+transaction. Defaults to <code class="literal">true</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.SupportsDelimitedIdentifiers">
+ <p>
+ <a class="indexterm"
name="d5e10761"></a>
+<code class="literal">SupportsDelimitedIdentifiers</code>: When true, the
database
+supports delimited identifiers. It defaults to <code
class="literal">true</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.SupportsForeignKeys">
+ <p>
+ <a class="indexterm" name="d5e10768"></a>
+<code class="literal">SupportsForeignKeys</code>: When true, the database
supports foreign
+keys. Defaults to <code class="literal">true</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.SupportsForeignKeysComposite">
+ <p>
+ <a class="indexterm" name="d5e10775"></a>
+<code class="literal">SupportsForeignKeysComposite</code>: When true, the
database supports
+composite foreign keys. Defaults to <code class="literal">true</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.SupportsGetGeneratedKeys">
+ <p>
+ <a class="indexterm" name="d5e10782"></a>
+<code class="literal">SupportsGetGeneratedKeys</code>: When true, OpenJPA will
use
+<code class="methodname">java.sql.Statement.getGeneratedKeys</code> method to
obtain
+values of auto-increment columns. When false, a query specified by
+<code class="literal">LastGeneratedKeyQuery</code> will be used for that
purpose.
+If not set, the value will be auto-detected by querying the JDBC driver.
+Setting the value to true requires that the JDBC
+driver supports version 3.0 or higher of the JDBC specification
+and supports the <code
class="methodname">java.sql.Statement.getGeneratedKeys</code>
+method.
+ </p>
+ </li><li class="listitem" id="DBDictionary.SupportsHaving">
+ <p>
+ <a class="indexterm" name="d5e10792"></a>
+<code class="literal">SupportsHaving</code>: When true, the database supports
HAVING
+clauses in selects.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.SupportsLockingWithDistinctClause">
+ <p>
+ <a class="indexterm" name="d5e10799"></a>
+<code class="literal">SupportsLockingWithDistinctClause</code>: When true, the
+database supports <code class="literal">FOR UPDATE</code> select clauses with
+<code class="literal">DISTINCT</code> clauses.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.SupportsLockingWithInnerJoin">
+ <p>
+ <a class="indexterm" name="d5e10807"></a>
+<code class="literal">SupportsLockingWithInnerJoin</code>: When true, the
database
+supports <code class="literal">FOR UPDATE</code> select clauses with inner
join queries.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.SupportsLockingWithMultipleTables">
+ <p>
+ <a class="indexterm" name="d5e10814"></a>
+<code class="literal">SupportsLockingWithMultipleTables</code>: When true, the
+database supports <code class="literal">FOR UPDATE</code> select clauses that
select from
+multiple tables.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.SupportsLockingWithOrderClause">
+ <p>
+ <a class="indexterm" name="d5e10821"></a>
+<code class="literal">SupportsLockingWithOrderClause</code>: When true, the
database
+supports <code class="literal">FOR UPDATE</code> select clauses with <code
class="literal">ORDER BY
+</code> clauses.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.SupportsLockingWithOuterJoin">
+ <p>
+ <a class="indexterm" name="d5e10829"></a>
+<code class="literal">SupportsLockingWithOuterJoin</code>: When true, the
database
+supports <code class="literal">FOR UPDATE</code> select clauses with outer
join queries.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.SupportsLockingWithSelectRange">
+ <p>
+ <a class="indexterm" name="d5e10836"></a>
+<code class="literal">SupportsLockingWithSelectRange</code>: When true, the
database
+supports <code class="literal">FOR UPDATE</code> select clauses with queries
that select a
+range of data using <code class="literal">LIMIT</code>, <code
class="literal">TOP</code> or the
+database equivalent. Defaults to <code class="literal">true</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.SupportsModOperator">
+ <p>
+ <a class="indexterm" name="d5e10846"></a>
+<code class="literal">SupportsModOperator</code>:
+When true, the database supports the modulus operator (<code
class="literal">%</code>)
+instead of the <code class="literal">MOD</code> function.
+Defaults to <code class="literal">false</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.SupportsMultipleNontransactionalResultSets">
+ <p>
+<code class="literal">SupportsMultipleNontransactionalResultSets</code>: When
true, a
+nontransactional connection is capable of having multiple open
+<code class="classname">ResultSet</code> instances.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.SupportsNullDeleteAction">
+ <p>
+ <a class="indexterm" name="d5e10859"></a>
+<code class="literal">SupportsNullDeleteAction</code>: When true, the database
supports
+the <code class="literal">SET NULL</code> delete action on foreign keys.
+Defaults to <code class="literal">true</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.SupportsNullTableForGetColumns">
+ <p>
+ <a class="indexterm" name="d5e10867"></a>
+<code class="literal">SupportsNullTableForGetColumns</code>: When true, the
database
+supports passing a <code class="literal">null</code> parameter to <code
class="methodname">
+DatabaseMetaData.getColumns</code> as an optimization to get information
+about all the tables. Defaults to <code class="literal">true</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.SupportsNullTableForGetImportedKeys">
+ <p>
+ <a class="indexterm" name="d5e10877"></a>
+<code class="literal">SupportsNullTableForGetImportedKeys</code>: When true,
the
+database supports passing a <code class="literal">null</code> parameter to
<code class="methodname">
+DatabaseMetaData.getImportedKeys</code> as an optimization to get
+information about all the tables. Defaults to <code
class="literal">false</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.SupportsNullTableForGetIndexInfo">
+ <p>
+ <a class="indexterm" name="d5e10887"></a>
+<code class="literal">SupportsNullTableForGetIndexInfo</code>: When true, the
database
+supports passing a <code class="literal">null</code> parameter to <code
class="methodname">
+DatabaseMetaData.getIndexInfo</code> as an optimization to get information
+about all the tables. Defaults to <code class="literal">false</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.SupportsNullTableForGetPrimaryKeys">
+ <p>
+ <a class="indexterm" name="d5e10897"></a>
+<code class="literal">SupportsNullTableForGetPrimaryKeys</code>: When true, the
+database supports passing a <code class="literal">null</code> parameter to
<code class="methodname">
+DatabaseMetaData.getPrimaryKeys</code> as an optimization to get
+information about all the tables. Defaults to <code
class="literal">false</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.SupportsNullUpdateAction">
+ <p>
+ <a class="indexterm" name="d5e10907"></a>
+<code class="literal">SupportsNullUpdateAction</code>:
+When true, the database supports the <code class="literal">SET NULL</code>
update
+action on foreign keys. Defaults to <code class="literal">true</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.SupportsQueryTimeout">
+ <p>
+ <a class="indexterm" name="d5e10915"></a>
+<code class="literal">SupportsQueryTimeout</code>: When true, the JDBC driver
supports
+calls to <code class="methodname"> java.sql.Statement.setQueryTimeout</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.AllowQueryTimeoutOnFindUpdate">
+ <p>
+ <a class="indexterm" name="d5e10923"></a>
+<code class="literal">AllowQueryTimeoutOnFindUpdate</code>: The JPA
Specification defines the
+javax.persistence.query.timeout, in milliseconds, as a hint to the provider.
The hint
+is used for Query operations. This property, when set to true, will allow the
query timeout hint
+to apply to EntityManager operations. For example, when a 'find' is executed
and the resultant
+entity updated, the query timeout will apply to the SQL update operation.
This property defaults
+to false.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.SupportsRestrictDeleteAction">
+ <p>
+ <a class="indexterm" name="d5e10930"></a>
+<code class="literal">SupportsRestrictDeleteAction</code>: When true, the
database
+supports the <code class="literal">RESTRICT</code> delete action on foreign
keys.
+Defaults to <code class="literal">true</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.SupportsRestrictUpdateAction">
+ <p>
+ <a class="indexterm" name="d5e10938"></a>
+<code class="literal">SupportsRestrictUpdateAction</code>:
+When true, the database supports the <code class="literal">RESTRICT</code>
update
+action on foreign keys. Defaults to <code class="literal">true</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.SupportsSchemaForGetColumns">
+ <p>
+ <a class="indexterm" name="d5e10946"></a>
+<code class="literal">SupportsSchemaForGetColumns</code>: When false, the
database
+driver does not support using the schema name for schema reflection on column
+names.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.SupportsSchemaForGetTables">
+ <p>
+ <a class="indexterm" name="d5e10953"></a>
+<code class="literal">SupportsSchemaForGetTables</code>: If false, then the
database
+driver does not support using the schema name for schema reflection on table
+names.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.SupportsSelectEndIndex">
+ <p>
+ <a class="indexterm" name="d5e10960"></a>
+<code class="literal">SupportsSelectEndIndex</code>: When true, the database
can create a
+select that is limited to the first N results.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.SupportsSelectForUpdate">
+ <p>
+ <a class="indexterm" name="d5e10967"></a>
+<code class="literal">SupportsSelectForUpdate</code>: When true, the database
supports
+<code class="literal">SELECT</code> statements with a pessimistic locking
+(<code class="literal">FOR UPDATE</code>) clause. Defaults to <code
class="literal">true</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.SupportsSelectStartIndex">
+ <p>
+ <a class="indexterm" name="d5e10976"></a>
+<code class="literal">SupportsSelectStartIndex</code>: When true, the database
can create a
+select that skips the first N results.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.SupportsSimpleCaseExpression">
+ <p>
+ <a class="indexterm" name="d5e10983"></a>
+<code class="literal">SupportsSimpleCaseExpression</code>: When true, the
database supports
+the simple form of <code class="literal">CASE</code> expression:
+<code class="literal">CASE <a> WHEN <b> THEN <c> WHEN
<d> THEN <e> ELSE <f> END</code>.
+When false, the general form of <code class="literal">CASE</code> expression
will be used:
+<code class="literal">CASE WHEN <a> = <b> THEN <c> WHEN
<a> = <d> THEN <e> ELSE <f> END</code>.
+Defaults to <code class="literal">true</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.SupportsSubselect">
+ <p>
+ <a class="indexterm" name="d5e10994"></a>
+ <a class="indexterm" name="d5e10997"></a>
+<code class="literal">SupportsSubselect</code>: When true, the database
supports subselects
+in queries.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.SupportsTimestampNanos">
+ <p>
+ <a class="indexterm" name="d5e11004"></a>
+<code class="literal">SupportsTimestampNanos</code>: When true, the database
supports
+nanoseconds with TIMESTAMP columns.
+Defaults to <code class="literal">true</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.SupportsUniqueConstraints">
+ <p>
+ <a class="indexterm" name="d5e11010"></a>
+<code class="literal">SupportsUniqueConstraints</code>: When true, the
database supports
+unique constraints. Defaults to <code class="literal">true</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.SupportsXMLColumn">
+ <p>
+ <a class="indexterm" name="d5e11017"></a>
+<code class="literal">SupportsXMLColumn</code>:
+When true, the database supports an XML column type. See
+<a class="xref" href="ref_guide_mapping_jpa.html#ref_guide_xmlmapping"
title="7.10. XML Column Mapping">Section 7.10, “
+ XML Column Mapping
+ ”</a>
+for information on using this capability. Defaults to <code
class="literal">false</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.SystemSchemas">
+ <p>
+ <a class="indexterm" name="d5e11025"></a>
+<code class="literal">SystemSchemas</code>: A comma-separated list of schema
names that
+should be ignored.
+ </p>
+ </li><li class="listitem" id="DBDictionary.SystemTables">
+ <p>
+ <a class="indexterm" name="d5e11032"></a>
+<code class="literal">SystemTables</code>: A comma-separated list of table
names that
+should be ignored.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.TableForUpdateClause">
+ <p>
+ <a class="indexterm" name="d5e11039"></a>
+ <a class="indexterm" name="d5e11042"></a>
+<code class="literal">TableForUpdateClause</code>: The clause to append to the
end of
+each table alias in queries that obtain pessimistic locks.
+Defaults to <code class="literal">null</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.tableLengthIncludesSchema">
+ <p>
+ <a class="indexterm" name="d5e11049"></a>
+ <code class="literal">tableLengthIncludesSchema</code>:
Whether the max length for a table name includes the table's schema.
+ Defaults to <code class="literal">false</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.TableTypes">
+ <p>
+ <a class="indexterm" name="d5e11056"></a>
+<code class="literal">TableTypes</code>: Comma-separated list of table types
to use when
+looking for tables during schema reflection, as defined in the <code
class="methodname">
+java.sql.DatabaseMetaData.getTableInfo</code> JDBC method. An example is:
+<code class="literal">"TABLE,VIEW,ALIAS"</code>. Defaults to <code
class="literal">"TABLE"</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.TimeTypeName">
+ <p>
+ <a class="indexterm" name="d5e11066"></a>
+<code class="literal">TimeTypeName</code>: The overridden default column type
for
+<code class="literal">java.sql.Types.TIME</code>. This is used only when the
schema is
+generated by the <code class="literal">mappingtool</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.TimestampTypeName">
+ <p>
+ <a class="indexterm" name="d5e11074"></a>
+<code class="literal">TimestampTypeName</code>: The overridden default column
type for
+<code class="literal">java.sql.Types.TIMESTAMP</code>. This is used only when
the schema
+is generated by the <code class="literal">mappingtool</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.TinyintTypeName">
+ <p>
+ <a class="indexterm" name="d5e11082"></a>
+<code class="literal">TinyintTypeName</code>: The overridden default column
type for
+<code class="literal">java.sql.Types.TINYINT</code>. This is used only when
the schema is
+generated by the <code class="literal">mappingtool</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.ToLowerCaseFunction">
+ <p>
+ <a class="indexterm" name="d5e11090"></a>
+<code class="literal">ToLowerCaseFunction</code>: Name of the SQL function for
converting
+a string to lower case. Use the token <code class="literal">{0}</code> to
represent the
+argument.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.ToUpperCaseFunction">
+ <p>
+ <a class="indexterm" name="d5e11097"></a>
+<code class="literal">ToUpperCaseFunction</code>: SQL function call for
converting a
+string to upper case. Use the token <code class="literal">{0}</code> to
represent the
+argument.
+ </p>
+ </li><li class="listitem" id="DBDicationary.TrailingDelimiter">
+ <p>
+ <a class="indexterm" name="d5e11104"></a>
+<code class="literal">TrailingDelimiter</code>: The characters to use as the
trailing delimiter
+for a delimited identifier. The default value is a double quote,
+<code class="literal">(")</code>. See
+<a class="xref"
href="ref_guide_dbsetup_dbsupport.html#ref_guide_dbsetup_dbsupport_delim_id"
title="4.7. Delimited Identifiers Support">Section 4.7, “
+ Delimited Identifiers Support
+ ”</a> for
+the default value for some specific databases.
+ </p>
+ </li><li class="listitem" id="DBDictionary.TrimBothFunction">
+ <p>
+ <a class="indexterm" name="d5e11112"></a>
+<code class="literal">TrimBothFunction</code>:
+The SQL function call to trim any number of a particular character
+from both the start and end of a string.
+Note: some databases do not support specifying the character in which
+case only spaces or whitespace can be trimmed.
+Use the token <code class="literal">{1}</code> when possible to represent the
character,
+and the token <code class="literal">{0}</code> to represent the string.
+Defaults to <code class="literal">"TRIM(BOTH {1} FROM {0})"</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.TrimLeadingFunction">
+ <p>
+ <a class="indexterm" name="d5e11121"></a>
+<code class="literal">TrimLeadingFunction</code>:
+The SQL function call to trim any number of a particular character
+from the start of a string.
+Note: some databases do not support specifying the character in which
+case only spaces or whitespace can be trimmed.
+Use the token <code class="literal">{1}</code> when possible to represent the
character,
+and the token <code class="literal">{0}</code> to represent the string.
+Defaults to <code class="literal">"TRIM(LEADING {1} FROM {0})"</code>.
+ </p>
+ </li><li class="listitem" id="DBDictionary.TrimStringColumns">
+ <p>
+ <a class="indexterm" name="d5e11130"></a>
+<code class="literal">TrimStringColumns</code>: When <code
class="literal">true</code>, the resulting String from
+<code class="methodname">ResultSet.getString</code> will be trimmed of
trailing white space. Defaults
+to <code class="literal">false</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.TrimTrailingFunction">
+ <p>
+ <a class="indexterm" name="d5e11139"></a>
+<code class="literal">TrimTrailingFunction</code>:
+The SQL function call to trim any number of a particular character
+from the end of a string.
+Note: some databases do not support specifying the character in which
+case only spaces or whitespace can be trimmed.
+Use the token <code class="literal">{1}</code> when possible to represent the
character,
+and the token <code class="literal">{0}</code> to represent the string.
+Defaults to <code class="literal">"TRIM(TRAILING {1} FROM {0})"</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.UseGetBestRowIdentifierForPrimaryKeys">
+ <p>
+ <a class="indexterm" name="d5e11148"></a>
+<code class="literal">UseGetBestRowIdentifierForPrimaryKeys</code>: When true,
+metadata queries will use <code
class="methodname">DatabaseMetaData.getBestRowIdentifier
+</code> to obtain information about primary keys, rather than <code
class="methodname">
+DatabaseMetaData.getPrimaryKeys</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.UseGetBytesForBlobs">
+ <p>
+ <a class="indexterm" name="d5e11157"></a>
+<code class="literal">UseGetBytesForBlobs</code>: When true, <code
class="methodname">
+ResultSet.getBytes</code> will be used to obtain blob data rather than
+<code class="methodname">ResultSet.getBinaryStream</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.UseGetObjectForBlobs">
+ <p>
+ <a class="indexterm" name="d5e11165"></a>
+<code class="literal">UseGetObjectForBlobs</code>: When true, <code
class="methodname">
+ResultSet.getObject</code> will be used to obtain blob data rather than
+<code class="methodname">ResultSet.getBinaryStream</code>.
+ </p>
+ </li><li class="listitem"
id="DBDictionary.UseGetStringForClobs">
+ <p>
+ <a class="indexterm" name="d5e11173"></a>
[... 426 lines stripped ...]