You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by il...@apache.org on 2025/03/28 08:14:50 UTC

(openjpa-site) branch builds updated: Documentation for OpenJPA 4.1.0 (#3)

This is an automated email from the ASF dual-hosted git repository.

ilgrosso pushed a commit to branch builds
in repository https://gitbox.apache.org/repos/asf/openjpa-site.git


The following commit(s) were added to refs/heads/builds by this push:
     new ba21de66a Documentation for OpenJPA 4.1.0 (#3)
ba21de66a is described below

commit ba21de66a5c89e936273800d0d2e83df64ae3f1e
Author: Francesco Chicchiriccò <il...@users.noreply.github.com>
AuthorDate: Fri Mar 28 09:14:45 2025 +0100

    Documentation for OpenJPA 4.1.0 (#3)
---
 4.1.0/apache-openjpa/RELEASE-NOTES.html            |   161 +
 4.1.0/apache-openjpa/docs/appendices.html          |   171 +
 4.1.0/apache-openjpa/docs/ch13s02.html             |    27 +
 4.1.0/apache-openjpa/docs/ch13s03.html             |    23 +
 4.1.0/apache-openjpa/docs/ch13s04.html             |    60 +
 4.1.0/apache-openjpa/docs/ch29s04.html             |   197 +
 4.1.0/apache-openjpa/docs/dbcompatible.html        |   198 +
 4.1.0/apache-openjpa/docs/dbsupport.html           |   132 +
 4.1.0/apache-openjpa/docs/dbsupport_access.html    |    36 +
 4.1.0/apache-openjpa/docs/dbsupport_db2.html       |    83 +
 4.1.0/apache-openjpa/docs/dbsupport_derby.html     |    24 +
 4.1.0/apache-openjpa/docs/dbsupport_empress.html   |    42 +
 4.1.0/apache-openjpa/docs/dbsupport_firebird.html  |    41 +
 4.1.0/apache-openjpa/docs/dbsupport_foxpro.html    |    36 +
 4.1.0/apache-openjpa/docs/dbsupport_h2.html        |    39 +
 .../apache-openjpa/docs/dbsupport_hypersonic.html  |    38 +
 4.1.0/apache-openjpa/docs/dbsupport_informix.html  |    37 +
 4.1.0/apache-openjpa/docs/dbsupport_ingres.html    |    38 +
 4.1.0/apache-openjpa/docs/dbsupport_interbase.html |    42 +
 .../docs/dbsupport_intersystems_cache.html         |    37 +
 .../apache-openjpa/docs/dbsupport_jdatastore.html  |    24 +
 4.1.0/apache-openjpa/docs/dbsupport_mariadb.html   |    46 +
 4.1.0/apache-openjpa/docs/dbsupport_mysql.html     |   108 +
 4.1.0/apache-openjpa/docs/dbsupport_oracle.html    |   142 +
 4.1.0/apache-openjpa/docs/dbsupport_pointbase.html |    39 +
 .../apache-openjpa/docs/dbsupport_postgresql.html  |    57 +
 4.1.0/apache-openjpa/docs/dbsupport_soliddb.html   |    70 +
 4.1.0/apache-openjpa/docs/dbsupport_sqlserver.html |    99 +
 4.1.0/apache-openjpa/docs/dbsupport_sybase.html    |    71 +
 4.1.0/apache-openjpa/docs/dbunverified.html        |    46 +
 .../docs/features_and_limitations.html             |   259 +
 4.1.0/apache-openjpa/docs/index.html               |  1633 +
 4.1.0/apache-openjpa/docs/introduction.html        |    25 +
 4.1.0/apache-openjpa/docs/jpa_2.2.html             |   207 +
 4.1.0/apache-openjpa/docs/jpa_2.3.html             |    85 +
 4.1.0/apache-openjpa/docs/jpa_3.2.html             |    77 +
 4.1.0/apache-openjpa/docs/jpa_langref.html         |  4101 ++
 4.1.0/apache-openjpa/docs/jpa_overview.html        |   469 +
 4.1.0/apache-openjpa/docs/jpa_overview_arch.html   |   196 +
 .../docs/jpa_overview_conclusion.html              |    18 +
 .../apache-openjpa/docs/jpa_overview_criteria.html |    95 +
 4.1.0/apache-openjpa/docs/jpa_overview_em.html     |   120 +
 .../apache-openjpa/docs/jpa_overview_em_cache.html |    88 +
 .../docs/jpa_overview_em_closing.html              |    36 +
 .../docs/jpa_overview_em_identity.html             |    69 +
 .../docs/jpa_overview_em_lifecycle.html            |   249 +
 .../docs/jpa_overview_em_lifeexamples.html         |   146 +
 .../docs/jpa_overview_em_locking.html              |   104 +
 .../docs/jpa_overview_em_properties.html           |    59 +
 .../apache-openjpa/docs/jpa_overview_em_query.html |    52 +
 .../docs/jpa_overview_emf_properties.html          |    59 +
 .../docs/jpa_overview_emfactory.html               |    83 +
 .../docs/jpa_overview_emfactory_close.html         |    44 +
 .../docs/jpa_overview_emfactory_em.html            |    69 +
 .../docs/jpa_overview_emfactory_perscontext.html   |   203 +
 .../docs/jpa_overview_emfactory_puutil.html        |    40 +
 4.1.0/apache-openjpa/docs/jpa_overview_intro.html  |    42 +
 .../docs/jpa_overview_intro_transpers.html         |    34 +
 .../apache-openjpa/docs/jpa_overview_mapping.html  |   340 +
 .../docs/jpa_overview_mapping_column.html          |   130 +
 .../docs/jpa_overview_mapping_discrim.html         |   369 +
 .../docs/jpa_overview_mapping_field.html           |  1424 +
 .../docs/jpa_overview_mapping_full.html            |   523 +
 .../docs/jpa_overview_mapping_id.html              |   171 +
 .../docs/jpa_overview_mapping_inher.html           |   712 +
 .../docs/jpa_overview_mapping_sequence.html        |   411 +
 .../docs/jpa_overview_mapping_unq.html             |    84 +
 4.1.0/apache-openjpa/docs/jpa_overview_meta.html   |   496 +
 .../docs/jpa_overview_meta_complete.html           |   342 +
 .../docs/jpa_overview_meta_field.html              |  1218 +
 .../apache-openjpa/docs/jpa_overview_meta_xml.html |  1749 +
 4.1.0/apache-openjpa/docs/jpa_overview_pc.html     |   474 +
 .../docs/jpa_overview_pc_callbacks.html            |   280 +
 .../docs/jpa_overview_pc_conclusion.html           |    21 +
 .../docs/jpa_overview_pc_identity.html             |   304 +
 .../docs/jpa_overview_persistence.html             |   502 +
 .../docs/jpa_overview_persistence_use.html         |    36 +
 4.1.0/apache-openjpa/docs/jpa_overview_query.html  |  1308 +
 .../apache-openjpa/docs/jpa_overview_sqlquery.html |    86 +
 .../docs/jpa_overview_sqlquery_obj.html            |    81 +
 4.1.0/apache-openjpa/docs/jpa_overview_trans.html  |   171 +
 .../docs/jpa_overview_trans_local.html             |    85 +
 4.1.0/apache-openjpa/docs/jpa_overview_why.html    |   424 +
 4.1.0/apache-openjpa/docs/jpa_resources.html       |    30 +
 4.1.0/apache-openjpa/docs/main.html                |    41 +
 4.1.0/apache-openjpa/docs/manual.html              | 42669 +++++++++++++++++++
 4.1.0/apache-openjpa/docs/manual.pdf               |   Bin 0 -> 4525275 bytes
 .../docs/migration_considerations.html             |   427 +
 4.1.0/apache-openjpa/docs/openjpa_intro.html       |    60 +
 4.1.0/apache-openjpa/docs/openjpa_legal.html       |    44 +
 .../docs/openjpa_legal_copyright.html              |    56 +
 .../apache-openjpa/docs/openjpa_legal_notice.html  |    35 +
 4.1.0/apache-openjpa/docs/ref_guide.html           |   709 +
 4.1.0/apache-openjpa/docs/ref_guide_audit.html     |   103 +
 .../docs/ref_guide_cache_querycomp.html            |    54 +
 .../docs/ref_guide_cache_querysql.html             |   172 +
 4.1.0/apache-openjpa/docs/ref_guide_caching.html   |  1062 +
 4.1.0/apache-openjpa/docs/ref_guide_conf.html      |   217 +
 .../docs/ref_guide_conf_devtools.html              |   127 +
 4.1.0/apache-openjpa/docs/ref_guide_conf_jdbc.html |   769 +
 .../docs/ref_guide_conf_openjpa.html               |  2611 ++
 .../docs/ref_guide_conf_plugins.html               |    91 +
 .../docs/ref_guide_conf_specify.html               |    91 +
 4.1.0/apache-openjpa/docs/ref_guide_dbsetup.html   |   253 +
 .../docs/ref_guide_dbsetup_dbsupport.html          |  1964 +
 .../docs/ref_guide_dbsetup_isolation.html          |    64 +
 .../apache-openjpa/docs/ref_guide_dbsetup_lrs.html |   180 +
 .../docs/ref_guide_dbsetup_multidb.html            |    24 +
 .../docs/ref_guide_dbsetup_retain.html             |   201 +
 .../docs/ref_guide_dbsetup_sql92.html              |    78 +
 .../docs/ref_guide_dbsetup_sqlconn.html            |    82 +
 .../docs/ref_guide_dbsetup_stmtbatch.html          |   103 +
 .../docs/ref_guide_dbsetup_thirdparty.html         |   237 +
 4.1.0/apache-openjpa/docs/ref_guide_deploy.html    |    80 +
 .../apache-openjpa/docs/ref_guide_encryption.html  |    34 +
 .../docs/ref_guide_enterprise_abstractstore.html   |    25 +
 .../docs/ref_guide_enterprise_methodql.html        |    80 +
 .../docs/ref_guide_enterprise_trans.html           |   110 +
 .../docs/ref_guide_enterprise_xa.html              |    92 +
 4.1.0/apache-openjpa/docs/ref_guide_event.html     |   256 +
 4.1.0/apache-openjpa/docs/ref_guide_fetch.html     |   360 +
 .../docs/ref_guide_instrumentation.html            |    88 +
 .../docs/ref_guide_instrumentation_custom.html     |    53 +
 .../apache-openjpa/docs/ref_guide_integration.html |   447 +
 .../docs/ref_guide_integration_dbcp.html           |    52 +
 4.1.0/apache-openjpa/docs/ref_guide_intro.html     |    36 +
 4.1.0/apache-openjpa/docs/ref_guide_inverses.html  |   114 +
 4.1.0/apache-openjpa/docs/ref_guide_locking.html   |   403 +
 4.1.0/apache-openjpa/docs/ref_guide_logging.html   |   193 +
 .../docs/ref_guide_logging_commons.html            |    93 +
 .../docs/ref_guide_logging_custom.html             |    79 +
 .../docs/ref_guide_logging_log4j.html              |    50 +
 .../docs/ref_guide_logging_noop.html               |    26 +
 .../docs/ref_guide_logging_openjpa.html            |    83 +
 .../docs/ref_guide_logging_slf4j.html              |    28 +
 4.1.0/apache-openjpa/docs/ref_guide_mapping.html   |   461 +
 .../docs/ref_guide_mapping_custom.html             |   174 +
 .../docs/ref_guide_mapping_defaults.html           |   293 +
 .../apache-openjpa/docs/ref_guide_mapping_ext.html |   263 +
 .../docs/ref_guide_mapping_factory.html            |    56 +
 .../apache-openjpa/docs/ref_guide_mapping_jpa.html |  1369 +
 .../docs/ref_guide_mapping_limits.html             |    63 +
 .../docs/ref_guide_mapping_middle.html             |    47 +
 .../docs/ref_guide_mapping_notes_nonstdjoins.html  |   131 +
 4.1.0/apache-openjpa/docs/ref_guide_meta.html      |   149 +
 4.1.0/apache-openjpa/docs/ref_guide_meta_ext.html  |   540 +
 4.1.0/apache-openjpa/docs/ref_guide_meta_jpa.html  |   233 +
 .../docs/ref_guide_meta_repository.html            |    30 +
 .../docs/ref_guide_optimization.html               |   509 +
 4.1.0/apache-openjpa/docs/ref_guide_orphan.html    |    86 +
 4.1.0/apache-openjpa/docs/ref_guide_pc.html        |   152 +
 .../apache-openjpa/docs/ref_guide_pc_enhance.html  |   411 +
 .../docs/ref_guide_pc_interfaces.html              |    42 +
 4.1.0/apache-openjpa/docs/ref_guide_pc_oid.html    |   406 +
 .../apache-openjpa/docs/ref_guide_pc_reverse.html  |   446 +
 4.1.0/apache-openjpa/docs/ref_guide_pc_scos.html   |   724 +
 .../docs/ref_guide_perfpack_eager.html             |   291 +
 4.1.0/apache-openjpa/docs/ref_guide_remote.html    |   420 +
 4.1.0/apache-openjpa/docs/ref_guide_runtime.html   |   222 +
 .../apache-openjpa/docs/ref_guide_runtime_jpa.html |   242 +
 .../docs/ref_guide_runtime_pm_event.html           |    42 +
 .../apache-openjpa/docs/ref_guide_savepoints.html  |   143 +
 .../apache-openjpa/docs/ref_guide_schema_def.html  |    47 +
 .../apache-openjpa/docs/ref_guide_schema_info.html |   162 +
 .../docs/ref_guide_schema_schematool.html          |   286 +
 .../apache-openjpa/docs/ref_guide_schema_xml.html  |   163 +
 4.1.0/apache-openjpa/docs/ref_guide_sequence.html  |   296 +
 4.1.0/apache-openjpa/docs/ref_guide_slice.html     |    50 +
 4.1.0/apache-openjpa/docs/slice_configuration.html |   177 +
 4.1.0/apache-openjpa/docs/supported_databases.html |   158 +
 4.1.0/apidocs/allclasses-index.html                |  1838 +
 4.1.0/apidocs/allclasses.html                      |   287 +
 4.1.0/apidocs/allpackages-index.html               |   245 +
 4.1.0/apidocs/constant-values.html                 |   927 +
 4.1.0/apidocs/deprecated-list.html                 |   200 +
 4.1.0/apidocs/element-list                         |    15 +
 4.1.0/apidocs/help-doc.html                        |   281 +
 4.1.0/apidocs/index-all.html                       | 12263 ++++++
 4.1.0/apidocs/index.html                           |   241 +
 4.1.0/apidocs/jquery-ui.overrides.css              |    35 +
 4.1.0/apidocs/jquery/external/jquery/jquery.js     | 10872 +++++
 4.1.0/apidocs/jquery/jquery-3.7.1.min.js           |     2 +
 4.1.0/apidocs/jquery/jquery-ui.min.css             |     6 +
 4.1.0/apidocs/jquery/jquery-ui.min.js              |     6 +
 .../jquery/jszip-utils/dist/jszip-utils-ie.js      |    56 +
 .../jquery/jszip-utils/dist/jszip-utils-ie.min.js  |    10 +
 .../apidocs/jquery/jszip-utils/dist/jszip-utils.js |   118 +
 .../jquery/jszip-utils/dist/jszip-utils.min.js     |    10 +
 4.1.0/apidocs/jquery/jszip/dist/jszip.js           | 11370 +++++
 4.1.0/apidocs/jquery/jszip/dist/jszip.min.js       |    13 +
 4.1.0/apidocs/legal/ADDITIONAL_LICENSE_INFO        |    37 +
 4.1.0/apidocs/legal/ASSEMBLY_EXCEPTION             |    27 +
 4.1.0/apidocs/legal/LICENSE                        |   347 +
 4.1.0/apidocs/legal/jquery.md                      |    26 +
 4.1.0/apidocs/legal/jqueryUI.md                    |    49 +
 4.1.0/apidocs/legal/jszip.md                       |   653 +
 4.1.0/apidocs/legal/pako.md                        |    45 +
 4.1.0/apidocs/member-search-index.js               |     1 +
 4.1.0/apidocs/member-search-index.zip              |   Bin 0 -> 35994 bytes
 .../org/apache/openjpa/lib/ant/AbstractTask.html   |   691 +
 .../openjpa/lib/ant/class-use/AbstractTask.html    |   149 +
 .../apache/openjpa/lib/ant/package-summary.html    |   179 +
 .../org/apache/openjpa/lib/ant/package-tree.html   |   176 +
 .../org/apache/openjpa/lib/ant/package-use.html    |   149 +
 .../lib/conf/AbstractProductDerivation.html        |   705 +
 .../org/apache/openjpa/lib/conf/BooleanValue.html  |   457 +
 .../openjpa/lib/conf/BootstrapException.html       |   397 +
 .../apache/openjpa/lib/conf/ClassListValue.html    |   450 +
 .../org/apache/openjpa/lib/conf/Configurable.html  |   300 +
 .../org/apache/openjpa/lib/conf/Configuration.html |  1028 +
 .../apache/openjpa/lib/conf/ConfigurationImpl.html |  1671 +
 .../openjpa/lib/conf/ConfigurationProvider.html    |   323 +
 .../openjpa/lib/conf/Configurations.Runnable.html  |   260 +
 .../apache/openjpa/lib/conf/Configurations.html    |   915 +
 .../org/apache/openjpa/lib/conf/DoubleValue.html   |   457 +
 .../org/apache/openjpa/lib/conf/FileValue.html     |   457 +
 .../openjpa/lib/conf/GenericConfigurable.html      |   271 +
 .../org/apache/openjpa/lib/conf/IntValue.html      |   457 +
 .../openjpa/lib/conf/MapConfigurationProvider.html |   437 +
 .../org/apache/openjpa/lib/conf/ObjectValue.html   |   608 +
 .../apache/openjpa/lib/conf/PluginListValue.html   |   575 +
 .../org/apache/openjpa/lib/conf/PluginValue.html   |   656 +
 .../apache/openjpa/lib/conf/ProductDerivation.html |   680 +
 .../openjpa/lib/conf/ProductDerivations.html       |   593 +
 .../apache/openjpa/lib/conf/StringListValue.html   |   526 +
 .../org/apache/openjpa/lib/conf/StringValue.html   |   457 +
 .../apidocs/org/apache/openjpa/lib/conf/Value.html |  1323 +
 .../org/apache/openjpa/lib/conf/ValueListener.html |   263 +
 .../conf/class-use/AbstractProductDerivation.html  |   149 +
 .../openjpa/lib/conf/class-use/BooleanValue.html   |   197 +
 .../lib/conf/class-use/BootstrapException.html     |   195 +
 .../openjpa/lib/conf/class-use/ClassListValue.html |   149 +
 .../openjpa/lib/conf/class-use/Configurable.html   |   259 +
 .../openjpa/lib/conf/class-use/Configuration.html  |   579 +
 .../lib/conf/class-use/ConfigurationImpl.html      |   198 +
 .../lib/conf/class-use/ConfigurationProvider.html  |   331 +
 .../conf/class-use/Configurations.Runnable.html    |   199 +
 .../openjpa/lib/conf/class-use/Configurations.html |   149 +
 .../openjpa/lib/conf/class-use/DoubleValue.html    |   197 +
 .../openjpa/lib/conf/class-use/FileValue.html      |   197 +
 .../lib/conf/class-use/GenericConfigurable.html    |   197 +
 .../openjpa/lib/conf/class-use/IntValue.html       |   197 +
 .../conf/class-use/MapConfigurationProvider.html   |   149 +
 .../openjpa/lib/conf/class-use/ObjectValue.html    |   236 +
 .../lib/conf/class-use/PluginListValue.html        |   197 +
 .../openjpa/lib/conf/class-use/PluginValue.html    |   198 +
 .../lib/conf/class-use/ProductDerivation.html      |   214 +
 .../lib/conf/class-use/ProductDerivations.html     |   149 +
 .../lib/conf/class-use/StringListValue.html        |   197 +
 .../openjpa/lib/conf/class-use/StringValue.html    |   212 +
 .../apache/openjpa/lib/conf/class-use/Value.html   |   359 +
 .../openjpa/lib/conf/class-use/ValueListener.html  |   236 +
 .../apache/openjpa/lib/conf/package-summary.html   |   340 +
 .../org/apache/openjpa/lib/conf/package-tree.html  |   229 +
 .../org/apache/openjpa/lib/conf/package-use.html   |   409 +
 .../openjpa/lib/encryption/EncryptionProvider.html |   286 +
 .../encryption/class-use/EncryptionProvider.html   |   149 +
 .../openjpa/lib/encryption/package-summary.html    |   170 +
 .../openjpa/lib/encryption/package-tree.html       |   160 +
 .../apache/openjpa/lib/encryption/package-use.html |   149 +
 .../apache/openjpa/lib/graph/BreadthFirstWalk.html |   414 +
 .../openjpa/lib/graph/DepthFirstAnalysis.html      |   405 +
 .../apidocs/org/apache/openjpa/lib/graph/Edge.html |   752 +
 .../org/apache/openjpa/lib/graph/Graph.html        |   518 +
 .../org/apache/openjpa/lib/graph/GraphVisitor.html |   298 +
 .../lib/graph/class-use/BreadthFirstWalk.html      |   149 +
 .../lib/graph/class-use/DepthFirstAnalysis.html    |   149 +
 .../apache/openjpa/lib/graph/class-use/Edge.html   |   288 +
 .../apache/openjpa/lib/graph/class-use/Graph.html  |   199 +
 .../openjpa/lib/graph/class-use/GraphVisitor.html  |   204 +
 .../apache/openjpa/lib/graph/package-summary.html  |   216 +
 .../org/apache/openjpa/lib/graph/package-tree.html |   173 +
 .../org/apache/openjpa/lib/graph/package-use.html  |   201 +
 .../apache/openjpa/lib/identifier/Identifier.html  |   296 +
 .../lib/identifier/IdentifierConfiguration.html    |   461 +
 .../openjpa/lib/identifier/IdentifierImpl.html     |   455 +
 .../openjpa/lib/identifier/IdentifierRule.html     |   750 +
 .../openjpa/lib/identifier/IdentifierUtil.html     |  1496 +
 .../openjpa/lib/identifier/IdentifierUtilImpl.html |  1875 +
 .../lib/identifier/class-use/Identifier.html       |   210 +
 .../class-use/IdentifierConfiguration.html         |   396 +
 .../lib/identifier/class-use/IdentifierImpl.html   |   149 +
 .../lib/identifier/class-use/IdentifierRule.html   |   613 +
 .../lib/identifier/class-use/IdentifierUtil.html   |   195 +
 .../identifier/class-use/IdentifierUtilImpl.html   |   149 +
 .../openjpa/lib/identifier/package-summary.html    |   210 +
 .../openjpa/lib/identifier/package-tree.html       |   183 +
 .../apache/openjpa/lib/identifier/package-use.html |   204 +
 .../lib/instrumentation/AbstractInstrument.html    |   590 +
 .../AbstractInstrumentationProvider.html           |   841 +
 .../openjpa/lib/instrumentation/Instrument.html    |   516 +
 .../lib/instrumentation/InstrumentationLevel.html  |   421 +
 .../instrumentation/InstrumentationProvider.html   |   687 +
 .../class-use/AbstractInstrument.html              |   149 +
 .../class-use/AbstractInstrumentationProvider.html |   149 +
 .../lib/instrumentation/class-use/Instrument.html  |   318 +
 .../class-use/InstrumentationLevel.html            |   253 +
 .../class-use/InstrumentationProvider.html         |   240 +
 .../lib/instrumentation/package-summary.html       |   217 +
 .../openjpa/lib/instrumentation/package-tree.html  |   186 +
 .../openjpa/lib/instrumentation/package-use.html   |   199 +
 .../openjpa/lib/jdbc/AbstractJDBCListener.html     |   590 +
 ...gConnectionDecorator.ConfiguringConnection.html |   532 +
 .../lib/jdbc/ConfiguringConnectionDecorator.html   |   467 +
 .../openjpa/lib/jdbc/ConnectionDecorator.html      |   269 +
 .../apache/openjpa/lib/jdbc/DataSourceLogs.html    |   480 +
 .../openjpa/lib/jdbc/DecoratingDataSource.html     |   466 +
 .../lib/jdbc/DelegatingCallableStatement.html      |  5319 +++
 .../openjpa/lib/jdbc/DelegatingConnection.html     |  1966 +
 .../openjpa/lib/jdbc/DelegatingDataSource.html     |   642 +
 .../lib/jdbc/DelegatingDatabaseMetaData.html       |  4227 ++
 .../lib/jdbc/DelegatingPreparedStatement.html      |  2782 ++
 .../openjpa/lib/jdbc/DelegatingResultSet.html      |  4697 ++
 .../openjpa/lib/jdbc/DelegatingStatement.html      |  1460 +
 .../org/apache/openjpa/lib/jdbc/JDBCEvent.html     |   725 +
 .../lib/jdbc/JDBCEventConnectionDecorator.html     |   379 +
 .../org/apache/openjpa/lib/jdbc/JDBCListener.html  |   464 +
 ...LoggingConnection.LoggingCallableStatement.html |  1598 +
 ....LoggingConnection.LoggingDatabaseMetaData.html |   832 +
 ...LoggingConnection.LoggingPreparedStatement.html |  1603 +
 ...corator.LoggingConnection.LoggingResultSet.html |   551 +
 ...corator.LoggingConnection.LoggingStatement.html |   630 +
 ...ggingConnectionDecorator.LoggingConnection.html |   867 +
 ...ggingConnectionDecorator.SQLWarningHandler.html |   262 +
 .../lib/jdbc/LoggingConnectionDecorator.html       |   562 +
 .../openjpa/lib/jdbc/ReportingSQLException.html    |   452 +
 .../org/apache/openjpa/lib/jdbc/SQLFormatter.html  |   516 +
 .../lib/jdbc/class-use/AbstractJDBCListener.html   |   149 +
 ...gConnectionDecorator.ConfiguringConnection.html |   149 +
 .../class-use/ConfiguringConnectionDecorator.html  |   149 +
 .../lib/jdbc/class-use/ConnectionDecorator.html    |   272 +
 .../openjpa/lib/jdbc/class-use/DataSourceLogs.html |   197 +
 .../lib/jdbc/class-use/DecoratingDataSource.html   |   149 +
 .../class-use/DelegatingCallableStatement.html     |   197 +
 .../lib/jdbc/class-use/DelegatingConnection.html   |   204 +
 .../lib/jdbc/class-use/DelegatingDataSource.html   |   197 +
 .../jdbc/class-use/DelegatingDatabaseMetaData.html |   197 +
 .../class-use/DelegatingPreparedStatement.html     |   195 +
 .../lib/jdbc/class-use/DelegatingResultSet.html    |   197 +
 .../lib/jdbc/class-use/DelegatingStatement.html    |   198 +
 .../openjpa/lib/jdbc/class-use/JDBCEvent.html      |   363 +
 .../class-use/JDBCEventConnectionDecorator.html    |   149 +
 .../openjpa/lib/jdbc/class-use/JDBCListener.html   |   198 +
 ...LoggingConnection.LoggingCallableStatement.html |   149 +
 ....LoggingConnection.LoggingDatabaseMetaData.html |   149 +
 ...LoggingConnection.LoggingPreparedStatement.html |   149 +
 ...corator.LoggingConnection.LoggingResultSet.html |   149 +
 ...corator.LoggingConnection.LoggingStatement.html |   149 +
 ...ggingConnectionDecorator.LoggingConnection.html |   149 +
 ...ggingConnectionDecorator.SQLWarningHandler.html |   214 +
 .../jdbc/class-use/LoggingConnectionDecorator.html |   149 +
 .../lib/jdbc/class-use/ReportingSQLException.html  |   149 +
 .../openjpa/lib/jdbc/class-use/SQLFormatter.html   |   149 +
 .../apache/openjpa/lib/jdbc/package-summary.html   |   318 +
 .../org/apache/openjpa/lib/jdbc/package-tree.html  |   235 +
 .../org/apache/openjpa/lib/jdbc/package-use.html   |   256 +
 .../org/apache/openjpa/lib/log/AbstractLog.html    |   766 +
 .../lib/log/CommonsLogFactory.LogAdapter.html      |   675 +
 .../apache/openjpa/lib/log/CommonsLogFactory.html  |   364 +
 .../org/apache/openjpa/lib/log/JULLogFactory.html  |   386 +
 4.1.0/apidocs/org/apache/openjpa/lib/log/Log.html  |   669 +
 .../lib/log/Log4J2LogFactory.LogAdapter.html       |   675 +
 .../apache/openjpa/lib/log/Log4J2LogFactory.html   |   360 +
 .../lib/log/Log4JLogFactory.LogAdapter.html        |   675 +
 .../apache/openjpa/lib/log/Log4JLogFactory.html    |   363 +
 .../org/apache/openjpa/lib/log/LogFactory.html     |   263 +
 .../apache/openjpa/lib/log/LogFactoryAdapter.html  |   348 +
 .../openjpa/lib/log/LogFactoryImpl.LogImpl.html    |   467 +
 .../org/apache/openjpa/lib/log/LogFactoryImpl.html |   788 +
 .../apache/openjpa/lib/log/LogOutputStream.html    |   379 +
 .../apache/openjpa/lib/log/MultiLogFactory.html    |   411 +
 .../openjpa/lib/log/NoneLogFactory.NoneLog.html    |   714 +
 .../org/apache/openjpa/lib/log/NoneLogFactory.html |   351 +
 .../lib/log/SLF4JLogFactory.LogAdapter.html        |   719 +
 .../apache/openjpa/lib/log/SLF4JLogFactory.html    |   359 +
 .../openjpa/lib/log/class-use/AbstractLog.html     |   197 +
 .../class-use/CommonsLogFactory.LogAdapter.html    |   149 +
 .../lib/log/class-use/CommonsLogFactory.html       |   149 +
 .../openjpa/lib/log/class-use/JULLogFactory.html   |   149 +
 .../org/apache/openjpa/lib/log/class-use/Log.html  |   538 +
 .../log/class-use/Log4J2LogFactory.LogAdapter.html |   149 +
 .../lib/log/class-use/Log4J2LogFactory.html        |   149 +
 .../log/class-use/Log4JLogFactory.LogAdapter.html  |   149 +
 .../openjpa/lib/log/class-use/Log4JLogFactory.html |   149 +
 .../openjpa/lib/log/class-use/LogFactory.html      |   379 +
 .../lib/log/class-use/LogFactoryAdapter.html       |   219 +
 .../lib/log/class-use/LogFactoryImpl.LogImpl.html  |   197 +
 .../openjpa/lib/log/class-use/LogFactoryImpl.html  |   149 +
 .../openjpa/lib/log/class-use/LogOutputStream.html |   149 +
 .../openjpa/lib/log/class-use/MultiLogFactory.html |   149 +
 .../lib/log/class-use/NoneLogFactory.NoneLog.html  |   195 +
 .../openjpa/lib/log/class-use/NoneLogFactory.html  |   149 +
 .../log/class-use/SLF4JLogFactory.LogAdapter.html  |   149 +
 .../openjpa/lib/log/class-use/SLF4JLogFactory.html |   149 +
 .../apache/openjpa/lib/log/package-summary.html    |   300 +
 .../org/apache/openjpa/lib/log/package-tree.html   |   201 +
 .../org/apache/openjpa/lib/log/package-use.html    |   300 +
 .../apache/openjpa/lib/meta/CFMetaDataParser.html  |   896 +
 .../openjpa/lib/meta/CFMetaDataSerializer.html     |   428 +
 ...ationMetaDataFilter.MatchAnnotationScanner.html |   346 +
 .../lib/meta/ClassAnnotationMetaDataFilter.html    |   407 +
 .../lib/meta/ClassArgParser.ClassNameScanner.html  |   354 +
 .../apache/openjpa/lib/meta/ClassArgParser.html    |   510 +
 .../openjpa/lib/meta/ClassMetaDataIterator.html    |   464 +
 .../lib/meta/ClasspathMetaDataIterator.html        |   324 +
 .../openjpa/lib/meta/FileMetaDataIterator.html     |   451 +
 .../lib/meta/JarFileURLMetaDataIterator.html       |   470 +
 .../openjpa/lib/meta/MetaDataFilter.Resource.html  |   285 +
 .../apache/openjpa/lib/meta/MetaDataFilter.html    |   294 +
 .../apache/openjpa/lib/meta/MetaDataIterator.html  |   362 +
 .../openjpa/lib/meta/MetaDataIteratorChain.html    |   471 +
 .../apache/openjpa/lib/meta/MetaDataParser.html    |   444 +
 .../openjpa/lib/meta/MetaDataSerializer.html       |   458 +
 .../openjpa/lib/meta/ResourceMetaDataIterator.html |   454 +
 .../org/apache/openjpa/lib/meta/SourceTracker.html |   432 +
 .../apache/openjpa/lib/meta/SourceTrackers.html    |   322 +
 .../openjpa/lib/meta/SuffixMetaDataFilter.html     |   345 +
 .../openjpa/lib/meta/URLMetaDataIterator.html      |   426 +
 .../apache/openjpa/lib/meta/XMLMetaDataParser.html |  1728 +
 .../openjpa/lib/meta/XMLMetaDataSerializer.html    |   832 +
 .../apache/openjpa/lib/meta/XMLVersionParser.html  |   566 +
 .../openjpa/lib/meta/ZipFileMetaDataIterator.html  |   501 +
 .../lib/meta/ZipStreamMetaDataIterator.html        |   475 +
 .../lib/meta/class-use/CFMetaDataParser.html       |   149 +
 .../lib/meta/class-use/CFMetaDataSerializer.html   |   149 +
 ...ationMetaDataFilter.MatchAnnotationScanner.html |   149 +
 .../class-use/ClassAnnotationMetaDataFilter.html   |   149 +
 .../class-use/ClassArgParser.ClassNameScanner.html |   149 +
 .../openjpa/lib/meta/class-use/ClassArgParser.html |   149 +
 .../lib/meta/class-use/ClassMetaDataIterator.html  |   149 +
 .../meta/class-use/ClasspathMetaDataIterator.html  |   149 +
 .../lib/meta/class-use/FileMetaDataIterator.html   |   149 +
 .../meta/class-use/JarFileURLMetaDataIterator.html |   149 +
 .../meta/class-use/MetaDataFilter.Resource.html    |   238 +
 .../openjpa/lib/meta/class-use/MetaDataFilter.html |   255 +
 .../lib/meta/class-use/MetaDataIterator.html       |   330 +
 .../lib/meta/class-use/MetaDataIteratorChain.html  |   197 +
 .../openjpa/lib/meta/class-use/MetaDataParser.html |   213 +
 .../lib/meta/class-use/MetaDataSerializer.html     |   205 +
 .../meta/class-use/ResourceMetaDataIterator.html   |   149 +
 .../openjpa/lib/meta/class-use/SourceTracker.html  |   198 +
 .../openjpa/lib/meta/class-use/SourceTrackers.html |   149 +
 .../lib/meta/class-use/SuffixMetaDataFilter.html   |   149 +
 .../lib/meta/class-use/URLMetaDataIterator.html    |   149 +
 .../lib/meta/class-use/XMLMetaDataParser.html      |   206 +
 .../lib/meta/class-use/XMLMetaDataSerializer.html  |   197 +
 .../lib/meta/class-use/XMLVersionParser.html       |   149 +
 .../meta/class-use/ZipFileMetaDataIterator.html    |   149 +
 .../meta/class-use/ZipStreamMetaDataIterator.html  |   149 +
 .../apache/openjpa/lib/meta/package-summary.html   |   332 +
 .../org/apache/openjpa/lib/meta/package-tree.html  |   215 +
 .../org/apache/openjpa/lib/meta/package-use.html   |   238 +
 .../lib/rop/AbstractNonSequentialResultList.html   |   580 +
 .../apache/openjpa/lib/rop/AbstractResultList.html |   593 +
 .../lib/rop/AbstractSequentialResultList.html      |   521 +
 .../lib/rop/BatchedResultObjectProvider.html       |   375 +
 .../apache/openjpa/lib/rop/EagerResultList.html    |   333 +
 .../openjpa/lib/rop/LazyForwardResultList.html     |   570 +
 .../org/apache/openjpa/lib/rop/ListResultList.html |   631 +
 .../openjpa/lib/rop/ListResultObjectProvider.html  |   555 +
 .../lib/rop/MergedResultObjectProvider.html        |   590 +
 .../openjpa/lib/rop/RandomAccessResultList.html    |   562 +
 .../openjpa/lib/rop/RangeResultObjectProvider.html |   571 +
 .../org/apache/openjpa/lib/rop/ResultList.html     |   370 +
 .../apache/openjpa/lib/rop/ResultListIterator.html |   470 +
 .../openjpa/lib/rop/ResultObjectProvider.html      |   465 +
 .../lib/rop/ResultObjectProviderIterator.html      |   406 +
 .../apache/openjpa/lib/rop/SimpleResultList.html   |   479 +
 .../lib/rop/SoftRandomAccessResultList.html        |   403 +
 .../apache/openjpa/lib/rop/WindowResultList.html   |   491 +
 .../class-use/AbstractNonSequentialResultList.html |   221 +
 .../lib/rop/class-use/AbstractResultList.html      |   256 +
 .../class-use/AbstractSequentialResultList.html    |   197 +
 .../rop/class-use/BatchedResultObjectProvider.html |   149 +
 .../openjpa/lib/rop/class-use/EagerResultList.html |   149 +
 .../lib/rop/class-use/LazyForwardResultList.html   |   149 +
 .../openjpa/lib/rop/class-use/ListResultList.html  |   197 +
 .../rop/class-use/ListResultObjectProvider.html    |   149 +
 .../rop/class-use/MergedResultObjectProvider.html  |   149 +
 .../lib/rop/class-use/RandomAccessResultList.html  |   198 +
 .../rop/class-use/RangeResultObjectProvider.html   |   149 +
 .../openjpa/lib/rop/class-use/ResultList.html      |   292 +
 .../lib/rop/class-use/ResultListIterator.html      |   149 +
 .../lib/rop/class-use/ResultObjectProvider.html    |   336 +
 .../class-use/ResultObjectProviderIterator.html    |   149 +
 .../lib/rop/class-use/SimpleResultList.html        |   149 +
 .../rop/class-use/SoftRandomAccessResultList.html  |   149 +
 .../lib/rop/class-use/WindowResultList.html        |   149 +
 .../apache/openjpa/lib/rop/package-summary.html    |   298 +
 .../org/apache/openjpa/lib/rop/package-tree.html   |   226 +
 .../org/apache/openjpa/lib/rop/package-use.html    |   224 +
 .../org/apache/openjpa/lib/util/Base16Encoder.html |   332 +
 .../apidocs/org/apache/openjpa/lib/util/Bytes.html |   434 +
 .../org/apache/openjpa/lib/util/ClassUtil.html     |   376 +
 .../org/apache/openjpa/lib/util/Clearable.html     |   253 +
 .../org/apache/openjpa/lib/util/Closeable.html     |   270 +
 .../org/apache/openjpa/lib/util/CodeFormat.html    |  1419 +
 .../org/apache/openjpa/lib/util/EventManager.html  |   348 +
 .../apidocs/org/apache/openjpa/lib/util/Files.html |   538 +
 ...PreservingProperties.DuplicateKeyException.html |   307 +
 .../lib/util/FormatPreservingProperties.html       |   807 +
 .../apache/openjpa/lib/util/J2DoPrivHelper.html    |  1815 +
 .../org/apache/openjpa/lib/util/JavaVendors.html   |   458 +
 .../org/apache/openjpa/lib/util/JavaVersions.html  |   377 +
 .../org/apache/openjpa/lib/util/LRUMap.html        |   696 +
 .../apache/openjpa/lib/util/Localizer.Message.html |   343 +
 .../org/apache/openjpa/lib/util/Localizer.html     |   594 +
 .../apache/openjpa/lib/util/MultiClassLoader.html  |   735 +
 .../org/apache/openjpa/lib/util/Options.html       |   834 +
 .../org/apache/openjpa/lib/util/OrderedMap.html    |   588 +
 .../apache/openjpa/lib/util/ParameterTemplate.html |   704 +
 .../apache/openjpa/lib/util/ParseException.html    |   373 +
 .../apache/openjpa/lib/util/ReferenceHashMap.html  |   738 +
 .../apache/openjpa/lib/util/ReferenceHashSet.html  |   635 +
 .../org/apache/openjpa/lib/util/ReferenceMap.html  |   335 +
 .../org/apache/openjpa/lib/util/Reflectable.html   |   256 +
 .../org/apache/openjpa/lib/util/Services.html      |   490 +
 .../org/apache/openjpa/lib/util/SimpleRegex.html   |   315 +
 .../org/apache/openjpa/lib/util/SizedMap.html      |   346 +
 .../apache/openjpa/lib/util/StringDistance.html    |   488 +
 .../org/apache/openjpa/lib/util/StringUtil.html    |   656 +
 .../util/TemporaryClassLoader.AccessScanner.html   |   354 +
 .../openjpa/lib/util/TemporaryClassLoader.html     |   380 +
 .../apache/openjpa/lib/util/TimestampHelper.html   |   395 +
 .../apache/openjpa/lib/util/TypedProperties.html   |  1006 +
 .../org/apache/openjpa/lib/util/UUIDGenerator.html |   439 +
 .../openjpa/lib/util/class-use/Base16Encoder.html  |   149 +
 .../apache/openjpa/lib/util/class-use/Bytes.html   |   149 +
 .../openjpa/lib/util/class-use/ClassUtil.html      |   149 +
 .../openjpa/lib/util/class-use/Clearable.html      |   149 +
 .../openjpa/lib/util/class-use/Closeable.html      |   588 +
 .../openjpa/lib/util/class-use/CodeFormat.html     |   359 +
 .../openjpa/lib/util/class-use/EventManager.html   |   228 +
 .../apache/openjpa/lib/util/class-use/Files.html   |   149 +
 ...PreservingProperties.DuplicateKeyException.html |   149 +
 .../util/class-use/FormatPreservingProperties.html |   149 +
 .../openjpa/lib/util/class-use/J2DoPrivHelper.html |   149 +
 .../openjpa/lib/util/class-use/JavaVendors.html    |   212 +
 .../openjpa/lib/util/class-use/JavaVersions.html   |   149 +
 .../apache/openjpa/lib/util/class-use/LRUMap.html  |   149 +
 .../lib/util/class-use/Localizer.Message.html      |   322 +
 .../openjpa/lib/util/class-use/Localizer.html      |   207 +
 .../lib/util/class-use/MultiClassLoader.html       |   245 +
 .../apache/openjpa/lib/util/class-use/Options.html |   322 +
 .../openjpa/lib/util/class-use/OrderedMap.html     |   149 +
 .../lib/util/class-use/ParameterTemplate.html      |   274 +
 .../openjpa/lib/util/class-use/ParseException.html |   149 +
 .../lib/util/class-use/ReferenceHashMap.html       |   149 +
 .../lib/util/class-use/ReferenceHashSet.html       |   149 +
 .../openjpa/lib/util/class-use/ReferenceMap.html   |   228 +
 .../openjpa/lib/util/class-use/Reflectable.html    |   149 +
 .../openjpa/lib/util/class-use/Services.html       |   149 +
 .../openjpa/lib/util/class-use/SimpleRegex.html    |   149 +
 .../openjpa/lib/util/class-use/SizedMap.html       |   243 +
 .../openjpa/lib/util/class-use/StringDistance.html |   149 +
 .../openjpa/lib/util/class-use/StringUtil.html     |   149 +
 .../TemporaryClassLoader.AccessScanner.html        |   149 +
 .../lib/util/class-use/TemporaryClassLoader.html   |   197 +
 .../lib/util/class-use/TimestampHelper.html        |   149 +
 .../lib/util/class-use/TypedProperties.html        |   200 +
 .../openjpa/lib/util/class-use/UUIDGenerator.html  |   149 +
 .../collections/AbstractCollectionDecorator.html   |   710 +
 .../AbstractDualBidiMap.BidiMapIterator.html       |   615 +
 .../collections/AbstractDualBidiMap.EntrySet.html  |   424 +
 .../AbstractDualBidiMap.EntrySetIterator.html      |   457 +
 .../collections/AbstractDualBidiMap.KeySet.html    |   446 +
 .../AbstractDualBidiMap.KeySetIterator.html        |   457 +
 .../collections/AbstractDualBidiMap.MapEntry.html  |   393 +
 .../collections/AbstractDualBidiMap.Values.html    |   446 +
 .../AbstractDualBidiMap.ValuesIterator.html        |   457 +
 .../util/collections/AbstractDualBidiMap.View.html |   521 +
 .../lib/util/collections/AbstractDualBidiMap.html  |  1060 +
 .../util/collections/AbstractEmptyMapIterator.html |   498 +
 .../collections/AbstractHashedMap.EntrySet.html    |   461 +
 .../AbstractHashedMap.EntrySetIterator.html        |   342 +
 .../collections/AbstractHashedMap.HashEntry.html   |   548 +
 .../AbstractHashedMap.HashIterator.html            |   378 +
 .../AbstractHashedMap.HashMapIterator.html         |   437 +
 .../util/collections/AbstractHashedMap.KeySet.html |   461 +
 .../AbstractHashedMap.KeySetIterator.html          |   342 +
 .../util/collections/AbstractHashedMap.Values.html |   412 +
 .../AbstractHashedMap.ValuesIterator.html          |   342 +
 .../lib/util/collections/AbstractHashedMap.html    |  2031 +
 .../lib/util/collections/AbstractIterableMap.html  |   378 +
 .../collections/AbstractIteratorDecorator.html     |   351 +
 .../lib/util/collections/AbstractKeyValue.html     |   428 +
 .../AbstractLinkedMap.EntrySetIterator.html        |   397 +
 .../AbstractLinkedMap.KeySetIterator.html          |   397 +
 .../collections/AbstractLinkedMap.LinkEntry.html   |   384 +
 .../AbstractLinkedMap.LinkIterator.html            |   516 +
 .../AbstractLinkedMap.LinkMapIterator.html         |   494 +
 .../AbstractLinkedMap.ValuesIterator.html          |   397 +
 .../lib/util/collections/AbstractLinkedMap.html    |  1071 +
 .../util/collections/AbstractListDecorator.html    |   640 +
 .../lib/util/collections/AbstractMapDecorator.html |   670 +
 .../lib/util/collections/AbstractMapEntry.html     |   434 +
 .../collections/AbstractMapEntryDecorator.html     |   473 +
 .../collections/AbstractOrderedMapDecorator.html   |   570 +
 .../AbstractReferenceMap.ReferenceEntry.html       |   615 +
 .../AbstractReferenceMap.ReferenceStrength.html    |   467 +
 .../lib/util/collections/AbstractReferenceMap.html |  1240 +
 .../AbstractSerializableListDecorator.html         |   340 +
 .../AbstractSerializableSetDecorator.html          |   344 +
 .../lib/util/collections/AbstractSetDecorator.html |   448 +
 ...stractSortedMapDecorator.SortedMapIterator.html |   418 +
 .../collections/AbstractSortedMapDecorator.html    |   675 +
 .../AbstractUntypedIteratorDecorator.html          |   385 +
 .../openjpa/lib/util/collections/BidiMap.html      |   500 +
 .../openjpa/lib/util/collections/BoundedMap.html   |   334 +
 .../lib/util/collections/ComparableComparator.html |   511 +
 .../lib/util/collections/ComparatorChain.html      |   749 +
 .../lib/util/collections/DefaultMapEntry.html      |   371 +
 .../lib/util/collections/DualHashBidiMap.html      |   449 +
 .../DualTreeBidiMap.BidiOrderedMapIterator.html    |   571 +
 .../util/collections/DualTreeBidiMap.ViewMap.html  |   584 +
 .../lib/util/collections/DualTreeBidiMap.html      |   828 +
 .../lib/util/collections/EmptyIterator.html        |   586 +
 .../lib/util/collections/EmptyMapIterator.html     |   563 +
 .../lib/util/collections/EmptyOrderedIterator.html |   549 +
 .../util/collections/EmptyOrderedMapIterator.html  |   570 +
 .../collections/EntrySetToMapIteratorAdapter.html  |   522 +
 .../lib/util/collections/FilterIterator.html       |   534 +
 .../openjpa/lib/util/collections/IterableMap.html  |   409 +
 .../lib/util/collections/IterableSortedMap.html    |   271 +
 .../lib/util/collections/IteratorChain.html        |   616 +
 .../openjpa/lib/util/collections/KeyValue.html     |   298 +
 .../openjpa/lib/util/collections/LRUMap.html       |  1140 +
 .../openjpa/lib/util/collections/LinkedMap.html    |   665 +
 .../lib/util/collections/ListIteratorWrapper.html  |   600 +
 .../openjpa/lib/util/collections/MapBackedSet.html |   678 +
 .../openjpa/lib/util/collections/MapIterator.html  |   445 +
 .../lib/util/collections/OrderedBidiMap.html       |   343 +
 .../lib/util/collections/OrderedIterator.html      |   313 +
 .../openjpa/lib/util/collections/OrderedMap.html   |   414 +
 .../lib/util/collections/OrderedMapIterator.html   |   321 +
 .../lib/util/collections/ReferenceIdentityMap.html |   714 +
 .../openjpa/lib/util/collections/ReferenceMap.html |   584 +
 .../lib/util/collections/ResettableIterator.html   |   288 +
 .../util/collections/ResettableListIterator.html   |   256 +
 .../lib/util/collections/SortedBidiMap.html        |   369 +
 .../openjpa/lib/util/collections/TreeBidiMap.html  |  1078 +
 .../openjpa/lib/util/collections/Unmodifiable.html |   212 +
 .../util/collections/UnmodifiableCollection.html   |   498 +
 .../lib/util/collections/UnmodifiableEntrySet.html |   572 +
 .../lib/util/collections/UnmodifiableIterator.html |   356 +
 .../lib/util/collections/UnmodifiableList.html     |   729 +
 .../util/collections/UnmodifiableListIterator.html |   472 +
 .../lib/util/collections/UnmodifiableMapEntry.html |   427 +
 .../util/collections/UnmodifiableOrderedMap.html   |   571 +
 .../UnmodifiableOrderedMapIterator.html            |   516 +
 .../lib/util/collections/UnmodifiableSet.html      |   534 +
 .../class-use/AbstractCollectionDecorator.html     |   274 +
 .../AbstractDualBidiMap.BidiMapIterator.html       |   149 +
 .../class-use/AbstractDualBidiMap.EntrySet.html    |   149 +
 .../AbstractDualBidiMap.EntrySetIterator.html      |   149 +
 .../class-use/AbstractDualBidiMap.KeySet.html      |   149 +
 .../AbstractDualBidiMap.KeySetIterator.html        |   149 +
 .../class-use/AbstractDualBidiMap.MapEntry.html    |   149 +
 .../class-use/AbstractDualBidiMap.Values.html      |   149 +
 .../AbstractDualBidiMap.ValuesIterator.html        |   149 +
 .../class-use/AbstractDualBidiMap.View.html        |   211 +
 .../collections/class-use/AbstractDualBidiMap.html |   330 +
 .../class-use/AbstractEmptyMapIterator.html        |   204 +
 .../class-use/AbstractHashedMap.EntrySet.html      |   149 +
 .../AbstractHashedMap.EntrySetIterator.html        |   149 +
 .../class-use/AbstractHashedMap.HashEntry.html     |   483 +
 .../class-use/AbstractHashedMap.HashIterator.html  |   218 +
 .../AbstractHashedMap.HashMapIterator.html         |   149 +
 .../class-use/AbstractHashedMap.KeySet.html        |   149 +
 .../AbstractHashedMap.KeySetIterator.html          |   149 +
 .../class-use/AbstractHashedMap.Values.html        |   149 +
 .../AbstractHashedMap.ValuesIterator.html          |   149 +
 .../collections/class-use/AbstractHashedMap.html   |   334 +
 .../collections/class-use/AbstractIterableMap.html |   228 +
 .../class-use/AbstractIteratorDecorator.html       |   211 +
 .../collections/class-use/AbstractKeyValue.html    |   214 +
 .../AbstractLinkedMap.EntrySetIterator.html        |   149 +
 .../AbstractLinkedMap.KeySetIterator.html          |   149 +
 .../class-use/AbstractLinkedMap.LinkEntry.html     |   356 +
 .../class-use/AbstractLinkedMap.LinkIterator.html  |   218 +
 .../AbstractLinkedMap.LinkMapIterator.html         |   149 +
 .../AbstractLinkedMap.ValuesIterator.html          |   149 +
 .../collections/class-use/AbstractLinkedMap.html   |   282 +
 .../class-use/AbstractListDecorator.html           |   204 +
 .../class-use/AbstractMapDecorator.html            |   220 +
 .../collections/class-use/AbstractMapEntry.html    |   206 +
 .../class-use/AbstractMapEntryDecorator.html       |   197 +
 .../class-use/AbstractOrderedMapDecorator.html     |   197 +
 .../AbstractReferenceMap.ReferenceEntry.html       |   238 +
 .../AbstractReferenceMap.ReferenceStrength.html    |   446 +
 .../class-use/AbstractReferenceMap.html            |   256 +
 .../AbstractSerializableListDecorator.html         |   197 +
 .../AbstractSerializableSetDecorator.html          |   197 +
 .../class-use/AbstractSetDecorator.html            |   211 +
 ...stractSortedMapDecorator.SortedMapIterator.html |   149 +
 .../class-use/AbstractSortedMapDecorator.html      |   197 +
 .../AbstractUntypedIteratorDecorator.html          |   218 +
 .../lib/util/collections/class-use/BidiMap.html    |   356 +
 .../lib/util/collections/class-use/BoundedMap.html |   229 +
 .../class-use/ComparableComparator.html            |   214 +
 .../collections/class-use/ComparatorChain.html     |   149 +
 .../collections/class-use/DefaultMapEntry.html     |   149 +
 .../collections/class-use/DualHashBidiMap.html     |   149 +
 .../DualTreeBidiMap.BidiOrderedMapIterator.html    |   149 +
 .../class-use/DualTreeBidiMap.ViewMap.html         |   149 +
 .../collections/class-use/DualTreeBidiMap.html     |   220 +
 .../util/collections/class-use/EmptyIterator.html  |   149 +
 .../collections/class-use/EmptyMapIterator.html    |   149 +
 .../class-use/EmptyOrderedIterator.html            |   149 +
 .../class-use/EmptyOrderedMapIterator.html         |   149 +
 .../class-use/EntrySetToMapIteratorAdapter.html    |   197 +
 .../util/collections/class-use/FilterIterator.html |   149 +
 .../util/collections/class-use/IterableMap.html    |   413 +
 .../collections/class-use/IterableSortedMap.html   |   205 +
 .../util/collections/class-use/IteratorChain.html  |   149 +
 .../lib/util/collections/class-use/KeyValue.html   |   279 +
 .../lib/util/collections/class-use/LRUMap.html     |   228 +
 .../lib/util/collections/class-use/LinkedMap.html  |   197 +
 .../collections/class-use/ListIteratorWrapper.html |   149 +
 .../util/collections/class-use/MapBackedSet.html   |   205 +
 .../util/collections/class-use/MapIterator.html    |   339 +
 .../util/collections/class-use/OrderedBidiMap.html |   252 +
 .../collections/class-use/OrderedIterator.html     |   318 +
 .../lib/util/collections/class-use/OrderedMap.html |   378 +
 .../collections/class-use/OrderedMapIterator.html  |   326 +
 .../class-use/ReferenceIdentityMap.html            |   149 +
 .../util/collections/class-use/ReferenceMap.html   |   197 +
 .../collections/class-use/ResettableIterator.html  |   332 +
 .../class-use/ResettableListIterator.html          |   197 +
 .../util/collections/class-use/SortedBidiMap.html  |   224 +
 .../util/collections/class-use/TreeBidiMap.html    |   149 +
 .../util/collections/class-use/Unmodifiable.html   |   254 +
 .../class-use/UnmodifiableCollection.html          |   149 +
 .../class-use/UnmodifiableEntrySet.html            |   149 +
 .../class-use/UnmodifiableIterator.html            |   149 +
 .../collections/class-use/UnmodifiableList.html    |   149 +
 .../class-use/UnmodifiableListIterator.html        |   149 +
 .../class-use/UnmodifiableMapEntry.html            |   149 +
 .../class-use/UnmodifiableOrderedMap.html          |   149 +
 .../class-use/UnmodifiableOrderedMapIterator.html  |   149 +
 .../collections/class-use/UnmodifiableSet.html     |   149 +
 .../lib/util/collections/package-summary.html      |   751 +
 .../openjpa/lib/util/collections/package-tree.html |   402 +
 .../openjpa/lib/util/collections/package-use.html  |   593 +
 .../concurrent/AbstractConcurrentEventManager.html |   560 +
 .../util/concurrent/ConcurrentHashMap.Entry.html   |   443 +
 .../lib/util/concurrent/ConcurrentHashMap.html     |  1073 +
 .../openjpa/lib/util/concurrent/ConcurrentMap.html |   316 +
 .../concurrent/ConcurrentReferenceHashMap.html     |  1057 +
 .../concurrent/ConcurrentReferenceHashSet.html     |   642 +
 .../class-use/AbstractConcurrentEventManager.html  |   197 +
 .../class-use/ConcurrentHashMap.Entry.html         |   242 +
 .../concurrent/class-use/ConcurrentHashMap.html    |   149 +
 .../util/concurrent/class-use/ConcurrentMap.html   |   205 +
 .../class-use/ConcurrentReferenceHashMap.html      |   149 +
 .../class-use/ConcurrentReferenceHashSet.html      |   149 +
 .../lib/util/concurrent/package-summary.html       |   215 +
 .../openjpa/lib/util/concurrent/package-tree.html  |   182 +
 .../openjpa/lib/util/concurrent/package-use.html   |   218 +
 .../org/apache/openjpa/lib/util/git/GitUtils.html  |   320 +
 .../openjpa/lib/util/git/class-use/GitUtils.html   |   149 +
 .../openjpa/lib/util/git/package-summary.html      |   167 +
 .../apache/openjpa/lib/util/git/package-tree.html  |   164 +
 .../apache/openjpa/lib/util/git/package-use.html   |   149 +
 .../apache/openjpa/lib/util/package-summary.html   |   487 +
 .../org/apache/openjpa/lib/util/package-tree.html  |   284 +
 .../org/apache/openjpa/lib/util/package-use.html   |   453 +
 .../org/apache/openjpa/lib/xml/Commentable.html    |   318 +
 .../org/apache/openjpa/lib/xml/DocTypeReader.html  |   560 +
 .../org/apache/openjpa/lib/xml/Location.html       |   397 +
 .../openjpa/lib/xml/ValidatingErrorHandler.html    |   368 +
 .../org/apache/openjpa/lib/xml/XMLFactory.html     |   357 +
 .../org/apache/openjpa/lib/xml/XMLWriter.html      |   426 +
 .../openjpa/lib/xml/class-use/Commentable.html     |   149 +
 .../openjpa/lib/xml/class-use/DocTypeReader.html   |   149 +
 .../apache/openjpa/lib/xml/class-use/Location.html |   214 +
 .../lib/xml/class-use/ValidatingErrorHandler.html  |   149 +
 .../openjpa/lib/xml/class-use/XMLFactory.html      |   149 +
 .../openjpa/lib/xml/class-use/XMLWriter.html       |   149 +
 .../apache/openjpa/lib/xml/package-summary.html    |   216 +
 .../org/apache/openjpa/lib/xml/package-tree.html   |   186 +
 .../org/apache/openjpa/lib/xml/package-use.html    |   186 +
 4.1.0/apidocs/overview-summary.html                |    23 +
 4.1.0/apidocs/overview-tree.html                   |   785 +
 4.1.0/apidocs/package-search-index.js              |     1 +
 4.1.0/apidocs/package-search-index.zip             |   Bin 0 -> 326 bytes
 4.1.0/apidocs/resources/glass.png                  |   Bin 0 -> 499 bytes
 4.1.0/apidocs/resources/x.png                      |   Bin 0 -> 394 bytes
 4.1.0/apidocs/script.js                            |   149 +
 4.1.0/apidocs/search.js                            |   326 +
 4.1.0/apidocs/serialized-form.html                 |  1495 +
 4.1.0/apidocs/stylesheet.css                       |   910 +
 4.1.0/apidocs/type-search-index.js                 |     1 +
 4.1.0/apidocs/type-search-index.zip                |   Bin 0 -> 2206 bytes
 794 files changed, 360801 insertions(+)

diff --git a/4.1.0/apache-openjpa/RELEASE-NOTES.html b/4.1.0/apache-openjpa/RELEASE-NOTES.html
new file mode 100644
index 000000000..07906dbed
--- /dev/null
+++ b/4.1.0/apache-openjpa/RELEASE-NOTES.html
@@ -0,0 +1,161 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE- 2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<html>
+<title>Release Notes for Apache OpenJPA 4.1.0</title>
+<body>
+<h1>Release Notes for Apache OpenJPA 4.1.0</h1>
+<p>
+<ul>
+  <li><a href="#Overview">Overview</a></li>
+  <li><a href="#Prerequisites">Prerequisites</a></li>
+  <li><a href="#Documentation">Documentation</a></li>
+  <li><a href="#GetInvolved">Getting Involved</a></li>
+  <li><a href="#License">License</a></li>
+  <li><a href="#Notice">Notice</a></li>
+  <li><a href="#ReleaseNotes">Release Notes</a></li>
+  <li><a href="#Previous">Release Notes for previous OpenJPA releases</a></li>
+</ul>
+</p>
+<BR>
+<hr>
+<h2><a name="Overview"></a>Overview</h2>
+
+<P>
+   The Apache OpenJPA community is proud to release a distribution of
+   OpenJPA 4.1.0. This distribution is based on the final Jakarta Persistence API,
+   Version 3.1 specification while not beeing fully TCK tested.
+   We remain backwards compatible with prior releases based on the
+   Java Persistence API up to 3.0.
+</P>
+
+<p>Additional information on the OpenJPA project may be found at the project
+web site: <a href="http://openjpa.apache.org">http://openjpa.apache.org</a></p>
+
+<h2><a name="Prerequisites"></a>Prerequisites</h2>
+<P>OpenJPA requires Java 11 or higher and a relational
+database of some sort.
+</p>
+
+<h2><a name="Documentation"></a>Documentation</h2>
+<p>If you have questions about OpenJPA, a good source of information is the
+online product manual. You can find the manual for the current release as well
+as older releases of OpenJPA at
+<a href="http://openjpa.apache.org/documentation.html">
+http://openjpa.apache.org/documentation.html</a></p>
+<p>If you can't find what you are looking for in the manual or would like more
+clarification, please post to the OpenJPA development mailing list.
+Information on all of the OpenJPA mailing lists may be found here:
+<a href="http://openjpa.apache.org/mailing-lists.html">
+http://openjpa.apache.org/mailing-lists.html</a></p>
+
+<h2><a name="GetInvolved"></a>Getting Involved</h2>
+<p>The Apache OpenJPA project is being built by the open source community for the open source community -
+we welcome your input and contributions!</p>
+<P>What we are looking for:
+<ul>
+    <li> Source code and fixes contributions </li>
+    <li> Documentation assistance </li>
+    <li> Product and feature suggestions </li>
+    <li> Detailed and constructive feedback </li>
+    <li> Articles and whitepapers </li>
+</ul></p>
+<p>How do I contribute?
+<ul>
+    <li> To discuss Apache OpenJPA topics check out the mailing lists. </li>
+    <li> Informal discussion also occurs on the #openjpa IRC channel on
+         freenode.net. </li>
+    <li> Bugs and other issues can be posted on
+         <a href="https://issues.apache.org/jira/browse/OPENJPA">
+         the issue tracker</a>.
+     </li>
+</ul>
+</p>
+
+<BR>
+<hr>
+<h2><a name="License"></a>License</h2>
+<P>Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.
+<BR>You may obtain a copy of the License at:
+<a href="http://www.apache.org/licenses/LICENSE-2.0">
+http://www.apache.org/licenses/LICENSE-2.0</a>
+<BR>Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.</p>
+<P>The license may also be found in LICENSE.txt which is included
+in each release of OpenJPA.</P>
+
+<h2><a name="Notice"></a>Notice</h2>
+<p>Copyright 2006,2025 The Apache Software Foundation
+<BR>This product includes software developed at The Apache Software Foundation (http://www.apache.org/).</p>
+<P>Apache OpenJPA includes the persistence and orm schemas from the JPA specifications.
+<BR>Copyright 2005-2009 Sun Microsystems, Inc. All rights reserved.
+<BR>Apache OpenJPA elects to include this software in this distribution under the CDDL license.
+<BR>You can obtain a copy of the License at:
+<a href="https://glassfish.dev.java.net/public/CDDL+GPL.html">https://glassfish.dev.java.net/public/CDDL+GPL.html</a>
+<BR>The source code is available at:
+<a href="http://java.net/projects/glassfish">http://java.net/projects/glassfish</a></p>
+<P>The complete list of notices can be found in NOTICE.txt included in each assembly.</p>
+
+<BR>
+<hr>
+<h2><a name="ReleaseNotes">Release Notes</a></h2>
+
+<hr>
+<h3><a name="312">OpenJPA 4.1.0</a></h3>
+
+
+
+<h1>Release Notes - OpenJPA - Version 4.1.0</h1>
+
+<h2>        Bug
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENJPA-2898'>OPENJPA-2898</a>] -         Cannot resolve the name &#39;orm:versionType&#39;
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENJPA-2928'>OPENJPA-2928</a>] -         Missing orm and persistence xml v3 schemas for offline processing
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENJPA-2930'>OPENJPA-2930</a>] -         UUID ID Generator Strategy
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENJPA-2932'>OPENJPA-2932</a>] -         Implement numeric JPA 3.1 JPQL functions and equivalent Criteria API
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENJPA-2933'>OPENJPA-2933</a>] -         Implement new date JPA 3.1 JPQL functions and equivalent Criteria API
+</li>
+</ul>
+
+<h2>        Task
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENJPA-2934'>OPENJPA-2934</a>] -         Offline XSD schema for JPA 3.1. should be added
+</li>
+</ul>
+
+<hr>
+<p>Copyright (C) 2006,2025 Apache Software Foundation. Licensed under Apache License 2.0.<br>
+Apache, the Apache feather logo and OpenJPA are trademarks of Apache Software Foundation.<br>
+</body>
+</html>
diff --git a/4.1.0/apache-openjpa/docs/appendices.html b/4.1.0/apache-openjpa/docs/appendices.html
new file mode 100644
index 000000000..aad7a7b0d
--- /dev/null
+++ b/4.1.0/apache-openjpa/docs/appendices.html
@@ -0,0 +1,171 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+   <title>Part&nbsp;4.&nbsp;Appendices</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 3.2 User's Guide"><link rel="up" href="manual.html" title="Apache OpenJPA 3.2 User's Guide"><link rel="prev" href="ref_guide_instrumentation_custom.html" title="2.&nbsp; Custom Providers and Instruments"><link rel="next" href="jpa_resources [...]
+        JPA Resources
+    </a></span></dt><dt><span class="appendix"><a href="supported_databases.html">2. 
+        Supported Databases
+    </a></span></dt><dd><dl><dt><span class="section"><a href="supported_databases.html#dbappendix">1. 
+        Overview
+    </a></span></dt><dt><span class="section"><a href="dbsupport.html">2. 
+        Verified Database Matrix
+    </a></span></dt><dt><span class="section"><a href="dbcompatible.html">3. 
+        Compatible Database Matrix
+    </a></span></dt><dt><span class="section"><a href="dbunverified.html">4. 
+        Unverified Database Matrix
+    </a></span></dt><dt><span class="section"><a href="dbsupport_derby.html">5. 
+            Apache Derby
+        </a></span></dt><dt><span class="section"><a href="dbsupport_interbase.html">6. 
+            Borland Interbase
+        </a></span></dt><dd><dl><dt><span class="section"><a href="dbsupport_interbase.html#dbsupport_interbase_issues">6.1. 
+                Known issues with Interbase
+            </a></span></dt></dl></dd><dt><span class="section"><a href="dbsupport_jdatastore.html">7. 
+            JDataStore
+        </a></span></dt><dt><span class="section"><a href="dbsupport_db2.html">8. 
+            IBM DB2
+        </a></span></dt><dd><dl><dt><span class="section"><a href="dbsupport_db2.html#dbsupport_db2_issues">8.1. 
+                Known issues with DB2
+            </a></span></dt></dl></dd><dt><span class="section"><a href="dbsupport_empress.html">9. 
+            Empress
+        </a></span></dt><dd><dl><dt><span class="section"><a href="dbsupport_empress.html#dbsupport_empress_issues">9.1. 
+                Known issues with Empress
+            </a></span></dt></dl></dd><dt><span class="section"><a href="dbsupport_h2.html">10. 
+            H2 Database Engine
+        </a></span></dt><dd><dl><dt><span class="section"><a href="dbsupport_h2.html#dbsupport_h2_issues">10.1. 
+                Known issues with H2 Database Engine
+            </a></span></dt></dl></dd><dt><span class="section"><a href="dbsupport_hypersonic.html">11. 
+            Hypersonic
+        </a></span></dt><dd><dl><dt><span class="section"><a href="dbsupport_hypersonic.html#dbsupport_hypersonic_issues">11.1. 
+                Known issues with Hypersonic
+            </a></span></dt></dl></dd><dt><span class="section"><a href="dbsupport_firebird.html">12. 
+            Firebird
+        </a></span></dt><dd><dl><dt><span class="section"><a href="dbsupport_firebird.html#dbsupport_firebird_issues">12.1. 
+                Known issues with Firebird
+            </a></span></dt></dl></dd><dt><span class="section"><a href="dbsupport_informix.html">13. 
+            Informix
+        </a></span></dt><dd><dl><dt><span class="section"><a href="dbsupport_informix.html#dbsupport_informix_issues">13.1. 
+                Known issues with Informix
+            </a></span></dt></dl></dd><dt><span class="section"><a href="dbsupport_ingres.html">14. 
+            Ingres Database
+        </a></span></dt><dd><dl><dt><span class="section"><a href="dbsupport_ingres.html#dbsupport_ingres_issues">14.1. 
+                Known issues with Ingres
+            </a></span></dt></dl></dd><dt><span class="section"><a href="dbsupport_intersystems_cache.html">15. 
+            InterSystems Cache
+        </a></span></dt><dd><dl><dt><span class="section"><a href="dbsupport_intersystems_cache.html#dbsupport_intersystems_cache_issues">15.1. 
+                Known issues with InterSystems Cache
+            </a></span></dt></dl></dd><dt><span class="section"><a href="dbsupport_access.html">16. 
+            Microsoft Access
+        </a></span></dt><dd><dl><dt><span class="section"><a href="dbsupport_access.html#dbsupport_access_issues">16.1. 
+                Known issues with Microsoft Access
+            </a></span></dt></dl></dd><dt><span class="section"><a href="dbsupport_sqlserver.html">17. 
+            Microsoft SQL Server
+        </a></span></dt><dd><dl><dt><span class="section"><a href="dbsupport_sqlserver.html#dbsupport_sqlserver_issues">17.1. 
+                Known issues with SQL Server
+            </a></span></dt></dl></dd><dt><span class="section"><a href="dbsupport_foxpro.html">18. 
+            Microsoft FoxPro
+        </a></span></dt><dd><dl><dt><span class="section"><a href="dbsupport_foxpro.html#dbsupport_foxpro_issues">18.1. 
+                Known issues with Microsoft FoxPro
+            </a></span></dt></dl></dd><dt><span class="section"><a href="dbsupport_mysql.html">19. 
+            MySQL
+        </a></span></dt><dd><dl><dt><span class="section"><a href="dbsupport_mysql.html#dbsupport_mysql_query_hints">19.1. 
+                Using Query Hints with MySQL
+            </a></span></dt><dt><span class="section"><a href="dbsupport_mysql.html#dbsupport_mysql_issues">19.2. 
+                Known issues with MySQL
+            </a></span></dt></dl></dd><dt><span class="section"><a href="dbsupport_mariadb.html">20. 
+            MariaDB
+        </a></span></dt><dd><dl><dt><span class="section"><a href="dbsupport_mariadb.html#dbsupport_mariadb_issues">20.1. 
+                Known issues with MariaDB
+            </a></span></dt></dl></dd><dt><span class="section"><a href="dbsupport_oracle.html">21. 
+            Oracle
+        </a></span></dt><dd><dl><dt><span class="section"><a href="dbsupport_oracle.html#dbsupport_oracle_query_hints">21.1. 
+                Using Query Hints with Oracle
+            </a></span></dt><dt><span class="section"><a href="dbsupport_oracle.html#dbsupport_oracle_issues">21.2. 
+                Known issues with Oracle
+            </a></span></dt></dl></dd><dt><span class="section"><a href="dbsupport_pointbase.html">22. 
+            Pointbase
+        </a></span></dt><dd><dl><dt><span class="section"><a href="dbsupport_pointbase.html#dbsupport_pointbase_issues">22.1. 
+                Known issues with Pointbase
+            </a></span></dt></dl></dd><dt><span class="section"><a href="dbsupport_postgresql.html">23. 
+            PostgreSQL
+        </a></span></dt><dd><dl><dt><span class="section"><a href="dbsupport_postgresql.html#dbsupport_postgresql_issues">23.1. 
+                Known issues with PostgreSQL
+            </a></span></dt></dl></dd><dt><span class="section"><a href="dbsupport_soliddb.html">24. 
+            IBM solidDB
+        </a></span></dt><dd><dl><dt><span class="section"><a href="dbsupport_soliddb.html#dbsupport_soliddb_table_types">24.1. 
+                M-type tables vs. D-type tables
+            </a></span></dt><dt><span class="section"><a href="dbsupport_soliddb.html#dbsupport_soliddb_concurrency_control">24.2. 
+                Concurrency control mechanism
+            </a></span></dt></dl></dd><dt><span class="section"><a href="dbsupport_sybase.html">25. 
+            Sybase Adaptive Server
+        </a></span></dt><dd><dl><dt><span class="section"><a href="dbsupport_sybase.html#dbsupport_sybase_issues">25.1. 
+                Known issues with Sybase
+            </a></span></dt></dl></dd></dl></dd><dt><span class="appendix"><a href="migration_considerations.html">3. 
+        Migration Considerations
+    </a></span></dt><dd><dl><dt><span class="section"><a href="migration_considerations.html#jpa_2.0">1. 
+            OpenJPA 2.0.0
+        </a></span></dt><dd><dl><dt><span class="section"><a href="migration_considerations.html#jpa_2.0_incompatibilities">1.1. 
+                Incompatibilities
+            </a></span></dt><dd><dl><dt><span class="section"><a href="migration_considerations.html#getProperties">1.1.1. 
+                    getProperties()
+                </a></span></dt><dt><span class="section"><a href="migration_considerations.html#migration_detach_behavior">1.1.2. 
+                    Detach Behavior
+                </a></span></dt><dt><span class="section"><a href="migration_considerations.html#private_persistent_properties">1.1.3. 
+                    Use of private persistent properties
+                </a></span></dt><dt><span class="section"><a href="migration_considerations.html#setParameter">1.1.4. 
+                    Query.setParameter()
+                </a></span></dt><dt><span class="section"><a href="migration_considerations.html#serialization">1.1.5. 
+                    Serialization of Entities
+                </a></span></dt><dt><span class="section"><a href="migration_considerations.html#QuerySQLCache">1.1.6. 
+                    openjpa.jdbc.QuerySQLCache
+                </a></span></dt></dl></dd><dt><span class="section"><a href="migration_considerations.html#Disabling AutoOff Collection Tracking">1.2. 
+                Disabling AutoOff Collection Tracking
+            </a></span></dt><dt><span class="section"><a href="migration_considerations.html#internal_differences">1.3. 
+                Internal Behavioral Differences
+            </a></span></dt><dd><dl><dt><span class="section"><a href="migration_considerations.html#prePostUpdate">1.3.1. 
+                    PreUpdate/PostUpdate Life Cycle Callbacks
+                </a></span></dt><dt><span class="section"><a href="migration_considerations.html#createemf">1.3.2. 
+                    createEntityManagerFactory Exceptions
+                </a></span></dt><dt><span class="section"><a href="migration_considerations.html#querycache">1.3.3. 
+                    openjpa.QueryCache default
+                </a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="jpa_2.2.html">2. 
+            OpenJPA 2.2.0
+        </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_2.2.html#jpa_2.2_incompatibilities">2.1. Incompatibilities</a></span></dt><dd><dl><dt><span class="section"><a href="jpa_2.2.html#jpa_2.2_allocationSize">2.1.1. 
+                    allocationSize Property of Sequence Generator
+                </a></span></dt><dt><span class="section"><a href="jpa_2.2.html#jpa_2.2_metamodelArrays">2.1.2. 
+                    MetaModel Attributes for Arrays
+                </a></span></dt><dt><span class="section"><a href="jpa_2.2.html#jpa_2.2_SupportsSetClob">2.1.3. 
+                    supportsSetClob Property.
+                </a></span></dt><dt><span class="section"><a href="jpa_2.2.html#jpa_2.2_UseNativeSequenceCache">2.1.4. 
+                    useNativeSequenceCache Property.
+                </a></span></dt><dt><span class="section"><a href="jpa_2.2.html#jpa_2.2_cascadePersist">2.1.5. 
+                    Cascade persist behavior
+                </a></span></dt><dt><span class="section"><a href="jpa_2.2.html#jpa_2.2_LifecycleEventManager">2.1.6. 
+                    Life Cycle Event Manager Callback Behavior
+                </a></span></dt><dt><span class="section"><a href="jpa_2.2.html#jpa_2.2_sharedCacheMode">2.1.7. 
+                    shared-cache-mode Property
+                </a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="jpa_2.3.html">3. 
+            OpenJPA 2.3.0
+        </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_2.3.html#jpa_2.3_incompatibilities">3.1. Incompatibilities</a></span></dt><dd><dl><dt><span class="section"><a href="jpa_2.3.html#jpa_2.3_MappingTool">3.1.1. 
+                    MappingTool Behavior for DB2 and Derby
+                </a></span></dt><dt><span class="section"><a href="jpa_2.3.html#jpa_2.3_RequiresSearchStringEscapeForLike">3.1.2. 
+                    RequiresSearchStringEscapeForLike DBDictionary Property
+                </a></span></dt><dt><span class="section"><a href="jpa_2.3.html#ReturnNullOnEmptyAggregateResult">3.1.3. 
+                    Return value of aggregate functions in SELECT clause
+                </a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="jpa_3.2.html">4. OpenJPA 3.2.0</a></span></dt><dd><dl><dt><span class="section"><a href="jpa_3.2.html#jpa_3.2_incompatibilities">4.1. Incompatibilities</a></span></dt><dd><dl><dt><span class="section"><a href="jpa_3.2.html#jpa_3.2_SumDouble">4.1.1. SUM now always returns Double</a></span></dt><dt><span class="section"><a href="jpa_3.2.html#jpa_3.2_InvalidColumnNames">4.1.2. Invalid Column Name Changes< [...]
+        
+        
+
+
+
+        
+
+
+
+        
+
+
+
+    </div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ref_guide_instrumentation_custom.html">Prev</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="jpa_resources.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">2.&nbsp;
+            Custom Providers and Instruments
+        &nbsp;</td><td width="20%" align="center"><a accesskey="h" href="manual.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;Appendix&nbsp;1.&nbsp;
+        JPA Resources
+    </td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/4.1.0/apache-openjpa/docs/ch13s02.html b/4.1.0/apache-openjpa/docs/ch13s02.html
new file mode 100644
index 000000000..729627639
--- /dev/null
+++ b/4.1.0/apache-openjpa/docs/ch13s02.html
@@ -0,0 +1,27 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+   <title>2.&nbsp;Executing a CriteriaQuery</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 3.2 User's Guide"><link rel="up" href="jpa_overview_criteria.html" title="Chapter&nbsp;11.&nbsp; JPA Criteria"><link rel="prev" href="jpa_overview_criteria.html" title="Chapter&nbsp;11.&nbsp; JPA Criteria"><link rel="next" href="ch13s0 [...]
+        JPA Criteria
+    </th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch13s03.html">Next</a></td></tr></table><hr></div><div class="section" id="d5e5501"><div class="titlepage"><div><div><h2 class="title" style="clear: both">2.&nbsp;Executing a CriteriaQuery</h2></div></div></div>
+    
+    <p>
+    A CriteriaQuery is executed in a similar fashion to a string-based JPQL
+    query via the EntityManager and Query interfaces.
+    </p><pre class="programlisting">
+EntityManager em = ...
+Query query = em.createQuery(qdef);
+List result = query.getResultList();
+    </pre><p>
+    </p>
+    <p>
+    A query definition can use named parameters, and the parameter values are
+    set as usual in the Query instance.
+    </p>
+
+    <p>
+    <a class="ulink" href="http://www.ibm.com/developerworks/java/library/j-typesafejpa/" target="_top">A developerworks article</a>
+    explains details and further usage of Criteria API and its OpenJPA extensions.
+    </p>
+    </div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="jpa_overview_criteria.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="jpa_overview_criteria.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch13s03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter&nbsp;11.&nbsp;
+        JPA Criteria
+    &nbsp;</td><td width="20%" align="center"><a accesskey="h" href="manual.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;3.&nbsp;Extension to Criteria API</td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/4.1.0/apache-openjpa/docs/ch13s03.html b/4.1.0/apache-openjpa/docs/ch13s03.html
new file mode 100644
index 000000000..addfc783d
--- /dev/null
+++ b/4.1.0/apache-openjpa/docs/ch13s03.html
@@ -0,0 +1,23 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+   <title>3.&nbsp;Extension to Criteria API</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 3.2 User's Guide"><link rel="up" href="jpa_overview_criteria.html" title="Chapter&nbsp;11.&nbsp; JPA Criteria"><link rel="prev" href="ch13s02.html" title="2.&nbsp;Executing a CriteriaQuery"><link rel="next" href="ch13s04.html" title="4 [...]
+        JPA Criteria
+    </th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch13s04.html">Next</a></td></tr></table><hr></div><div class="section" id="d5e5508"><div class="titlepage"><div><div><h2 class="title" style="clear: both">3.&nbsp;Extension to Criteria API</h2></div></div></div>
+    
+    <p>
+    Criteria API has provided an alternative means to string-based JPQL to
+    execute a query. However, JPA 2.0 specification has not explicitly specified
+    any equivalence between a dynamically constructed CriteriaQuery and
+    a JPQL string. OpenJPA provides a mechanism to convert a CriteriaQuery to
+    an equivalent JPQL query string via the extended OpenJPACriteriaQuery API.
+    </p><pre class="programlisting">
+public interface OpenJPACriteriaQuery extends CriteriaQuery {
+    /**
+     * Gets equivalent JPQL String for the given CriteriaQuery.
+     */
+    public String toCQL();
+}
+    </pre><p>
+
+    </p>
+    </div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch13s02.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="jpa_overview_criteria.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch13s04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">2.&nbsp;Executing a CriteriaQuery&nbsp;</td><td width="20%" align="center"><a accesskey= [...]
\ No newline at end of file
diff --git a/4.1.0/apache-openjpa/docs/ch13s04.html b/4.1.0/apache-openjpa/docs/ch13s04.html
new file mode 100644
index 000000000..814006b6e
--- /dev/null
+++ b/4.1.0/apache-openjpa/docs/ch13s04.html
@@ -0,0 +1,60 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+   <title>4.&nbsp;Generation of Canonical MetaModel classes</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 3.2 User's Guide"><link rel="up" href="jpa_overview_criteria.html" title="Chapter&nbsp;11.&nbsp; JPA Criteria"><link rel="prev" href="ch13s03.html" title="3.&nbsp;Extension to Criteria API"><link rel="next" href="jpa_ov [...]
+        JPA Criteria
+    </th><td width="20%" align="right">&nbsp;<a accesskey="n" href="jpa_overview_sqlquery.html">Next</a></td></tr></table><hr></div><div class="section" id="d5e5512"><div class="titlepage"><div><div><h2 class="title" style="clear: both">4.&nbsp;Generation of Canonical MetaModel classes</h2></div></div></div>
+       
+       <p>
+Annotation processing tool generates source code for a metamodel class given
+the annotated source code of persistent entity.
+This tool is invoked during compilation for JDK6 compiler if OpenJPA and JPA
+libraries are specified in the compiler <code class="code">-classpath</code> option <span class="emphasis"><em>and</em></span>
+Annotation processor option <code class="code">-Aopenjpa.metamodel=true</code> is specified.
+    </p><pre class="programlisting">
+ $ javac -classpath path/to/openjpa-all.jar -Aopenjpa.metamodel=true mypackage/MyEntity.java
+    </pre><p>
+will generate source code for canonical meta-model class <code class="code">mypackage.MyEntity_</code>.
+The source code is generated relative to the directory specified in <code class="code">-s</code> option
+of <code class="code">javac</code> compiler and defaulted to the current directory.
+      </p>
+
+      <p>
+The Annotation Processor recognizes the following options specified in the command-line with <code class="code">-A</code>
+(none of them are mandatory).
+    </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+			<p>
+              -Aopenjpa.log=TRACE|INFO|WARN|ERROR : The logging level. Default is <code class="code">WARN</code>.
+            </p>
+        </li><li class="listitem">
+			<p>
+             -Aopenjpa.source=&lt;n&gt; : where &lt;n&gt; denotes the integral number for Java source
+             version of the generated code. Default is <code class="code">6</code>.
+             </p>
+        </li><li class="listitem">
+			<p>
+               -Aopenjpa.naming=class name : fully-qualified name of a class implementing
+               <code class="code">org.apache.openjpa.meta.MetaDataFactory</code> that determines
+the name of a meta-class given the name of the original persistent Java entity class. Defaults to
+<code class="code">org.apache.openjpa.persistence.PersistenceMetaDataFactory</code> which appends an underscore character
+(<code class="code">_</code>) to the original Java class name.
+             </p>
+        </li><li class="listitem">
+			<p>
+               -Aopenjpa.header=&lt;url&gt; : A url whose content will appear as comment header to the generated file(s).
+               Recognizes special value <code class="code">ASL</code> for Apache Source License header as comment.
+               By default, adds an OpenJPA proprietary text as comment block.
+             </p>
+        </li><li class="listitem">
+            <p>
+                -Aopenjpa.addGeneratedAnnotation=auto|force|false : Configure whether the annotation
+                <code class="code">jakarta.annotation.Generated</code> should be added to the generated metamodel classes.
+                This annotation is not available on Java 9 upwards unless the <code class="code">jakarta.annotation-api</code>
+                is in the classpath.
+                The default is <code class="code">auto</code>. Set to <code class="code">force</code> to add the annotation even if it is
+                not in the classpath or to <code class="code">false</code> to never add it to the generated class.
+            </p>
+        </li></ul></div><p>
+       </p>
+    </div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch13s03.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="jpa_overview_criteria.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="jpa_overview_sqlquery.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">3.&nbsp;Extension to Criteria API&nbsp;</td><td width="20%" align="center" [...]
+        SQL Queries
+    </td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/4.1.0/apache-openjpa/docs/ch29s04.html b/4.1.0/apache-openjpa/docs/ch29s04.html
new file mode 100644
index 000000000..281fc0c45
--- /dev/null
+++ b/4.1.0/apache-openjpa/docs/ch29s04.html
@@ -0,0 +1,197 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+   <title>4.&nbsp;Configuration Properties</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 3.2 User's Guide"><link rel="up" href="ref_guide_slice.html" title="Chapter&nbsp;13.&nbsp; Slice: Distributed Persistence"><link rel="prev" href="slice_configuration.html" title="3.&nbsp;Usage"><link rel="next" href="ref_guide_integrati [...]
+    Slice: Distributed Persistence
+  </th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ref_guide_integration.html">Next</a></td></tr></table><hr></div><div class="section" id="d5e17291"><div class="titlepage"><div><div><h2 class="title" style="clear: both">4.&nbsp;Configuration Properties</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="ch29s04.html#d5e17296">4.1. Global Properties</a></span></dt><dd><dl><dt><span class="section"><a href="ch29s04.html#d5e17298">4.1.1. [...]
+  
+    <p>
+    The properties to configure Slice can be classified in two broad groups.
+The <span class="emphasis"><em>global</em></span> properties apply to all the slices, for example,
+the thread pool used to execute the queries in parallel or the transaction
+manager used to coordinate transaction across multiple slices.
+The <span class="emphasis"><em>per-slice</em></span> properties apply to individual slice, for example,
+the JDBC connection URL of a slice.
+   </p>
+
+   <div class="section" id="d5e17296"><div class="titlepage"><div><div><h3 class="title">4.1.&nbsp;Global Properties</h3></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="ch29s04.html#d5e17298">4.1.1. openjpa.slice.DistributionPolicy</a></span></dt><dt><span class="section"><a href="ch29s04.html#d5e17304">4.1.2. openjpa.slice.Lenient</a></span></dt><dt><span class="section"><a href="ch29s04.html#d5e17311">4.1.3. openjpa.slice.Master</a></span></dt><dt> [...]
+     
+
+     <div class="section" id="d5e17298"><div class="titlepage"><div><div><h4 class="title">4.1.1.&nbsp;openjpa.slice.DistributionPolicy</h4></div></div></div>
+        
+        <p>
+         This <span class="emphasis"><em>mandatory</em></span> plug-in property determines how newly
+         persistent instances are distributed across individual slices.
+         The value of this property is a fully-qualified class name that implements
+         <a class="ulink" href="../../apidocs/org/apache/openjpa/slice/DistributionPolicy.html" target="_top">
+         <code class="classname">org.apache.openjpa.slice.DistributionPolicy</code>
+         </a> interface.
+        </p>
+     </div>
+
+     <div class="section" id="d5e17304"><div class="titlepage"><div><div><h4 class="title">4.1.2.&nbsp;openjpa.slice.Lenient</h4></div></div></div>
+      <p>
+        This boolean plug-in property controls the behavior when one or more slice
+        can not be connected or unavailable for some other reasons.
+        If <code class="classname">true</code>, the unreachable slices are ignored. If
+        <code class="classname">false</code> then any unreachable slice will raise an exception
+        during startup.
+        </p>
+        <p>
+        By default this value is set to <code class="classname">false</code> i.e. all configured
+        slices must be available.
+        </p>
+     </div>
+
+     <div class="section" id="d5e17311"><div class="titlepage"><div><div><h4 class="title">4.1.3.&nbsp;openjpa.slice.Master</h4></div></div></div>
+      
+		 <p>
+			 The user application often directs OpenJPA to generate primary keys
+			 for persistence instances automatically or from a specific database
+			 sequence. For such primary key value generation strategy where
+			 a database instance is required, Slice uses a designated slice
+			 referred to as <span class="emphasis"><em>master</em></span> slice.
+		 </p>
+         <p>
+			 The master slice can be specified explicitly via
+			 <code class="classname">openjpa.slice.Master</code> property and whose value is one
+			 of the configured slice names. If this property is not explicitly
+			 specified then, by default, the master slice is the first slice
+			 in the list of configured slice names.
+       </p>
+       <p>
+              </p><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3>
+              Currently, there is no provision to use sequence from
+              multiple slices.
+              </div><p>
+       </p>
+     </div>
+
+     <div class="section" id="d5e17319"><div class="titlepage"><div><div><h4 class="title">4.1.4.&nbsp;openjpa.slice.Names</h4></div></div></div>
+        
+        <p>
+         This plug-in property can be used to register the logical slice names.
+         The value of this property is comma-separated list of slice names.
+         The ordering of the names in this list is
+         <span class="emphasis"><em>significant</em></span> because
+         <a class="link" href="slice_configuration.html#distribution_policy" title="3.3.&nbsp;Implement DistributionPolicy interface">DistributionPolicy</a> and
+		<a class="link" href="slice_configuration.html#replication_policy" title="3.4.&nbsp;Implement ReplicationPolicy interface">ReplicationPolicy</a> receive
+         the input argument of the slice names in the same order.
+        </p>
+        <p>
+        If logical slice names are not registered explicitly via this property,
+        then all logical slice names available in the persistence unit are
+        registered. The ordering of the slice names in this case is alphabetical.
+        </p>
+        <p>
+        If logical slice names are registered explicitly via this property, then
+        any logical slice that is available in the persistence unit but excluded
+        from this list is ignored.
+        </p>
+     </div>
+
+     <div class="section" id="d5e17327"><div class="titlepage"><div><div><h4 class="title">4.1.5.&nbsp;openjpa.slice.ThreadingPolicy</h4></div></div></div>
+        
+        <p>
+        This plug-in property determines the nature of thread pool being used
+        for database operations such as query or flush on individual slices.
+        The value of the property is a
+        fully-qualified class name that implements
+        <a class="ulink" href="http://download.oracle.com/javase/6/docs/api/java/util/concurrent/ExecutorService.html" target="_top">
+        <code class="classname">java.util.concurrent.ExecutorService</code>
+        </a> interface.
+        Two pre-defined pools can be chosen via their aliases namely
+        <code class="classname">fixed</code> or <code class="classname">cached</code>.
+        </p>
+        <p>
+        The pre-defined alias <code class="classname">cached</code> activates a
+        <a class="ulink" href="http://download.oracle.com/javase/6/docs/api/java/util/concurrent/Executors.html#newCachedThreadPool()" target="_top">cached thread pool</a>.
+        A cached thread pool creates new threads as needed, but will reuse
+        previously constructed threads when they are available. This pool
+        is suitable in scenarios that execute many short-lived asynchronous tasks.
+        The way Slice uses the thread pool to execute database operations is
+        akin to such scenario and hence <code class="classname">cached</code> is the default
+        value for this plug-in property.
+        </p>
+        <p>
+        The <code class="classname">fixed</code> alias activates a
+        <a class="ulink" href="http://download.oracle.com/javase/6/docs/api/java/util/concurrent/Executors.html#newFixedThreadPool(int)" target="_top">fixed thread pool</a>.
+        The fixed thread pool can be further parameterized with
+        <code class="classname">CorePoolSize</code>, <code class="classname">MaximumPoolSize</code>,
+        <code class="classname">KeepAliveTime</code> and <code class="classname">RejectedExecutionHandler</code>.
+        The meaning of these parameters are described in
+        <a class="ulink" href="http://download.oracle.com/javase/6/docs/api/java/util/concurrent/ThreadPoolExecutor.html" target="_top">JavaDoc</a>.
+        The users can exercise finer control on thread pool behavior via these
+        parameters.
+        By default, the core pool size is <code class="classname">10</code>, maximum pool size is
+        also <code class="classname">10</code>, keep alive time is <code class="classname">60</code> seconds and
+        rejected execution is
+        <a class="ulink" href="http://download.oracle.com/javase/6/docs/api/java/util/concurrent/ThreadPoolExecutor.AbortPolicy.html" target="_top">aborted</a>.
+        </p>
+        <p>
+        Both of the pre-defined aliases can be parameterized with a fully-qualified
+        class name that implements
+        <a class="ulink" href="http://download.oracle.com/javase/6/docs/api/java/util/concurrent/ThreadFactory.html" target="_top">
+        <code class="classname">java.util.concurrent.ThreadFactory</code>
+        </a> interface.
+        </p>
+     </div>
+
+     <div class="section" id="d5e17353"><div class="titlepage"><div><div><h4 class="title">4.1.6.&nbsp;openjpa.slice.TransactionPolicy</h4></div></div></div>
+      
+      <p>
+      This plug-in property determines the policy for transaction commit
+      across multiple slices. The value of this property is a fully-qualified
+      class name that implements
+      <a class="ulink" href="http://download.oracle.com/javaee/6/api/javax/transaction/TransactionManager.html" target="_top">
+      <code class="classname">javax.transaction.TransactionManager</code>
+      </a> interface.
+      </p>
+      <p>
+      Three pre-defined policies can be chosen
+      by their aliases namely <code class="classname">default</code>,
+      <code class="classname">xa</code> and <code class="classname">jndi</code>.
+      </p>
+      <p>
+      The <code class="classname">default</code> policy employs
+      a Transaction Manager that commits or rolls back transaction on individual
+      slices <span class="emphasis"><em>without</em></span> a two-phase commit protocol.
+      It does <span class="emphasis"><em>not</em></span>
+      guarantee atomic nature of transaction across all the slices because if
+      one or more slice fails to commit, there is no way to rollback the transaction
+      on other slices that committed successfully.
+      </p>
+      <p>
+      The <code class="classname">xa</code> policy employs a Transaction Manager that that commits
+      or rolls back transaction on individual
+      slices using a two-phase commit protocol. The prerequisite to use this scheme
+      is, of course, that all the slices must be configured to use
+      XA-compliant JDBC driver.
+      </p>
+      <p>
+      The <code class="classname">jndi</code> policy employs a Transaction Manager by looking up the
+      JNDI context. The prerequisite to use this transaction
+      manager is, of course, that all the slices must be configured to use
+      XA-compliant JDBC driver.
+      </p><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3>This JNDI based policy is not available currently.</div><p>
+      </p>
+    </div>
+   </div>
+
+   <div class="section" id="d5e17371"><div class="titlepage"><div><div><h3 class="title">4.2.&nbsp;Per-Slice Properties</h3></div></div></div>
+     
+     <p>
+     Any OpenJPA property can be configured for each individual slice. The property name
+     is of the form <code class="classname">openjpa.slice.[Logical slice name].[OpenJPA Property Name]</code>.
+     For example, <code class="classname">openjpa.slice.One.ConnectionURL</code> where <code class="classname">One</code>
+     is the logical slice name and <code class="classname">ConnectionURL</code> is an OpenJPA property
+     name.
+     </p>
+     <p>
+     If a property is not configured for a specific slice, then the value for
+     the property equals to the corresponding <code class="classname">openjpa.*</code> property.
+     </p>
+   </div>
+
+  </div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="slice_configuration.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ref_guide_slice.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ref_guide_integration.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">3.&nbsp;Usage&nbsp;</td><td width="20%" align="center"><a accesskey="h [...]
+        Third Party Integration
+    </td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/4.1.0/apache-openjpa/docs/dbcompatible.html b/4.1.0/apache-openjpa/docs/dbcompatible.html
new file mode 100644
index 000000000..e05f825a3
--- /dev/null
+++ b/4.1.0/apache-openjpa/docs/dbcompatible.html
@@ -0,0 +1,198 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+   <title>3.&nbsp; Compatible Database Matrix</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 3.2 User's Guide"><link rel="up" href="supported_databases.html" title="Appendix&nbsp;2.&nbsp; Supported Databases"><link rel="prev" href="dbsupport.html" title="2.&nbsp; Verified Database Matrix"><link rel="next" href="dbunverified. [...]
+        Compatible Database Matrix
+    </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="dbsupport.html">Prev</a>&nbsp;</td><th width="60%" align="center">Appendix&nbsp;2.&nbsp;
+        Supported Databases
+    </th><td width="20%" align="right">&nbsp;<a accesskey="n" href="dbunverified.html">Next</a></td></tr></table><hr></div><div class="section" id="dbcompatible"><div class="titlepage"><div><div><h2 class="title" style="clear: both">3.&nbsp;
+        Compatible Database Matrix
+    </h2></div></div></div>
+    
+    <p>
+Following is a table of the database and JDBC driver versions that are
+compatible with OpenJPA.  Some of these databases have been tested against this
+version of OpenJPA, while others were added or tested in prior releases and
+may not support all of the new features of this release.  For the list of
+databases that have been fully tested against this release, please refer to the
+<a class="link" href="dbsupport.html" title="2.&nbsp; Verified Database Matrix">Verified Database Matrix</a> section.
+    </p>
+    <div class="table" id="d5e17998"><p class="title"><b>Table&nbsp;2.2.&nbsp;
+            Compatible Databases and JDBC Drivers
+        </b></p><div class="table-contents">
+        
+        <table class="table" summary="&#xA;            Compatible Databases and JDBC Drivers&#xA;        " border="1"><colgroup><col align="left" class="dbname"><col align="left" class="dbversion"><col align="left" class="drivname"><col align="left" class="drivversion"></colgroup><thead><tr><th align="left">
+                        Database Name
+                    </th><th align="left">
+                        Database Version
+                    </th><th align="left">
+                        JDBC Driver Name
+                    </th><th align="left">
+                        JDBC Driver Version
+                    </th></tr></thead><tbody><tr><td align="left">
+                        <a class="link" href="dbsupport_derby.html" title="5.&nbsp; Apache Derby">Apache Derby</a>
+                    </td><td align="left">
+                        10.1.2.1
+                    </td><td align="left">
+                        Apache Derby Embedded JDBC Driver
+                    </td><td align="left">
+                        10.1.2.1
+                    </td></tr><tr><td align="left">
+                        <a class="link" href="dbsupport_interbase.html" title="6.&nbsp; Borland Interbase">Borland Interbase</a>
+                    </td><td align="left">
+                        7.1.0.202
+                    </td><td align="left">
+                        Interclient
+                    </td><td align="left">
+                        4.5.1
+                    </td></tr><tr><td align="left">
+                        <a class="link" href="dbsupport_jdatastore.html" title="7.&nbsp; JDataStore">Borland JDataStore</a>
+                    </td><td align="left">
+                        6.0
+                    </td><td align="left">
+                        Borland JDataStore
+                    </td><td align="left">
+                        6.0
+                    </td></tr><tr><td align="left">
+                        <a class="link" href="dbsupport_db2.html" title="8.&nbsp; IBM DB2">DB2</a>
+                    </td><td align="left">
+                        8.1
+                    </td><td align="left">
+                        IBM DB2 JDBC Universal Driver
+                    </td><td align="left">
+                        1.0.581, 2.10.72
+                    </td></tr><tr><td align="left">
+                        <a class="link" href="dbsupport_empress.html" title="9.&nbsp; Empress">Empress</a>
+                    </td><td align="left">
+                        8.62
+                    </td><td align="left">
+                        Empress Category 2 JDBC Driver
+                    </td><td align="left">
+                        8.62
+                    </td></tr><tr><td align="left">
+                        <a class="link" href="dbsupport_firebird.html" title="12.&nbsp; Firebird">Firebird</a>
+                    </td><td align="left">
+                        1.5, 2.0, 2.1
+                    </td><td align="left">
+                        JayBird JCA/JDBC driver
+                    </td><td align="left">
+                        2.1.6
+                    </td></tr><tr><td align="left">
+                        <a class="link" href="dbsupport_h2.html" title="10.&nbsp; H2 Database Engine">H2 Database Engine</a>
+                    </td><td align="left">
+                        1.1.118
+                    </td><td align="left">
+                        H2
+                    </td><td align="left">
+                        Same as Database Version
+                    </td></tr><tr><td align="left">
+                        <a class="link" href="dbsupport_hypersonic.html" title="11.&nbsp; Hypersonic">Hypersonic Database Engine</a>
+                    </td><td align="left">
+                        1.8.0, 2.0.1 RC2
+                    </td><td align="left">
+                        Hypersonic
+                    </td><td align="left">
+                        Same as Database Version
+                    </td></tr><tr><td align="left">
+                        <a class="link" href="dbsupport_informix.html" title="13.&nbsp; Informix">Informix Dynamic Server</a>
+                    </td><td align="left">
+                        9.30.UC10, 9.4xC7
+                    </td><td align="left">
+                        Informix JDBC driver
+                    </td><td align="left">
+                        2.21.JC2, 3.00 JC3, 3.10 JC1
+                    </td></tr><tr><td align="left">
+                        <a class="link" href="dbsupport_ingres.html" title="14.&nbsp; Ingres Database">Ingres Database</a>
+                    </td><td align="left">
+                        9.2
+                    </td><td align="left">
+                        Ingres JDBC Driver
+                    </td><td align="left">
+                        9.2-3.4.8
+                    </td></tr><tr><td align="left">
+                        <a class="link" href="dbsupport_intersystems_cache.html" title="15.&nbsp; InterSystems Cache">InterSystems Cache</a>
+                    </td><td align="left">
+                        5.0
+                    </td><td align="left">
+                        Cache JDBC Driver
+                    </td><td align="left">
+                        5.0
+                    </td></tr><tr><td align="left">
+                        <a class="link" href="dbsupport_access.html" title="16.&nbsp; Microsoft Access">Microsoft Access</a>
+                    </td><td align="left">
+                        9.0 (a.k.a. "2000")
+                    </td><td align="left">
+                        DataDirect SequeLink
+                    </td><td align="left">
+                        5.4.0038
+                    </td></tr><tr><td align="left">
+                        <a class="link" href="dbsupport_sqlserver.html" title="17.&nbsp; Microsoft SQL Server">Microsoft SQL Server</a>
+                    </td><td align="left">
+                        2000 (8.00)
+                    </td><td align="left">
+                        Microsoft SQL Server JDBC Driver
+                    </td><td align="left">
+                        1.2
+                    </td></tr><tr><td align="left">
+                        <a class="link" href="dbsupport_foxpro.html" title="18.&nbsp; Microsoft FoxPro">Microsoft Visual FoxPro</a>
+                    </td><td align="left">
+                        7.0
+                    </td><td align="left">
+                        DataDirect SequeLink
+                    </td><td align="left">
+                        5.4.0038
+                    </td></tr><tr><td align="left">
+                        <a class="link" href="dbsupport_mysql.html" title="19.&nbsp; MySQL">MySQL</a>
+                    </td><td align="left">
+                        3.23.43-log
+                    </td><td align="left">
+                        MySQL Driver
+                    </td><td align="left">
+                        3.0.14
+                    </td></tr><tr><td align="left">
+                        <a class="link" href="dbsupport_oracle.html" title="21.&nbsp; Oracle">Oracle</a>
+                    </td><td align="left">
+                        8.1, 9.2
+                    </td><td align="left">
+                        Oracle JDBC driver
+                    </td><td align="left">
+                        10.2.0.1
+                    </td></tr><tr><td align="left">
+                        <a class="link" href="dbsupport_pointbase.html" title="22.&nbsp; Pointbase">Pointbase</a>
+                    </td><td align="left">
+                        4.4
+                    </td><td align="left">
+                        Pointbase JDBC driver
+                    </td><td align="left">
+                        4.4 (4.4)
+                    </td></tr><tr><td align="left">
+                        <a class="link" href="dbsupport_postgresql.html" title="23.&nbsp; PostgreSQL">PostgreSQL</a>
+                    </td><td align="left">
+                        7.2.1, 8.1.5
+                    </td><td align="left">
+                        PostgreSQL Native Driver
+                    </td><td align="left">
+                        8.1
+                    </td></tr><tr><td align="left">
+                        <a class="link" href="dbsupport_soliddb.html" title="24.&nbsp; IBM solidDB">IBM solidDB</a>
+                    </td><td align="left">
+                        6.5.0.0
+                    </td><td align="left">
+                        solidDB JDBC Driver
+                    </td><td align="left">
+                        2.0
+                    </td></tr><tr><td align="left">
+                        <a class="link" href="dbsupport_sybase.html" title="25.&nbsp; Sybase Adaptive Server">Sybase Adaptive Server Enterprise</a>
+                    </td><td align="left">
+                        12.5
+                    </td><td align="left">
+                        jConnect
+                    </td><td align="left">
+                        5.5 (5.5)
+                    </td></tr></tbody></table>
+    </div></div><br class="table-break">
+
+    </div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="dbsupport.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="supported_databases.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="dbunverified.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">2.&nbsp;
+        Verified Database Matrix
+    &nbsp;</td><td width="20%" align="center"><a accesskey="h" href="manual.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;4.&nbsp;
+        Unverified Database Matrix
+    </td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/4.1.0/apache-openjpa/docs/dbsupport.html b/4.1.0/apache-openjpa/docs/dbsupport.html
new file mode 100644
index 000000000..ee37d2bde
--- /dev/null
+++ b/4.1.0/apache-openjpa/docs/dbsupport.html
@@ -0,0 +1,132 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+   <title>2.&nbsp; Verified Database Matrix</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 3.2 User's Guide"><link rel="up" href="supported_databases.html" title="Appendix&nbsp;2.&nbsp; Supported Databases"><link rel="prev" href="supported_databases.html" title="Appendix&nbsp;2.&nbsp; Supported Databases"><link rel="next" hr [...]
+        Verified Database Matrix
+    </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="supported_databases.html">Prev</a>&nbsp;</td><th width="60%" align="center">Appendix&nbsp;2.&nbsp;
+        Supported Databases
+    </th><td width="20%" align="right">&nbsp;<a accesskey="n" href="dbcompatible.html">Next</a></td></tr></table><hr></div><div class="section" id="dbsupport"><div class="titlepage"><div><div><h2 class="title" style="clear: both">2.&nbsp;
+        Verified Database Matrix
+    </h2></div></div></div>
+    
+    <p>
+Following is a table of the supported database and JDBC driver versions that
+have been verified against this version of OpenJPA.  For the list of other
+databases and drivers that were tested in prior releases or by other OpenJPA
+users, but may not support every feature of this release, please refer to the
+<a class="link" href="dbcompatible.html" title="3.&nbsp; Compatible Database Matrix">Compatible Database Matrix</a> section.
+    </p>
+    <div class="table" id="d5e17908"><p class="title"><b>Table&nbsp;2.1.&nbsp;
+            Supported Databases and JDBC Drivers
+        </b></p><div class="table-contents">
+        
+        <table class="table" summary="&#xA;            Supported Databases and JDBC Drivers&#xA;        " border="1"><colgroup><col align="left" class="dbname"><col align="left" class="dbversion"><col align="left" class="drivname"><col align="left" class="drivversion"></colgroup><thead><tr><th align="left">
+                        Database Name
+                    </th><th align="left">
+                        Database Version
+                    </th><th align="left">
+                        JDBC Driver Name
+                    </th><th align="left">
+                        JDBC Driver Version
+                    </th></tr></thead><tbody><tr><td align="left">
+                        <a class="link" href="dbsupport_derby.html" title="5.&nbsp; Apache Derby">Apache Derby</a>
+                    </td><td align="left">
+                        10.2.2.0, 10.3.3.0, 10.4.2.0, 10.5.3.0, 10.8.2.2, 10.14.2.0
+                    </td><td align="left">
+                        Apache Derby Embedded JDBC Driver
+                    </td><td align="left">
+                        Same as Database Version
+                    </td></tr><tr><td align="left">
+                        <a class="link" href="dbsupport_h2.html" title="10.&nbsp; H2 Database Engine">H2</a>
+                    </td><td align="left">
+                        1.4.195, 1.4.196
+                    </td><td align="left">
+                        H2 Embedded JDBC Driver
+                    </td><td align="left">
+                        Same as Database Version
+                    </td></tr><tr><td align="left">
+                        <a class="link" href="dbsupport_sqlserver.html" title="17.&nbsp; Microsoft SQL Server">Microsoft SQL Server</a>
+                    </td><td align="left">
+                        2005 (9.00), 2008 (10.00), 2017
+                    </td><td align="left">
+                        Microsoft SQL Server JDBC Driver
+                    </td><td align="left">
+                        1.2 or 2.0, 9.2.1
+                    </td></tr><tr><td align="left">
+                        <a class="link" href="dbsupport_oracle.html" title="21.&nbsp; Oracle">Oracle</a>
+                    </td><td align="left">
+                        10g (10.1, 10.2), 11g (11.1, 11.2), 12c, 18c, 19c
+                    </td><td align="left">
+                        Oracle JDBC driver
+                    </td><td align="left">
+                        11.2.0.1, 11.2.0.4, 19.3.0.0
+                    </td></tr><tr><td align="left">
+                        <a class="link" href="dbsupport_postgresql.html" title="23.&nbsp; PostgreSQL">PostgreSQL</a>
+                    </td><td align="left">
+                        8.3.5, 8.4, 9, 11, 12, 13
+                    </td><td align="left">
+                        PostgreSQL Native Driver
+                    </td><td align="left">
+                        8.3 JDBC3 (build 603), 8.4 JDBC3 (build 701), 42.2.5, , 42.2.19
+                    </td></tr><tr><td align="left">
+                        <a class="link" href="dbsupport_mysql.html" title="19.&nbsp; MySQL">MySQL</a>
+                    </td><td align="left">
+                        5.0.26, 5.1.6, 5.7
+                    </td><td align="left">
+                        MySQL Driver
+                    </td><td align="left">
+                        5.1.6, 5.1.47
+                    </td></tr><tr><td align="left">
+                        <a class="link" href="dbsupport_mariadb.html" title="20.&nbsp; MariaDB">MariaDB</a>
+                    </td><td align="left">
+                        10.5
+                    </td><td align="left">
+                        MariaDB Driver
+                    </td><td align="left">
+                        2.7.2
+                    </td></tr><tr><td align="left">
+                        <a class="link" href="dbsupport_hypersonic.html" title="11.&nbsp; Hypersonic">Hypersonic HSQLDB</a>
+                    </td><td align="left">
+                        2.5.1
+                    </td><td align="left">
+                        HSQLDB Driver
+                    </td><td align="left">
+                        Same as Database Version
+                    </td></tr><tr><td align="left">
+                        <a class="link" href="dbsupport_db2.html" title="8.&nbsp; IBM DB2">IBM DB2</a>
+                    </td><td align="left">
+                        8.1, 8.2, 9.1, 9.5, 9.7
+                    </td><td align="left">
+                        IBM DB2 JDBC Universal Driver
+                    </td><td align="left">
+                        3.50.152
+                    </td></tr><tr><td align="left">
+                        <a class="link" href="dbsupport_informix.html" title="13.&nbsp; Informix">IBM Informix Dynamic Server</a>
+                    </td><td align="left">
+                        10.00xC6, 11.10xC1, 11.5xC1
+                    </td><td align="left">
+                        Informix JDBC driver
+                    </td><td align="left">
+                        3.00 JC3, 3.10 JC1, 3.50 JC1
+                    </td></tr><tr><td align="left">
+                        <a class="link" href="dbsupport_soliddb.html" title="24.&nbsp; IBM solidDB">IBM solidDB</a>
+                    </td><td align="left">
+                        6.5.0.0
+                    </td><td align="left">
+                        solidDB JDBC Driver
+                    </td><td align="left">
+                        2.0
+                    </td></tr><tr><td align="left">
+                        <a class="link" href="dbsupport_sybase.html" title="25.&nbsp; Sybase Adaptive Server">Sybase Adaptive Server Enterprise</a>
+                    </td><td align="left">
+                        12.5, 15.0
+                    </td><td align="left">
+                        jConnect
+                    </td><td align="left">
+                        5.5, 6.0
+                    </td></tr></tbody></table>
+    </div></div><br class="table-break">
+    </div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="supported_databases.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="supported_databases.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="dbcompatible.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Appendix&nbsp;2.&nbsp;
+        Supported Databases
+    &nbsp;</td><td width="20%" align="center"><a accesskey="h" href="manual.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;3.&nbsp;
+        Compatible Database Matrix
+    </td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/4.1.0/apache-openjpa/docs/dbsupport_access.html b/4.1.0/apache-openjpa/docs/dbsupport_access.html
new file mode 100644
index 000000000..61db8dcf2
--- /dev/null
+++ b/4.1.0/apache-openjpa/docs/dbsupport_access.html
@@ -0,0 +1,36 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+   <title>16.&nbsp; Microsoft Access</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 3.2 User's Guide"><link rel="up" href="supported_databases.html" title="Appendix&nbsp;2.&nbsp; Supported Databases"><link rel="prev" href="dbsupport_intersystems_cache.html" title="15.&nbsp; InterSystems Cache"><link rel="next" href="dbsuppor [...]
+            Microsoft Access
+        </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="dbsupport_intersystems_cache.html">Prev</a>&nbsp;</td><th width="60%" align="center">Appendix&nbsp;2.&nbsp;
+        Supported Databases
+    </th><td width="20%" align="right">&nbsp;<a accesskey="n" href="dbsupport_sqlserver.html">Next</a></td></tr></table><hr></div><div class="section" id="dbsupport_access"><div class="titlepage"><div><div><h2 class="title" style="clear: both">16.&nbsp;
+            Microsoft Access
+        </h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="dbsupport_access.html#dbsupport_access_issues">16.1. 
+                Known issues with Microsoft Access
+            </a></span></dt></dl></div>
+        
+        <div class="example" id="example_props_access"><p class="title"><b>Example&nbsp;2.12.&nbsp;
+                Example properties for Microsoft Access
+            </b></p><div class="example-contents">
+            
+<pre class="programlisting">
+openjpa.ConnectionDriverName: com.ddtek.jdbc.sequelink.SequeLinkDriver
+openjpa.ConnectionURL: jdbc:sequelink://SERVER_NAME:SERVER_PORT
+</pre>
+        </div></div><br class="example-break">
+        <div class="section" id="dbsupport_access_issues"><div class="titlepage"><div><div><h3 class="title">16.1.&nbsp;
+                Known issues with Microsoft Access
+            </h3></div></div></div>
+            
+            <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                    <p>
+Using the Sun JDBC-ODBC bridge to connect is not supported.
+                    </p>
+                </li></ul></div>
+        </div>
+    </div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="dbsupport_intersystems_cache.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="supported_databases.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="dbsupport_sqlserver.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">15.&nbsp;
+            InterSystems Cache
+        &nbsp;</td><td width="20%" align="center"><a accesskey="h" href="manual.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;17.&nbsp;
+            Microsoft SQL Server
+        </td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/4.1.0/apache-openjpa/docs/dbsupport_db2.html b/4.1.0/apache-openjpa/docs/dbsupport_db2.html
new file mode 100644
index 000000000..79e1b19b8
--- /dev/null
+++ b/4.1.0/apache-openjpa/docs/dbsupport_db2.html
@@ -0,0 +1,83 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+   <title>8.&nbsp; IBM DB2</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 3.2 User's Guide"><link rel="up" href="supported_databases.html" title="Appendix&nbsp;2.&nbsp; Supported Databases"><link rel="prev" href="dbsupport_jdatastore.html" title="7.&nbsp; JDataStore"><link rel="next" href="dbsupport_empress.html" title="9.&n [...]
+            IBM DB2
+        </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="dbsupport_jdatastore.html">Prev</a>&nbsp;</td><th width="60%" align="center">Appendix&nbsp;2.&nbsp;
+        Supported Databases
+    </th><td width="20%" align="right">&nbsp;<a accesskey="n" href="dbsupport_empress.html">Next</a></td></tr></table><hr></div><div class="section" id="dbsupport_db2"><div class="titlepage"><div><div><h2 class="title" style="clear: both">8.&nbsp;
+            IBM DB2
+        </h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="dbsupport_db2.html#dbsupport_db2_issues">8.1. 
+                Known issues with DB2
+            </a></span></dt></dl></div>
+        
+        <div class="example" id="example_props_db2"><p class="title"><b>Example&nbsp;2.4.&nbsp;
+                Example properties for IBM DB2
+            </b></p><div class="example-contents">
+            
+<pre class="programlisting">
+openjpa.ConnectionDriverName: com.ibm.db2.jcc.DB2Driver
+openjpa.ConnectionURL: jdbc:db2://SERVER_NAME:SERVER_PORT/DB_NAME
+</pre>
+        </div></div><br class="example-break">
+        <div class="section" id="dbsupport_db2_issues"><div class="titlepage"><div><div><h3 class="title">8.1.&nbsp;
+                Known issues with DB2
+            </h3></div></div></div>
+            
+            <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                    <p>
+Floats and doubles may lose precision when stored.
+                    </p>
+                </li><li class="listitem">
+                    <p>
+Empty char values are stored as NULL.
+                    </p>
+                </li><li class="listitem">
+                    <p>
+Fields of type BLOB and CLOB are limited to 1M. This number can be increased by
+extending <code class="classname">DB2Dictionary</code>.
+                    </p>
+                </li><li class="listitem">
+                    <p>
+Explicit creation of indexes specified by the OpenJPA @Index annotation will
+fail on DB2 for iSeries if the default schema used by the JDBC driver does not
+exist.  If a default schema is not specified on the connection, the iSeries
+will default to the user profile name.  If a schema of that name does not
+exist, DB2 on iSeries will not create the schema, resulting in a failure when
+creating the index.  The failure message will look similar to: "[SQL0204]
+USERNAME in QSYS type *LIB not found."  To work around this issue, specify a
+default schema on the JDBC URL or data source property and make sure that
+schema exists or create a schema which matches the user profile of the
+connection.
+                    </p>
+                </li><li class="listitem">
+                    <p>
+Use of DB2 on z/OS with the IBM JCC driver requires the DESCSTAT subsystem
+parameter value to be set to 'YES'.  If this parameter is set to 'NO', the
+mapping tool will fail with a persistence exception containing this text:
+"Invalid parameter: Unknown column name TABLE_SCHEM".  After changing the value
+of DESCSTAT, DB2 metadata tables must be recreated by running the DSNTIJMS job.
+See DB2 for z/OS documentation for additional information.
+                    </p>
+                </li><li class="listitem">
+                    <p>
+When using LOBs with persistent attributes of a streaming data type (e.g.
+<code class="literal">java.io.InputStream</code>) in the case of very large LOB, DB2 JCC
+driver will automatically use progressive streaming to retrieve the LOB data.
+With progressiveStreaming, the inputStream retrieved must be fully materialized
+before the next iteration of call to rs.next(). By default
+this will result in a LobClosedException when OpenJPA processes the InputStream.
+                    </p>
+                    <p>
+To work around this condition you may force fullyMaterializedLobData to true in
+the connection URL as shown below :
+</p><pre class="programlisting">
+openjpa.ConnectionURL: jdbc:db2://localhost:50000/demodb:fullyMaterializeLobData=true;progressiveStreaming=NO
+</pre><p>
+                    </p>
+                </li></ul></div>
+        </div>
+    </div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="dbsupport_jdatastore.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="supported_databases.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="dbsupport_empress.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">7.&nbsp;
+            JDataStore
+        &nbsp;</td><td width="20%" align="center"><a accesskey="h" href="manual.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;9.&nbsp;
+            Empress
+        </td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/4.1.0/apache-openjpa/docs/dbsupport_derby.html b/4.1.0/apache-openjpa/docs/dbsupport_derby.html
new file mode 100644
index 000000000..96a4a71d2
--- /dev/null
+++ b/4.1.0/apache-openjpa/docs/dbsupport_derby.html
@@ -0,0 +1,24 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+   <title>5.&nbsp; Apache Derby</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 3.2 User's Guide"><link rel="up" href="supported_databases.html" title="Appendix&nbsp;2.&nbsp; Supported Databases"><link rel="prev" href="dbunverified.html" title="4.&nbsp; Unverified Database Matrix"><link rel="next" href="dbsupport_interbase.ht [...]
+            Apache Derby
+        </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="dbunverified.html">Prev</a>&nbsp;</td><th width="60%" align="center">Appendix&nbsp;2.&nbsp;
+        Supported Databases
+    </th><td width="20%" align="right">&nbsp;<a accesskey="n" href="dbsupport_interbase.html">Next</a></td></tr></table><hr></div><div class="section" id="dbsupport_derby"><div class="titlepage"><div><div><h2 class="title" style="clear: both">5.&nbsp;
+            Apache Derby
+        </h2></div></div></div>
+        
+        <div class="example" id="example_props_derby"><p class="title"><b>Example&nbsp;2.1.&nbsp;
+                Example properties for Derby
+            </b></p><div class="example-contents">
+            
+<pre class="programlisting">
+openjpa.ConnectionDriverName: org.apache.derby.jdbc.EmbeddedDriver
+openjpa.ConnectionURL: jdbc:derby:DB_NAME;create=true
+</pre>
+        </div></div><br class="example-break">
+    </div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="dbunverified.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="supported_databases.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="dbsupport_interbase.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">4.&nbsp;
+        Unverified Database Matrix
+    &nbsp;</td><td width="20%" align="center"><a accesskey="h" href="manual.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;6.&nbsp;
+            Borland Interbase
+        </td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/4.1.0/apache-openjpa/docs/dbsupport_empress.html b/4.1.0/apache-openjpa/docs/dbsupport_empress.html
new file mode 100644
index 000000000..f4e4d24cc
--- /dev/null
+++ b/4.1.0/apache-openjpa/docs/dbsupport_empress.html
@@ -0,0 +1,42 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+   <title>9.&nbsp; Empress</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 3.2 User's Guide"><link rel="up" href="supported_databases.html" title="Appendix&nbsp;2.&nbsp; Supported Databases"><link rel="prev" href="dbsupport_db2.html" title="8.&nbsp; IBM DB2"><link rel="next" href="dbsupport_h2.html" title="10.&nbsp; H2 Databa [...]
+            Empress
+        </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="dbsupport_db2.html">Prev</a>&nbsp;</td><th width="60%" align="center">Appendix&nbsp;2.&nbsp;
+        Supported Databases
+    </th><td width="20%" align="right">&nbsp;<a accesskey="n" href="dbsupport_h2.html">Next</a></td></tr></table><hr></div><div class="section" id="dbsupport_empress"><div class="titlepage"><div><div><h2 class="title" style="clear: both">9.&nbsp;
+            Empress
+        </h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="dbsupport_empress.html#dbsupport_empress_issues">9.1. 
+                Known issues with Empress
+            </a></span></dt></dl></div>
+        
+        <div class="example" id="example_props_empress"><p class="title"><b>Example&nbsp;2.5.&nbsp;
+                Example properties for Empress
+            </b></p><div class="example-contents">
+            
+<pre class="programlisting">
+openjpa.ConnectionDriverName: empress.jdbc.empressDriver
+openjpa.ConnectionURL: jdbc:empress://SERVER=yourserver;PORT=6322;DATABASE=yourdb
+</pre>
+        </div></div><br class="example-break">
+        <div class="section" id="dbsupport_empress_issues"><div class="titlepage"><div><div><h3 class="title">9.1.&nbsp;
+                Known issues with Empress
+            </h3></div></div></div>
+            
+            <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                    <p>
+Empress enforces pessimistic semantics (lock on
+read) when not using <code class="literal">AllowConcurrentRead</code> property (which
+bypasses row locking) for <code class="classname">EmpressDictionary</code>.
+                    </p>
+                </li><li class="listitem">
+                    <p>
+Only the category 2 non-local driver is supported.
+                    </p>
+                </li></ul></div>
+        </div>
+    </div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="dbsupport_db2.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="supported_databases.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="dbsupport_h2.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">8.&nbsp;
+            IBM DB2
+        &nbsp;</td><td width="20%" align="center"><a accesskey="h" href="manual.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;10.&nbsp;
+            H2 Database Engine
+        </td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/4.1.0/apache-openjpa/docs/dbsupport_firebird.html b/4.1.0/apache-openjpa/docs/dbsupport_firebird.html
new file mode 100644
index 000000000..36b9b8192
--- /dev/null
+++ b/4.1.0/apache-openjpa/docs/dbsupport_firebird.html
@@ -0,0 +1,41 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+   <title>12.&nbsp; Firebird</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 3.2 User's Guide"><link rel="up" href="supported_databases.html" title="Appendix&nbsp;2.&nbsp; Supported Databases"><link rel="prev" href="dbsupport_hypersonic.html" title="11.&nbsp; Hypersonic"><link rel="next" href="dbsupport_informix.html" title=" [...]
+            Firebird
+        </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="dbsupport_hypersonic.html">Prev</a>&nbsp;</td><th width="60%" align="center">Appendix&nbsp;2.&nbsp;
+        Supported Databases
+    </th><td width="20%" align="right">&nbsp;<a accesskey="n" href="dbsupport_informix.html">Next</a></td></tr></table><hr></div><div class="section" id="dbsupport_firebird"><div class="titlepage"><div><div><h2 class="title" style="clear: both">12.&nbsp;
+            Firebird
+        </h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="dbsupport_firebird.html#dbsupport_firebird_issues">12.1. 
+                Known issues with Firebird
+            </a></span></dt></dl></div>
+        
+        <div class="example" id="example_props_firebird"><p class="title"><b>Example&nbsp;2.8.&nbsp;
+                Example properties for Firebird
+            </b></p><div class="example-contents">
+            
+<pre class="programlisting">
+openjpa.ConnectionDriverName: org.firebirdsql.jdbc.FBDriver
+openjpa.ConnectionURL: jdbc:firebirdsql:SERVER_NAME/3050:DB_PATH_OR_ALIAS
+</pre>
+        </div></div><br class="example-break">
+        <div class="section" id="dbsupport_firebird_issues"><div class="titlepage"><div><div><h3 class="title">12.1.&nbsp;
+                Known issues with Firebird
+            </h3></div></div></div>
+            
+            <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                    <p>
+Firebird does not support auto-increment columns.
+                    </p>
+                </li><li class="listitem">
+                    <p>
+In order to use many of JPQL functions with Firebird 1.5, Interbase UDFs
+have to be available in the database.
+                    </p>
+                </li></ul></div>
+        </div>
+    </div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="dbsupport_hypersonic.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="supported_databases.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="dbsupport_informix.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">11.&nbsp;
+            Hypersonic
+        &nbsp;</td><td width="20%" align="center"><a accesskey="h" href="manual.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;13.&nbsp;
+            Informix
+        </td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/4.1.0/apache-openjpa/docs/dbsupport_foxpro.html b/4.1.0/apache-openjpa/docs/dbsupport_foxpro.html
new file mode 100644
index 000000000..4e61c4ef6
--- /dev/null
+++ b/4.1.0/apache-openjpa/docs/dbsupport_foxpro.html
@@ -0,0 +1,36 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+   <title>18.&nbsp; Microsoft FoxPro</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 3.2 User's Guide"><link rel="up" href="supported_databases.html" title="Appendix&nbsp;2.&nbsp; Supported Databases"><link rel="prev" href="dbsupport_sqlserver.html" title="17.&nbsp; Microsoft SQL Server"><link rel="next" href="dbsupport_mysql [...]
+            Microsoft FoxPro
+        </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="dbsupport_sqlserver.html">Prev</a>&nbsp;</td><th width="60%" align="center">Appendix&nbsp;2.&nbsp;
+        Supported Databases
+    </th><td width="20%" align="right">&nbsp;<a accesskey="n" href="dbsupport_mysql.html">Next</a></td></tr></table><hr></div><div class="section" id="dbsupport_foxpro"><div class="titlepage"><div><div><h2 class="title" style="clear: both">18.&nbsp;
+            Microsoft FoxPro
+        </h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="dbsupport_foxpro.html#dbsupport_foxpro_issues">18.1. 
+                Known issues with Microsoft FoxPro
+            </a></span></dt></dl></div>
+        
+        <div class="example" id="example_props_foxpro"><p class="title"><b>Example&nbsp;2.14.&nbsp;
+                Example properties for Microsoft FoxPro
+            </b></p><div class="example-contents">
+            
+<pre class="programlisting">
+openjpa.ConnectionDriverName: com.ddtek.jdbc.sequelink.SequeLinkDriver
+openjpa.ConnectionURL: jdbc:sequelink://SERVER_NAME:SERVER_PORT
+</pre>
+        </div></div><br class="example-break">
+        <div class="section" id="dbsupport_foxpro_issues"><div class="titlepage"><div><div><h3 class="title">18.1.&nbsp;
+                Known issues with Microsoft FoxPro
+            </h3></div></div></div>
+            
+            <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                    <p>
+Using the Sun JDBC-ODBC bridge to connect is not supported.
+                    </p>
+                </li></ul></div>
+        </div>
+    </div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="dbsupport_sqlserver.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="supported_databases.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="dbsupport_mysql.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">17.&nbsp;
+            Microsoft SQL Server
+        &nbsp;</td><td width="20%" align="center"><a accesskey="h" href="manual.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;19.&nbsp;
+            MySQL
+        </td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/4.1.0/apache-openjpa/docs/dbsupport_h2.html b/4.1.0/apache-openjpa/docs/dbsupport_h2.html
new file mode 100644
index 000000000..bf14d0fa4
--- /dev/null
+++ b/4.1.0/apache-openjpa/docs/dbsupport_h2.html
@@ -0,0 +1,39 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+   <title>10.&nbsp; H2 Database Engine</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 3.2 User's Guide"><link rel="up" href="supported_databases.html" title="Appendix&nbsp;2.&nbsp; Supported Databases"><link rel="prev" href="dbsupport_empress.html" title="9.&nbsp; Empress"><link rel="next" href="dbsupport_hypersonic.html" ti [...]
+            H2 Database Engine
+        </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="dbsupport_empress.html">Prev</a>&nbsp;</td><th width="60%" align="center">Appendix&nbsp;2.&nbsp;
+        Supported Databases
+    </th><td width="20%" align="right">&nbsp;<a accesskey="n" href="dbsupport_hypersonic.html">Next</a></td></tr></table><hr></div><div class="section" id="dbsupport_h2"><div class="titlepage"><div><div><h2 class="title" style="clear: both">10.&nbsp;
+            H2 Database Engine
+        </h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="dbsupport_h2.html#dbsupport_h2_issues">10.1. 
+                Known issues with H2 Database Engine
+            </a></span></dt></dl></div>
+        
+        <div class="example" id="example_props_h2"><p class="title"><b>Example&nbsp;2.6.&nbsp;
+                Example properties for H2 Database Engine
+            </b></p><div class="example-contents">
+            
+<pre class="programlisting">
+openjpa.ConnectionDriverName: org.h2.Driver
+openjpa.ConnectionURL: jdbc:h2:DB_NAME
+</pre>
+        </div></div><br class="example-break">
+        <div class="section" id="dbsupport_h2_issues"><div class="titlepage"><div><div><h3 class="title">10.1.&nbsp;
+                Known issues with H2 Database Engine
+            </h3></div></div></div>
+            
+            <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                    <p>
+<code class="classname">UUID</code> support allows usage of binary data on entities. 
+If the user wants to exchange <code class="classname">String</code> for 
+<code class="classname">UUID</code>, it is necessary to previously convert the 
+<code class="classname">String</code> to UUID type in database.
+                    </p>
+                </li></ul></div>
+        </div>
+    </div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="dbsupport_empress.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="supported_databases.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="dbsupport_hypersonic.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">9.&nbsp;
+            Empress
+        &nbsp;</td><td width="20%" align="center"><a accesskey="h" href="manual.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;11.&nbsp;
+            Hypersonic
+        </td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/4.1.0/apache-openjpa/docs/dbsupport_hypersonic.html b/4.1.0/apache-openjpa/docs/dbsupport_hypersonic.html
new file mode 100644
index 000000000..8f924ccb2
--- /dev/null
+++ b/4.1.0/apache-openjpa/docs/dbsupport_hypersonic.html
@@ -0,0 +1,38 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+   <title>11.&nbsp; Hypersonic</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 3.2 User's Guide"><link rel="up" href="supported_databases.html" title="Appendix&nbsp;2.&nbsp; Supported Databases"><link rel="prev" href="dbsupport_h2.html" title="10.&nbsp; H2 Database Engine"><link rel="next" href="dbsupport_firebird.html" title [...]
+            Hypersonic
+        </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="dbsupport_h2.html">Prev</a>&nbsp;</td><th width="60%" align="center">Appendix&nbsp;2.&nbsp;
+        Supported Databases
+    </th><td width="20%" align="right">&nbsp;<a accesskey="n" href="dbsupport_firebird.html">Next</a></td></tr></table><hr></div><div class="section" id="dbsupport_hypersonic"><div class="titlepage"><div><div><h2 class="title" style="clear: both">11.&nbsp;
+            Hypersonic
+        </h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="dbsupport_hypersonic.html#dbsupport_hypersonic_issues">11.1. 
+                Known issues with Hypersonic
+            </a></span></dt></dl></div>
+        
+        <div class="example" id="example_props_hypersonic"><p class="title"><b>Example&nbsp;2.7.&nbsp;
+                Example properties for Hypersonic
+            </b></p><div class="example-contents">
+            
+<pre class="programlisting">
+openjpa.ConnectionDriverName: org.hsqldb.jdbcDriver
+openjpa.ConnectionURL: jdbc:hsqldb:DB_NAME
+</pre>
+        </div></div><br class="example-break">
+        <div class="section" id="dbsupport_hypersonic_issues"><div class="titlepage"><div><div><h3 class="title">11.1.&nbsp;
+                Known issues with Hypersonic
+            </h3></div></div></div>
+            
+            <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                    <p>
+Hypersonic does not support pessimistic locking, so non-optimistic transactions
+will fail unless the <code class="literal">SimulateLocking</code> property is set for the
+<a class="link" href="ref_guide_conf_jdbc.html#openjpa.jdbc.DBDictionary" title="6.2.&nbsp; openjpa.jdbc.DBDictionary"> openjpa.jdbc.DBDictionary</a>
+                    </p>
+                </li></ul></div>
+        </div>
+    </div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="dbsupport_h2.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="supported_databases.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="dbsupport_firebird.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">10.&nbsp;
+            H2 Database Engine
+        &nbsp;</td><td width="20%" align="center"><a accesskey="h" href="manual.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;12.&nbsp;
+            Firebird
+        </td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/4.1.0/apache-openjpa/docs/dbsupport_informix.html b/4.1.0/apache-openjpa/docs/dbsupport_informix.html
new file mode 100644
index 000000000..003fc2030
--- /dev/null
+++ b/4.1.0/apache-openjpa/docs/dbsupport_informix.html
@@ -0,0 +1,37 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+   <title>13.&nbsp; Informix</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 3.2 User's Guide"><link rel="up" href="supported_databases.html" title="Appendix&nbsp;2.&nbsp; Supported Databases"><link rel="prev" href="dbsupport_firebird.html" title="12.&nbsp; Firebird"><link rel="next" href="dbsupport_ingres.html" title="14.&nb [...]
+            Informix
+        </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="dbsupport_firebird.html">Prev</a>&nbsp;</td><th width="60%" align="center">Appendix&nbsp;2.&nbsp;
+        Supported Databases
+    </th><td width="20%" align="right">&nbsp;<a accesskey="n" href="dbsupport_ingres.html">Next</a></td></tr></table><hr></div><div class="section" id="dbsupport_informix"><div class="titlepage"><div><div><h2 class="title" style="clear: both">13.&nbsp;
+            Informix
+        </h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="dbsupport_informix.html#dbsupport_informix_issues">13.1. 
+                Known issues with Informix
+            </a></span></dt></dl></div>
+        
+        <div class="example" id="example_props_informix"><p class="title"><b>Example&nbsp;2.9.&nbsp;
+                Example properties for Informix Dynamic Server
+            </b></p><div class="example-contents">
+            
+<pre class="programlisting">
+openjpa.ConnectionDriverName: com.informix.jdbc.IfxDriver
+openjpa.ConnectionURL: \
+  jdbc:informix-sqli://SERVER_NAME:SERVER_PORT/DB_NAME:INFORMIXSERVER=SERVER_ID
+</pre>
+        </div></div><br class="example-break">
+        <div class="section" id="dbsupport_informix_issues"><div class="titlepage"><div><div><h3 class="title">13.1.&nbsp;
+                Known issues with Informix
+            </h3></div></div></div>
+            
+            <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                    <p>
+None
+                    </p>
+                </li></ul></div>
+        </div>
+    </div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="dbsupport_firebird.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="supported_databases.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="dbsupport_ingres.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">12.&nbsp;
+            Firebird
+        &nbsp;</td><td width="20%" align="center"><a accesskey="h" href="manual.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;14.&nbsp;
+            Ingres Database
+        </td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/4.1.0/apache-openjpa/docs/dbsupport_ingres.html b/4.1.0/apache-openjpa/docs/dbsupport_ingres.html
new file mode 100644
index 000000000..71d7fe183
--- /dev/null
+++ b/4.1.0/apache-openjpa/docs/dbsupport_ingres.html
@@ -0,0 +1,38 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+   <title>14.&nbsp; Ingres Database</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 3.2 User's Guide"><link rel="up" href="supported_databases.html" title="Appendix&nbsp;2.&nbsp; Supported Databases"><link rel="prev" href="dbsupport_informix.html" title="13.&nbsp; Informix"><link rel="next" href="dbsupport_intersystems_cache. [...]
+            Ingres Database
+        </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="dbsupport_informix.html">Prev</a>&nbsp;</td><th width="60%" align="center">Appendix&nbsp;2.&nbsp;
+        Supported Databases
+    </th><td width="20%" align="right">&nbsp;<a accesskey="n" href="dbsupport_intersystems_cache.html">Next</a></td></tr></table><hr></div><div class="section" id="dbsupport_ingres"><div class="titlepage"><div><div><h2 class="title" style="clear: both">14.&nbsp;
+            Ingres Database
+        </h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="dbsupport_ingres.html#dbsupport_ingres_issues">14.1. 
+                Known issues with Ingres
+            </a></span></dt></dl></div>
+        
+        <div class="example" id="example_props_ingres"><p class="title"><b>Example&nbsp;2.10.&nbsp;
+                Example properties for Ingres
+            </b></p><div class="example-contents">
+            
+<pre class="programlisting">
+openjpa.ConnectionDriverName: com.ingres.jdbc.IngresDriver
+openjpa.ConnectionURL: \
+    jdbc:ingres://SERVER_NAME:DAS_SERVER_PORT/DB_NAME
+</pre>
+        </div></div><br class="example-break">
+        <div class="section" id="dbsupport_ingres_issues"><div class="titlepage"><div><div><h3 class="title">14.1.&nbsp;
+                Known issues with Ingres
+            </h3></div></div></div>
+            
+            <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                    <p>
+                        Databases must be created with the -n flag for Unicode compatibility in
+                        order to use LOBs.
+                    </p>
+                </li></ul></div>
+        </div>
+    </div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="dbsupport_informix.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="supported_databases.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="dbsupport_intersystems_cache.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">13.&nbsp;
+            Informix
+        &nbsp;</td><td width="20%" align="center"><a accesskey="h" href="manual.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;15.&nbsp;
+            InterSystems Cache
+        </td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/4.1.0/apache-openjpa/docs/dbsupport_interbase.html b/4.1.0/apache-openjpa/docs/dbsupport_interbase.html
new file mode 100644
index 000000000..a883fa505
--- /dev/null
+++ b/4.1.0/apache-openjpa/docs/dbsupport_interbase.html
@@ -0,0 +1,42 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+   <title>6.&nbsp; Borland Interbase</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 3.2 User's Guide"><link rel="up" href="supported_databases.html" title="Appendix&nbsp;2.&nbsp; Supported Databases"><link rel="prev" href="dbsupport_derby.html" title="5.&nbsp; Apache Derby"><link rel="next" href="dbsupport_jdatastore.html" t [...]
+            Borland Interbase
+        </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="dbsupport_derby.html">Prev</a>&nbsp;</td><th width="60%" align="center">Appendix&nbsp;2.&nbsp;
+        Supported Databases
+    </th><td width="20%" align="right">&nbsp;<a accesskey="n" href="dbsupport_jdatastore.html">Next</a></td></tr></table><hr></div><div class="section" id="dbsupport_interbase"><div class="titlepage"><div><div><h2 class="title" style="clear: both">6.&nbsp;
+            Borland Interbase
+        </h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="dbsupport_interbase.html#dbsupport_interbase_issues">6.1. 
+                Known issues with Interbase
+            </a></span></dt></dl></div>
+        
+        <div class="example" id="example_props_interbase"><p class="title"><b>Example&nbsp;2.2.&nbsp;
+                Example properties for Interbase
+            </b></p><div class="example-contents">
+            
+<pre class="programlisting">
+openjpa.ConnectionDriverName: interbase.interclient.Driver
+openjpa.ConnectionURL: jdbc:interbase://SERVER_NAME:SERVER_PORT/DB_PATH
+</pre>
+        </div></div><br class="example-break">
+        <div class="section" id="dbsupport_interbase_issues"><div class="titlepage"><div><div><h3 class="title">6.1.&nbsp;
+                Known issues with Interbase
+            </h3></div></div></div>
+            
+            <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                    <p>
+Interbase does not support record locking, so
+datastore transactions cannot use the pessimistic lock manager.
+                    </p>
+                </li><li class="listitem">
+                    <p>
+Interbase does not support the <code class="literal">LOWER</code>,
+<code class="literal">SUBSTRING</code>, or <code class="literal">INSTR</code> SQL functions.
+                    </p>
+                </li></ul></div>
+        </div>
+    </div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="dbsupport_derby.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="supported_databases.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="dbsupport_jdatastore.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">5.&nbsp;
+            Apache Derby
+        &nbsp;</td><td width="20%" align="center"><a accesskey="h" href="manual.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;7.&nbsp;
+            JDataStore
+        </td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/4.1.0/apache-openjpa/docs/dbsupport_intersystems_cache.html b/4.1.0/apache-openjpa/docs/dbsupport_intersystems_cache.html
new file mode 100644
index 000000000..fc44a600b
--- /dev/null
+++ b/4.1.0/apache-openjpa/docs/dbsupport_intersystems_cache.html
@@ -0,0 +1,37 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+   <title>15.&nbsp; InterSystems Cache</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 3.2 User's Guide"><link rel="up" href="supported_databases.html" title="Appendix&nbsp;2.&nbsp; Supported Databases"><link rel="prev" href="dbsupport_ingres.html" title="14.&nbsp; Ingres Database"><link rel="next" href="dbsupport_access.html [...]
+            InterSystems Cache
+        </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="dbsupport_ingres.html">Prev</a>&nbsp;</td><th width="60%" align="center">Appendix&nbsp;2.&nbsp;
+        Supported Databases
+    </th><td width="20%" align="right">&nbsp;<a accesskey="n" href="dbsupport_access.html">Next</a></td></tr></table><hr></div><div class="section" id="dbsupport_intersystems_cache"><div class="titlepage"><div><div><h2 class="title" style="clear: both">15.&nbsp;
+            InterSystems Cache
+        </h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="dbsupport_intersystems_cache.html#dbsupport_intersystems_cache_issues">15.1. 
+                Known issues with InterSystems Cache
+            </a></span></dt></dl></div>
+        
+        <div class="example" id="example_props_intersystems_cache"><p class="title"><b>Example&nbsp;2.11.&nbsp;
+                Example properties for InterSystems Cache
+            </b></p><div class="example-contents">
+            
+<pre class="programlisting">
+openjpa.ConnectionDriverName: com.intersys.jdbc.CacheDriver
+openjpa.ConnectionURL: jdbc:Cache://SERVER_NAME:SERVER_PORT/DB_NAME
+</pre>
+        </div></div><br class="example-break">
+        <div class="section" id="dbsupport_intersystems_cache_issues"><div class="titlepage"><div><div><h3 class="title">15.1.&nbsp;
+                Known issues with InterSystems Cache
+            </h3></div></div></div>
+            
+            <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                    <p>
+Support for Cache is done via SQL access over JDBC, not through their object
+database APIs.
+                    </p>
+                </li></ul></div>
+        </div>
+    </div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="dbsupport_ingres.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="supported_databases.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="dbsupport_access.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">14.&nbsp;
+            Ingres Database
+        &nbsp;</td><td width="20%" align="center"><a accesskey="h" href="manual.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;16.&nbsp;
+            Microsoft Access
+        </td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/4.1.0/apache-openjpa/docs/dbsupport_jdatastore.html b/4.1.0/apache-openjpa/docs/dbsupport_jdatastore.html
new file mode 100644
index 000000000..5347c7667
--- /dev/null
+++ b/4.1.0/apache-openjpa/docs/dbsupport_jdatastore.html
@@ -0,0 +1,24 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+   <title>7.&nbsp; JDataStore</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 3.2 User's Guide"><link rel="up" href="supported_databases.html" title="Appendix&nbsp;2.&nbsp; Supported Databases"><link rel="prev" href="dbsupport_interbase.html" title="6.&nbsp; Borland Interbase"><link rel="next" href="dbsupport_db2.html" title= [...]
+            JDataStore
+        </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="dbsupport_interbase.html">Prev</a>&nbsp;</td><th width="60%" align="center">Appendix&nbsp;2.&nbsp;
+        Supported Databases
+    </th><td width="20%" align="right">&nbsp;<a accesskey="n" href="dbsupport_db2.html">Next</a></td></tr></table><hr></div><div class="section" id="dbsupport_jdatastore"><div class="titlepage"><div><div><h2 class="title" style="clear: both">7.&nbsp;
+            JDataStore
+        </h2></div></div></div>
+        
+        <div class="example" id="example_props_jdatastore"><p class="title"><b>Example&nbsp;2.3.&nbsp;
+                Example properties for JDataStore
+            </b></p><div class="example-contents">
+            
+<pre class="programlisting">
+openjpa.ConnectionDriverName: com.borland.datastore.jdbc.DataStoreDriver
+openjpa.ConnectionURL: jdbc:borland:dslocal:db-jdatastore.jds;create=true
+</pre>
+        </div></div><br class="example-break">
+    </div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="dbsupport_interbase.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="supported_databases.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="dbsupport_db2.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">6.&nbsp;
+            Borland Interbase
+        &nbsp;</td><td width="20%" align="center"><a accesskey="h" href="manual.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;8.&nbsp;
+            IBM DB2
+        </td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/4.1.0/apache-openjpa/docs/dbsupport_mariadb.html b/4.1.0/apache-openjpa/docs/dbsupport_mariadb.html
new file mode 100644
index 000000000..25b5576f6
--- /dev/null
+++ b/4.1.0/apache-openjpa/docs/dbsupport_mariadb.html
@@ -0,0 +1,46 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+   <title>20.&nbsp; MariaDB</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 3.2 User's Guide"><link rel="up" href="supported_databases.html" title="Appendix&nbsp;2.&nbsp; Supported Databases"><link rel="prev" href="dbsupport_mysql.html" title="19.&nbsp; MySQL"><link rel="next" href="dbsupport_oracle.html" title="21.&nbsp; Ora [...]
+            MariaDB
+        </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="dbsupport_mysql.html">Prev</a>&nbsp;</td><th width="60%" align="center">Appendix&nbsp;2.&nbsp;
+        Supported Databases
+    </th><td width="20%" align="right">&nbsp;<a accesskey="n" href="dbsupport_oracle.html">Next</a></td></tr></table><hr></div><div class="section" id="dbsupport_mariadb"><div class="titlepage"><div><div><h2 class="title" style="clear: both">20.&nbsp;
+            MariaDB
+        </h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="dbsupport_mariadb.html#dbsupport_mariadb_issues">20.1. 
+                Known issues with MariaDB
+            </a></span></dt></dl></div>
+        
+        <div class="example" id="example_props_mariadb"><p class="title"><b>Example&nbsp;2.17.&nbsp;
+                Example properties for MariaDB
+            </b></p><div class="example-contents">
+            
+            <pre class="programlisting">
+                openjpa.ConnectionDriverName: org.mariadb.jdbc.Driver
+                openjpa.ConnectionURL: jdbc:mariadb://SERVER_NAME/DB_NAME
+            </pre>
+        </div></div><br class="example-break">
+        <div class="section" id="dbsupport_mariadb_issues"><div class="titlepage"><div><div><h3 class="title">20.1.&nbsp;
+                Known issues with MariaDB
+            </h3></div></div></div>
+            
+            <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                    <p>
+                        As of MariaDB 10.2 the <code class="code">DATETIME</code> data type supports sub-second fractions.
+                        The default of MariaDB internally is to use no fractions.
+                        The number of fractions can be explicitly set via scale:
+                        <code class="code">@Column(scale=6)</code> will lead to a <code class="code">DATETIME(6)</code> column and able to store microseconds.
+                        A value of <code class="code">@Column(scale=-1)</code> will explicitly turn off all fractions.
+                    </p>
+                </li><li class="listitem">
+                    <p>
+                        As of MariaDB 10.7 the <code class="code">UUID</code> data type is supported,
+                        but the JDBC driver does not writes the object directly, so 
+                        UUID field support is made through UUID to String conversion.
+                    </p>
+                </li></ul></div>
+        </div>
+    </div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="dbsupport_mysql.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="supported_databases.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="dbsupport_oracle.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">19.&nbsp;
+            MySQL
+        &nbsp;</td><td width="20%" align="center"><a accesskey="h" href="manual.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;21.&nbsp;
+            Oracle
+        </td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/4.1.0/apache-openjpa/docs/dbsupport_mysql.html b/4.1.0/apache-openjpa/docs/dbsupport_mysql.html
new file mode 100644
index 000000000..ab2010c4d
--- /dev/null
+++ b/4.1.0/apache-openjpa/docs/dbsupport_mysql.html
@@ -0,0 +1,108 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+   <title>19.&nbsp; MySQL</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 3.2 User's Guide"><link rel="up" href="supported_databases.html" title="Appendix&nbsp;2.&nbsp; Supported Databases"><link rel="prev" href="dbsupport_foxpro.html" title="18.&nbsp; Microsoft FoxPro"><link rel="next" href="dbsupport_mariadb.html" title="20 [...]
+            MySQL
+        </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="dbsupport_foxpro.html">Prev</a>&nbsp;</td><th width="60%" align="center">Appendix&nbsp;2.&nbsp;
+        Supported Databases
+    </th><td width="20%" align="right">&nbsp;<a accesskey="n" href="dbsupport_mariadb.html">Next</a></td></tr></table><hr></div><div class="section" id="dbsupport_mysql"><div class="titlepage"><div><div><h2 class="title" style="clear: both">19.&nbsp;
+            MySQL
+        </h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="dbsupport_mysql.html#dbsupport_mysql_query_hints">19.1. 
+                Using Query Hints with MySQL
+            </a></span></dt><dt><span class="section"><a href="dbsupport_mysql.html#dbsupport_mysql_issues">19.2. 
+                Known issues with MySQL
+            </a></span></dt></dl></div>
+        
+        <div class="example" id="example_props_mysql"><p class="title"><b>Example&nbsp;2.15.&nbsp;
+                Example properties for MySQL
+            </b></p><div class="example-contents">
+            
+<pre class="programlisting">
+openjpa.ConnectionDriverName: com.mysql.jdbc.Driver
+openjpa.ConnectionURL: jdbc:mysql://SERVER_NAME/DB_NAME
+</pre>
+        </div></div><br class="example-break">
+        <div class="section" id="dbsupport_mysql_query_hints"><div class="titlepage"><div><div><h3 class="title">19.1.&nbsp;
+                Using Query Hints with MySQL
+            </h3></div></div></div>
+            
+            <p>
+MySQL has support for "query hints", which are keywords embedded in
+SQL that provide some hint for how the query should be executed. These hints are
+usually designed to provide suggestions to the MySQL query optimizer for how to
+efficiently perform a certain query, and aren't typically needed for any but
+the most intensive queries.
+OpenJPA supports hints to be placed between SELECT keyword and column list.
+            </p>
+            <div class="example" id="dbsupport_mysql_query_hints_ex"><p class="title"><b>Example&nbsp;2.16.&nbsp;
+                    Using MySQL Hints
+                </b></p><div class="example-contents">
+                
+<pre class="programlisting">
+Query query = em.createQuery(...);
+query.setHint("openjpa.hint.MySQLSelectHint", "SQL_NO_CACHE");
+List results = query.getResultList();
+</pre>
+            </div></div><br class="example-break">
+        </div>
+        <div class="section" id="dbsupport_mysql_issues"><div class="titlepage"><div><div><h3 class="title">19.2.&nbsp;
+                Known issues with MySQL
+            </h3></div></div></div>
+            
+            <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                    <p>
+The default table types that MySQL uses do not support transactions, which will
+prevent OpenJPA from being able to roll back transactions. Use the
+<code class="literal">InnoDB</code> table type for any tables that OpenJPA will access.
+                    </p>
+                </li><li class="listitem">
+                    <p>
+MySQL does not support sub-selects in versions prior to 4.1, so
+some operations (such as the <code class="function">isEmpty()</code> method in a
+query) will fail due to this.
+                    </p>
+                </li><li class="listitem">
+                    <p>
+Rollback due to database error or optimistic lock violation is not supported
+unless the table type is one of the MySQL transactional types. Explicit calls to
+<code class="function">rollback()</code> before a transaction has been committed,
+however, are always supported.
+                    </p>
+                </li><li class="listitem">
+                    <p>
+Floats and doubles may lose precision when stored in some datastores.
+                    </p>
+                </li><li class="listitem">
+                    <p>
+When storing a field of type <code class="classname">java.math.BigDecimal</code>, some
+datastores will add extraneous trailing 0 characters, causing an equality
+mismatch between the field that is stored and the field that is retrieved.
+                    </p>
+                </li><li class="listitem">
+                    <p>
+When using large result sets with MySQL there are a number of documented limitations.
+Please read the section titled "ResultSet" in the "MySQL JDBC API Implementation Notes".
+The net effect of these limitations is that you will have to read all of the rows of a
+result set (or close the connection) before you can issue any other queries on
+the connection, or an exception will be thrown. Setting openjpa.FetchBatchSize
+to any value greater than zero will enable streaming result sets.
+                    </p>
+                </li><li class="listitem">
+                    <p>
+The use of <a class="link" href="ref_guide_mapping_jpa.html#ref_guide_streamsupport" title="7.11.&nbsp; LOB Streaming">LOB streaming</a> is limited.
+When reading LOB data from the database, the MySQL JDBC driver will actually
+load all the data into memory at the same time.
+                    </p>
+                </li><li class="listitem">
+                    <p>
+As of MySQL 5.7 the <code class="code">DATETIME</code> data type supports sub-second fractions.
+The default of MySQL is to use no fractions.
+The number of fractions can be explicitly set via scale:
+<code class="code">@Column(scale=3)</code> will lead to a <code class="code">DATETIME(3)</code> column.
+                    </p>
+                </li></ul></div>
+        </div>
+    </div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="dbsupport_foxpro.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="supported_databases.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="dbsupport_mariadb.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">18.&nbsp;
+            Microsoft FoxPro
+        &nbsp;</td><td width="20%" align="center"><a accesskey="h" href="manual.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;20.&nbsp;
+            MariaDB
+        </td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/4.1.0/apache-openjpa/docs/dbsupport_oracle.html b/4.1.0/apache-openjpa/docs/dbsupport_oracle.html
new file mode 100644
index 000000000..b6c291a82
--- /dev/null
+++ b/4.1.0/apache-openjpa/docs/dbsupport_oracle.html
@@ -0,0 +1,142 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+   <title>21.&nbsp; Oracle</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 3.2 User's Guide"><link rel="up" href="supported_databases.html" title="Appendix&nbsp;2.&nbsp; Supported Databases"><link rel="prev" href="dbsupport_mariadb.html" title="20.&nbsp; MariaDB"><link rel="next" href="dbsupport_pointbase.html" title="22.&nbs [...]
+            Oracle
+        </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="dbsupport_mariadb.html">Prev</a>&nbsp;</td><th width="60%" align="center">Appendix&nbsp;2.&nbsp;
+        Supported Databases
+    </th><td width="20%" align="right">&nbsp;<a accesskey="n" href="dbsupport_pointbase.html">Next</a></td></tr></table><hr></div><div class="section" id="dbsupport_oracle"><div class="titlepage"><div><div><h2 class="title" style="clear: both">21.&nbsp;
+            Oracle
+        </h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="dbsupport_oracle.html#dbsupport_oracle_query_hints">21.1. 
+                Using Query Hints with Oracle
+            </a></span></dt><dt><span class="section"><a href="dbsupport_oracle.html#dbsupport_oracle_issues">21.2. 
+                Known issues with Oracle
+            </a></span></dt></dl></div>
+        
+        <div class="example" id="example_props_oracle"><p class="title"><b>Example&nbsp;2.18.&nbsp;
+                Example properties for Oracle
+            </b></p><div class="example-contents">
+            
+<pre class="programlisting">
+openjpa.ConnectionDriverName: oracle.jdbc.driver.OracleDriver
+openjpa.ConnectionURL: jdbc:oracle:thin:@SERVER_NAME:1521:DB_NAME
+</pre>
+        </div></div><br class="example-break">
+        <div class="section" id="dbsupport_oracle_query_hints"><div class="titlepage"><div><div><h3 class="title">21.1.&nbsp;
+                Using Query Hints with Oracle
+            </h3></div></div></div>
+            
+            <p>
+Oracle has support for "query hints", which are formatted comments embedded in
+SQL that provide some hint for how the query should be executed. These hints are
+usually designed to provide suggestions to the Oracle query optimizer for how to
+efficiently perform a certain query, and aren't typically needed for any but
+the most intensive queries.
+            </p>
+            <div class="example" id="dbsupport_oracle_query_hints_ex"><p class="title"><b>Example&nbsp;2.19.&nbsp;
+                    Using Oracle Hints
+                </b></p><div class="example-contents">
+                
+<pre class="programlisting">
+Query query = em.createQuery(...);
+query.setHint("openjpa.hint.OracleSelectHint", "/*+ first_rows(100) */");
+List results = query.getResultList();
+</pre>
+            </div></div><br class="example-break">
+        </div>
+        <div class="section" id="dbsupport_oracle_issues"><div class="titlepage"><div><div><h3 class="title">21.2.&nbsp;
+                Known issues with Oracle
+            </h3></div></div></div>
+            
+            <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                    <p>
+The Oracle JDBC driver has significant differences between different versions.
+It is important to use the officially supported version of the drivers
+(10.2.0.1.0/11.2.0.x.0), which is backward compatible with previous versions of the Oracle
+server. It can be downloaded from
+<a class="ulink" href="http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html" target="_top">
+http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html</a>.
+                    </p>
+                </li><li class="listitem">
+                    <p>
+Empty string/char values are stored as NULL.
+                    </p>
+                </li><li class="listitem">
+                    <p>
+Oracle corp's JDBC driver for Oracle has only limited support for batch updates.
+The result for OpenJPA is that batching of some statements may fail and in some cases,
+the exact object that failed an optimistic lock check cannot be determined. OpenJPA will
+throw an <code class="classname">OptimisticException</code> with more failed objects than actually
+failed.  This situation may be resolved by disabling statement batching by setting the
+batchLimit value to zero or by using a more recent Oracle JDBC Driver (11.2.0.1) with
+batch support improvements.  Attempting to resolve the issue with a more current driver
+is recommended since disabling statement batching can result in a decrease in performance.
+            </p><div class="example" id="dbsupport_oracle_disable_batch_updates"><p class="title"><b>Example&nbsp;2.20.&nbsp;
+                    Property to disable statement batching for Oracle
+                </b></p><div class="example-contents">
+                
+<pre class="programlisting">
+openjpa.jdbc.DBDictionary: oracle(batchLimit=0)
+</pre>
+            </div></div><p><br class="example-break">
+                    </p>
+                </li><li class="listitem">
+                    <p>
+Oracle cannot store numbers with more than 38 digits in numeric columns.
+                    </p>
+                </li><li class="listitem">
+                    <p>
+Floats and doubles may lose precision when stored.
+                    </p>
+                </li><li class="listitem">
+                    <p>
+CLOB columns cannot be used in queries.
+                    </p>
+                </li><li class="listitem">
+                    <p>
+The use of LOBs with persistent attributes of a streaming data type (ex.
+<code class="literal">java.io.InputStream</code> or <code class="literal">java.io.Reader</code>) may
+require the same connection to be used over the life of the transaction or
+entity manager.  If the same connection is not used for persistent operations
+a <code class="literal">java.io.IOException</code> with message <code class="literal">Closed Connection
+</code> may result.  The OpenJPA property <code class="literal">openjpa.ConnectionRetainMode</code>
+can be used to control how OpenJPA uses datastore connections.  See
+<a class="xref" href="ref_guide_dbsetup_retain.html" title="8.&nbsp; Configuring the Use of JDBC Connections">Section&nbsp;8, &#8220;
+            Configuring the Use of JDBC Connections
+        &#8221;</a> for details.
+            </p><div class="example" id="dbsupport_oracle_retain_connection"><p class="title"><b>Example&nbsp;2.21.&nbsp;
+                    Property to retain connection over the lifetime of the entity manager
+                </b></p><div class="example-contents">
+                
+<pre class="programlisting">
+openjpa.ConnectionRetainMode: always
+</pre>
+            </div></div><p><br class="example-break">
+                    </p>
+                </li><li class="listitem">
+                    <p>
+Mapping persistent attributes to <a class="link" href="ref_guide_mapping_jpa.html#ref_guide_xmlmapping" title="7.10.&nbsp; XML Column Mapping">XML columns</a> requires
+a JDBC 4 compliant driver if XML strings are longer than 4000 bytes, as counted in database.
+Otherwise an <code class="literal">ORA-01461: can bind a LONG value only for insert into a LONG column</code>
+error may result.
+                    </p>
+                </li><li class="listitem">
+                    <p>
+If Oracle dictionary property <code class="literal">MaxEmbeddedBlobSize</code> or
+<code class="literal">MaxEmbeddedClobSize</code> is set to some limit (i.e. not -1) and embedded collection
+with BLOB/CLOB attribute is used, a
+<code class="literal">"org.apache.openjpa.persistence.ArgumentException:
+"x.y.z.EmbedOwner.embedCollection&lt;element:class x.y.z.EmbedValue&gt;"
+is mapped as embedded, but embedded field
+"x.y.z.EmbedOwner.embedCollection.x.y.z.EmbedValue.blob" is not embeddable.
+Embedded element/key/value types are limited to simple fields and direct relations to other
+persistent types"</code> error may result. To overcome this limitation, either use JDBC driver
+11.2.0.x.0 (or later version) or set both <code class="literal">MaxEmbeddedBlobSize</code> and
+<code class="literal">MaxEmbeddedClobSize</code> properties to -1.
+                    </p>
+                </li></ul></div>
+        </div>
+    </div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="dbsupport_mariadb.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="supported_databases.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="dbsupport_pointbase.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">20.&nbsp;
+            MariaDB
+        &nbsp;</td><td width="20%" align="center"><a accesskey="h" href="manual.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;22.&nbsp;
+            Pointbase
+        </td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/4.1.0/apache-openjpa/docs/dbsupport_pointbase.html b/4.1.0/apache-openjpa/docs/dbsupport_pointbase.html
new file mode 100644
index 000000000..e5b4058ea
--- /dev/null
+++ b/4.1.0/apache-openjpa/docs/dbsupport_pointbase.html
@@ -0,0 +1,39 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+   <title>22.&nbsp; Pointbase</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 3.2 User's Guide"><link rel="up" href="supported_databases.html" title="Appendix&nbsp;2.&nbsp; Supported Databases"><link rel="prev" href="dbsupport_oracle.html" title="21.&nbsp; Oracle"><link rel="next" href="dbsupport_postgresql.html" title="23.&n [...]
+            Pointbase
+        </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="dbsupport_oracle.html">Prev</a>&nbsp;</td><th width="60%" align="center">Appendix&nbsp;2.&nbsp;
+        Supported Databases
+    </th><td width="20%" align="right">&nbsp;<a accesskey="n" href="dbsupport_postgresql.html">Next</a></td></tr></table><hr></div><div class="section" id="dbsupport_pointbase"><div class="titlepage"><div><div><h2 class="title" style="clear: both">22.&nbsp;
+            Pointbase
+        </h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="dbsupport_pointbase.html#dbsupport_pointbase_issues">22.1. 
+                Known issues with Pointbase
+            </a></span></dt></dl></div>
+        
+        <div class="example" id="example_props_pointbase"><p class="title"><b>Example&nbsp;2.22.&nbsp;
+                Example properties for Pointbase
+            </b></p><div class="example-contents">
+            
+<pre class="programlisting">
+openjpa.ConnectionDriverName: com.pointbase.jdbc.jdbcUniversalDriver
+openjpa.ConnectionURL: \
+    jdbc:pointbase:DB_NAME,database.home=pointbasedb,create=true,cache.size=10000,database.pagesize=30720
+</pre>
+        </div></div><br class="example-break">
+        <div class="section" id="dbsupport_pointbase_issues"><div class="titlepage"><div><div><h3 class="title">22.1.&nbsp;
+                Known issues with Pointbase
+            </h3></div></div></div>
+            
+            <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                    <p>
+Fields of type BLOB and CLOB are limited to 1M.  Set the <code class="literal">BlobTypeName
+</code> and/or <code class="literal">ClobTypeName</code> properties of the
+<code class="literal">openjpa.jdbc.DBDictionary</code> setting to override.
+                    </p>
+                </li></ul></div>
+        </div>
+    </div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="dbsupport_oracle.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="supported_databases.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="dbsupport_postgresql.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">21.&nbsp;
+            Oracle
+        &nbsp;</td><td width="20%" align="center"><a accesskey="h" href="manual.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;23.&nbsp;
+            PostgreSQL
+        </td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/4.1.0/apache-openjpa/docs/dbsupport_postgresql.html b/4.1.0/apache-openjpa/docs/dbsupport_postgresql.html
new file mode 100644
index 000000000..6502d3ce3
--- /dev/null
+++ b/4.1.0/apache-openjpa/docs/dbsupport_postgresql.html
@@ -0,0 +1,57 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+   <title>23.&nbsp; PostgreSQL</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 3.2 User's Guide"><link rel="up" href="supported_databases.html" title="Appendix&nbsp;2.&nbsp; Supported Databases"><link rel="prev" href="dbsupport_pointbase.html" title="22.&nbsp; Pointbase"><link rel="next" href="dbsupport_soliddb.html" title="2 [...]
+            PostgreSQL
+        </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="dbsupport_pointbase.html">Prev</a>&nbsp;</td><th width="60%" align="center">Appendix&nbsp;2.&nbsp;
+        Supported Databases
+    </th><td width="20%" align="right">&nbsp;<a accesskey="n" href="dbsupport_soliddb.html">Next</a></td></tr></table><hr></div><div class="section" id="dbsupport_postgresql"><div class="titlepage"><div><div><h2 class="title" style="clear: both">23.&nbsp;
+            PostgreSQL
+        </h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="dbsupport_postgresql.html#dbsupport_postgresql_issues">23.1. 
+                Known issues with PostgreSQL
+            </a></span></dt></dl></div>
+        
+        <div class="example" id="example_props_postgresql"><p class="title"><b>Example&nbsp;2.23.&nbsp;
+                Example properties for PostgreSQL
+            </b></p><div class="example-contents">
+            
+<pre class="programlisting">
+openjpa.ConnectionDriverName: org.postgresql.Driver
+openjpa.ConnectionURL: jdbc:postgresql://SERVER_NAME:5432/DB_NAME
+</pre>
+        </div></div><br class="example-break">
+        <div class="section" id="dbsupport_postgresql_issues"><div class="titlepage"><div><div><h3 class="title">23.1.&nbsp;
+                Known issues with PostgreSQL
+            </h3></div></div></div>
+            
+            <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                    <p>
+Floats and doubles may lose precision when stored.
+                    </p>
+                </li><li class="listitem">
+                    <p>
+PostgreSQL cannot store very low and very high dates.
+                    </p>
+                </li><li class="listitem">
+                    <p>
+Empty string/char values are stored as NULL.
+                    </p>
+                </li><li class="listitem">
+                    <p>
+Persistent fields of type <code class="classname">java.io.Reader</code> are not
+supported when using
+<a class="link" href="ref_guide_mapping_jpa.html#ref_guide_streamsupport" title="7.11.&nbsp; LOB Streaming">LOB streaming</a>.
+                    </p>
+                </li><li class="listitem">
+                    <p>
+<code class="classname">UUID</code> support allows usage of binary data on entities. 
+If the user wants to exchange <code class="classname">String</code> for 
+<code class="classname">UUID</code>, it is necessary to previously convert the 
+<code class="classname">String</code> to UUID type in database.
+                    </p>
+                </li></ul></div>
+        </div>
+    </div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="dbsupport_pointbase.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="supported_databases.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="dbsupport_soliddb.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">22.&nbsp;
+            Pointbase
+        &nbsp;</td><td width="20%" align="center"><a accesskey="h" href="manual.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;24.&nbsp;
+            IBM solidDB
+        </td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/4.1.0/apache-openjpa/docs/dbsupport_soliddb.html b/4.1.0/apache-openjpa/docs/dbsupport_soliddb.html
new file mode 100644
index 000000000..72ad023fa
--- /dev/null
+++ b/4.1.0/apache-openjpa/docs/dbsupport_soliddb.html
@@ -0,0 +1,70 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+   <title>24.&nbsp; IBM solidDB</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 3.2 User's Guide"><link rel="up" href="supported_databases.html" title="Appendix&nbsp;2.&nbsp; Supported Databases"><link rel="prev" href="dbsupport_postgresql.html" title="23.&nbsp; PostgreSQL"><link rel="next" href="dbsupport_sybase.html" title= [...]
+            IBM solidDB
+        </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="dbsupport_postgresql.html">Prev</a>&nbsp;</td><th width="60%" align="center">Appendix&nbsp;2.&nbsp;
+        Supported Databases
+    </th><td width="20%" align="right">&nbsp;<a accesskey="n" href="dbsupport_sybase.html">Next</a></td></tr></table><hr></div><div class="section" id="dbsupport_soliddb"><div class="titlepage"><div><div><h2 class="title" style="clear: both">24.&nbsp;
+            IBM solidDB
+        </h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="dbsupport_soliddb.html#dbsupport_soliddb_table_types">24.1. 
+                M-type tables vs. D-type tables
+            </a></span></dt><dt><span class="section"><a href="dbsupport_soliddb.html#dbsupport_soliddb_concurrency_control">24.2. 
+                Concurrency control mechanism
+            </a></span></dt></dl></div>
+        
+        <div class="example" id="example_props_soliddb"><p class="title"><b>Example&nbsp;2.24.&nbsp;
+                Example properties for IBM solidDB
+            </b></p><div class="example-contents">
+            
+<pre class="programlisting">
+openjpa.ConnectionDriverName: solid.jdbc.SolidDriver
+openjpa.ConnectionURL: jdbc:solid://localhost:2315/dba/dba
+</pre>
+        </div></div><br class="example-break">
+        <div class="section" id="dbsupport_soliddb_table_types"><div class="titlepage"><div><div><h3 class="title">24.1.&nbsp;
+                M-type tables vs. D-type tables
+            </h3></div></div></div>
+            
+            <p>
+IBM solidDB supports two types of tables: in-memory tables (M-tables) and
+on-disk tables (D-tables). Since cursor hold over commit can not apply to M-tables
+(which will cause SOLID Table Error 13187: The cursor cannot continue
+accessing M-tables after the transaction has committed or aborted.
+The statement must be re-executed), the default OpenJPA tables are D-tables.
+One can set the whole server to disk-based mode by adding
+         [General]
+             DefaultStoreIsMemory=no
+in solid.ini. The table types can also be determined by setting OpenJPA property
+"openjpa.jdbc.DBDictionary" with value "storeIsMemory=true" or "storeIsMemory=false"
+in the persistence.xml. The "STORE MEMORY" and "STORE DISK" will be appended to
+the create table DDL, respectively.
+            </p>
+        </div>
+        <div class="section" id="dbsupport_soliddb_concurrency_control"><div class="titlepage"><div><div><h3 class="title">24.2.&nbsp;
+                Concurrency control mechanism
+            </h3></div></div></div>
+            
+            <p>
+The default concurrency control mechanism depends on the table type:
+Disk-based tables (D-tables) are by default optimistic.
+Main-memory tables (M-tables) are always pessimistic.
+Since OpenJPA applications expects lock waits as usually is done with
+normal pessimistic databases, the server should be set to the pessimistic mode.
+The optimistic mode is about not waiting for the locks at all. That increases
+concurrency but requires more programming. The pessimistic mode with the
+READ COMMITTED isolation level (default) should get as much concurrency as one
+might need. The pessimistic locking mode can be set in solid.ini:
+      [General]
+         Pessimistic=yes
+One can override the locking mode on the per table base by setting OpenJPA property
+"openjpa.jdbc.DBDictionary" to value "lockingMode=PESSIMISTIC" in the persistence.xml.
+An extra SQL will be generated along with CREATE TABLE DDL:
+ALTER TABLE EX_POBJECT SET PESSIMISTIC.
+The possible values for lockingMode is OPTIMISTIC/PESSIMISTIC.
+           </p>
+        </div>
+    </div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="dbsupport_postgresql.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="supported_databases.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="dbsupport_sybase.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">23.&nbsp;
+            PostgreSQL
+        &nbsp;</td><td width="20%" align="center"><a accesskey="h" href="manual.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;25.&nbsp;
+            Sybase Adaptive Server
+        </td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/4.1.0/apache-openjpa/docs/dbsupport_sqlserver.html b/4.1.0/apache-openjpa/docs/dbsupport_sqlserver.html
new file mode 100644
index 000000000..e0eba678b
--- /dev/null
+++ b/4.1.0/apache-openjpa/docs/dbsupport_sqlserver.html
@@ -0,0 +1,99 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+   <title>17.&nbsp; Microsoft SQL Server</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 3.2 User's Guide"><link rel="up" href="supported_databases.html" title="Appendix&nbsp;2.&nbsp; Supported Databases"><link rel="prev" href="dbsupport_access.html" title="16.&nbsp; Microsoft Access"><link rel="next" href="dbsupport_foxpro.h [...]
+            Microsoft SQL Server
+        </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="dbsupport_access.html">Prev</a>&nbsp;</td><th width="60%" align="center">Appendix&nbsp;2.&nbsp;
+        Supported Databases
+    </th><td width="20%" align="right">&nbsp;<a accesskey="n" href="dbsupport_foxpro.html">Next</a></td></tr></table><hr></div><div class="section" id="dbsupport_sqlserver"><div class="titlepage"><div><div><h2 class="title" style="clear: both">17.&nbsp;
+            Microsoft SQL Server
+        </h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="dbsupport_sqlserver.html#dbsupport_sqlserver_issues">17.1. 
+                Known issues with SQL Server
+            </a></span></dt></dl></div>
+        
+        <div class="example" id="example_props_sqlserver"><p class="title"><b>Example&nbsp;2.13.&nbsp;
+                Example properties for Microsoft SQL Server
+            </b></p><div class="example-contents">
+            
+<pre class="programlisting">
+openjpa.ConnectionDriverName: com.microsoft.sqlserver.jdbc.SQLServerDriver
+openjpa.ConnectionURL: \
+    jdbc:sqlserver://SERVER_NAME:1433;DatabaseName=DB_NAME;selectMethod=cursor;sendStringParametersAsUnicode=false
+</pre>
+        </div></div><br class="example-break">
+        <div class="section" id="dbsupport_sqlserver_issues"><div class="titlepage"><div><div><h3 class="title">17.1.&nbsp;
+                Known issues with SQL Server
+            </h3></div></div></div>
+            
+            <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                    <p>
+When using a Microsoft SQL Server JDBC Driver v1.2 or earlier, the
+ConnectionURL must always contain the <code class="literal">selectMethod=cursor
+</code> string, which is necessary for the driver to properly
+support large result sets.
+                    </p>
+                </li><li class="listitem">
+                    <p>
+When using a Microsoft SQL Server JDBC Driver v1.2 or earlier, the
+JDBC driver has bugs that manifest themselves when prepared statements
+are pooled.  Please disable prepared statement pooling by including the
+<code class="literal">MaxCachedStatements=0</code> configuration property
+in your org.apache.openjpa.ConnectionFactoryProperties.
+                    </p>
+                </li><li class="listitem">
+                    <p>
+SQL Server date fields are accurate only to the nearest 3 milliseconds,
+possibly resulting in precision loss in stored dates.
+                    </p>
+                </li><li class="listitem">
+                    <p>
+Adding <code class="literal">sendStringParametersAsUnicode=false</code> to the
+ConnectionURL may significantly increase performance.
+                    </p>
+                </li><li class="listitem">
+                    <p>
+The Microsoft SQL Server driver only emulates batch updates. The DataDirect JDBC
+driver has true support for batch updates, and may result in a significant
+performance gain.
+                    </p>
+                </li><li class="listitem">
+                    <p>
+Floats and doubles may lose precision when stored.
+                    </p>
+                </li><li class="listitem">
+                    <p>
+<code class="literal">TEXT</code> columns cannot be used in queries.
+                    </p>
+                </li><li class="listitem">
+                    <p>
+When using a SQL Server instance that has been configured to be case-sensitive
+in schema names, you need to set the "schemaCase=preserve" parameter in the
+<a class="link" href="ref_guide_conf_jdbc.html#openjpa.jdbc.DBDictionary" title="6.2.&nbsp; openjpa.jdbc.DBDictionary">openjpa.jdbc.DBDictionary</a>
+property.
+                    </p>
+                </li><li class="listitem">
+                    <p>
+SQL Server 2005 does not support native sequences. If you would like to use
+generated values with SQL Server you should use GenerationType.IDENTITY,
+GenerationType.TABLE, or GenerationType.AUTO.
+                    </p>
+                </li><li class="listitem">
+                    <p>
+The use of <a class="link" href="ref_guide_mapping_jpa.html#ref_guide_streamsupport" title="7.11.&nbsp; LOB Streaming">LOB streaming</a> is limited.
+When reading LOB data from the database, the Microsoft SQL Server driver will
+actually load all the data into memory at the same time.
+                    </p>
+                </li><li class="listitem">
+                    <p>
+The SQL Server 2008 DATETIME2 data type supports 7 digits sub-second precision.
+When DataDirect JDBC driver is used with SQL Server 2008, setTimestamp method call with
+a java.sql.Timestamp argument of more than 3 digits precision in a prepared statement
+will result in truncation. This may cause loss of data precision or
+optimistic lock exception if an entity uses Timestamp type as version field.
+                    </p>
+                </li></ul></div>
+        </div>
+    </div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="dbsupport_access.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="supported_databases.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="dbsupport_foxpro.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">16.&nbsp;
+            Microsoft Access
+        &nbsp;</td><td width="20%" align="center"><a accesskey="h" href="manual.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;18.&nbsp;
+            Microsoft FoxPro
+        </td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/4.1.0/apache-openjpa/docs/dbsupport_sybase.html b/4.1.0/apache-openjpa/docs/dbsupport_sybase.html
new file mode 100644
index 000000000..842752616
--- /dev/null
+++ b/4.1.0/apache-openjpa/docs/dbsupport_sybase.html
@@ -0,0 +1,71 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+   <title>25.&nbsp; Sybase Adaptive Server</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 3.2 User's Guide"><link rel="up" href="supported_databases.html" title="Appendix&nbsp;2.&nbsp; Supported Databases"><link rel="prev" href="dbsupport_soliddb.html" title="24.&nbsp; IBM solidDB"><link rel="next" href="migration_considerat [...]
+            Sybase Adaptive Server
+        </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="dbsupport_soliddb.html">Prev</a>&nbsp;</td><th width="60%" align="center">Appendix&nbsp;2.&nbsp;
+        Supported Databases
+    </th><td width="20%" align="right">&nbsp;<a accesskey="n" href="migration_considerations.html">Next</a></td></tr></table><hr></div><div class="section" id="dbsupport_sybase"><div class="titlepage"><div><div><h2 class="title" style="clear: both">25.&nbsp;
+            Sybase Adaptive Server
+        </h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="dbsupport_sybase.html#dbsupport_sybase_issues">25.1. 
+                Known issues with Sybase
+            </a></span></dt></dl></div>
+        
+        <div class="example" id="example_props_sybase"><p class="title"><b>Example&nbsp;2.25.&nbsp;
+                Example properties for Sybase
+            </b></p><div class="example-contents">
+            
+<pre class="programlisting">
+openjpa.ConnectionDriverName: com.sybase.jdbc2.jdbc.SybDriver
+openjpa.ConnectionURL: \
+    jdbc:sybase:Tds:SERVER_NAME:4100/DB_NAME?ServiceName=DB_NAME&amp;BE_AS_JDBC_COMPLIANT_AS_POSSIBLE=true
+</pre>
+        </div></div><br class="example-break">
+        <div class="section" id="dbsupport_sybase_issues"><div class="titlepage"><div><div><h3 class="title">25.1.&nbsp;
+                Known issues with Sybase
+            </h3></div></div></div>
+            
+            <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                    <p>
+The "<code class="literal">DYNAMIC_PREPARE</code>" parameter of the Sybase JDBC driver
+cannot be used with OpenJPA.
+                    </p>
+                </li><li class="listitem">
+                    <p>
+Datastore locking cannot be used when manipulating many-to-many relations using
+the default OpenJPA schema created by the schematool, unless an auto-increment
+primary key field is manually added to the table.
+                    </p>
+                </li><li class="listitem">
+                    <p>
+Persisting a zero-length string results in a string with a single space
+character being returned from Sybase, Inc.'s JDBC driver.
+                    </p>
+                </li><li class="listitem">
+                    <p>
+The <code class="literal">BE_AS_JDBC_COMPLIANT_AS_POSSIBLE</code> is required in order to
+use datastore (pessimistic) locking. Failure to set this property may lead to
+obscure errors like " <code class="literal">FOR UPDATE can not be used in a SELECT which is
+not part of the declaration of a cursor or which is not inside a stored
+procedure.</code> ".
+                    </p>
+                </li><li class="listitem">
+                    <p>
+Applications performing update/insert data of the BigDecimal Java type may fail
+with OptimisticException if the data exceeds the scale or precision of the
+column on Sybase. To avoid this problem, applications can specify the precision
+and scale for the numeric type by setting numericTypeName='NUMERIC(p,s)' for
+the column type mapped by the BigDecimal Java type. See
+<a class="link" href="ref_guide_conf_jdbc.html#openjpa.jdbc.DBDictionary" title="6.2.&nbsp; openjpa.jdbc.DBDictionary">openjpa.jdbc.DBDictionary</a> for
+more detail. Alternatively, application can set the precision and scale using
+the standard <code class="classname">Column</code> annotation, described in
+<a class="xref" href="jpa_overview_mapping_column.html" title="3.&nbsp; Column">Section&nbsp;3, &#8220;
+            Column
+        &#8221;</a>.
+                    </p>
+                </li></ul></div>
+        </div>
+    </div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="dbsupport_soliddb.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="supported_databases.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="migration_considerations.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">24.&nbsp;
+            IBM solidDB
+        &nbsp;</td><td width="20%" align="center"><a accesskey="h" href="manual.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;Appendix&nbsp;3.&nbsp;
+        Migration Considerations
+    </td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/4.1.0/apache-openjpa/docs/dbunverified.html b/4.1.0/apache-openjpa/docs/dbunverified.html
new file mode 100644
index 000000000..667acf3d0
--- /dev/null
+++ b/4.1.0/apache-openjpa/docs/dbunverified.html
@@ -0,0 +1,46 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+   <title>4.&nbsp; Unverified Database Matrix</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 3.2 User's Guide"><link rel="up" href="supported_databases.html" title="Appendix&nbsp;2.&nbsp; Supported Databases"><link rel="prev" href="dbcompatible.html" title="3.&nbsp; Compatible Database Matrix"><link rel="next" href="dbsuppor [...]
+        Unverified Database Matrix
+    </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="dbcompatible.html">Prev</a>&nbsp;</td><th width="60%" align="center">Appendix&nbsp;2.&nbsp;
+        Supported Databases
+    </th><td width="20%" align="right">&nbsp;<a accesskey="n" href="dbsupport_derby.html">Next</a></td></tr></table><hr></div><div class="section" id="dbunverified"><div class="titlepage"><div><div><h2 class="title" style="clear: both">4.&nbsp;
+        Unverified Database Matrix
+    </h2></div></div></div>
+    
+    <p>
+Following is a table of the database and JDBC driver versions that have been reported
+to work with OpenJPA by the community but have not been verified by the development
+team. In some cases this is a question of availability since the developers may not
+be able to obtain a license to test, or have experience configuring these databases.
+For the list of databases that have been fully tested against this release, please
+refer to the <a class="link" href="dbsupport.html" title="2.&nbsp; Verified Database Matrix">Verified Database Matrix</a> section.
+    </p>
+    <div class="table" id="d5e18136"><p class="title"><b>Table&nbsp;2.3.&nbsp;
+            Unverified Databases and JDBC Drivers
+        </b></p><div class="table-contents">
+        
+        <table class="table" summary="&#xA;            Unverified Databases and JDBC Drivers&#xA;        " border="1"><colgroup><col align="left" class="dbname"><col align="left" class="dbversion"><col align="left" class="drivname"><col align="left" class="drivversion"></colgroup><thead><tr><th align="left">
+                        Database Name
+                    </th><th align="left">
+                        Database Version
+                    </th><th align="left">
+                        JDBC Driver Name
+                    </th><th align="left">
+                        JDBC Driver Version
+                    </th></tr></thead><tbody><tr><td align="left">
+                        SAP MaxDB
+                    </td><td align="left">
+
+                    </td><td align="left">
+
+                    </td><td align="left">
+
+                    </td></tr></tbody></table>
+    </div></div><br class="table-break">
+
+    </div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="dbcompatible.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="supported_databases.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="dbsupport_derby.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">3.&nbsp;
+        Compatible Database Matrix
+    &nbsp;</td><td width="20%" align="center"><a accesskey="h" href="manual.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;5.&nbsp;
+            Apache Derby
+        </td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/4.1.0/apache-openjpa/docs/features_and_limitations.html b/4.1.0/apache-openjpa/docs/features_and_limitations.html
new file mode 100644
index 000000000..b1dabcf7c
--- /dev/null
+++ b/4.1.0/apache-openjpa/docs/features_and_limitations.html
@@ -0,0 +1,259 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+   <title>2.&nbsp;Salient Features</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 3.2 User's Guide"><link rel="up" href="ref_guide_slice.html" title="Chapter&nbsp;13.&nbsp; Slice: Distributed Persistence"><link rel="prev" href="ref_guide_slice.html" title="Chapter&nbsp;13.&nbsp; Slice: Distributed Persistence"><link rel="nex [...]
+    Slice: Distributed Persistence
+  </th><td width="20%" align="right">&nbsp;<a accesskey="n" href="slice_configuration.html">Next</a></td></tr></table><hr></div><div class="section" id="features_and_limitations"><div class="titlepage"><div><div><h2 class="title" style="clear: both">2.&nbsp;Salient Features</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="features_and_limitations.html#d5e17150">2.1. Transparency</a></span></dt><dt><span class="section"><a href="features_and_limita [...]
+       
+         <div class="section" id="d5e17150"><div class="titlepage"><div><div><h3 class="title">2.1.&nbsp;Transparency</h3></div></div></div>
+            <p>
+			  The primary design objective for Slice is to make the user
+			  application transparent to the change in storage strategy where
+			  data resides in multiple (possibly heterogeneous) databases instead
+			  of a single database. Slice achieves this transparency by
+			  virtualization of multiple databases as a single database such
+			  that OpenJPA object management kernel continues to interact in
+			  exactly the same manner with storage layer. Similarly,
+              the existing application or the persistent domain model requires
+              <span class="emphasis"><em>no change</em></span> to upgrade from a single database
+              to a distributed database environment.
+            </p>
+			<p>
+			  An existing application developed for a single database can be
+			  adapted to work with multiple databases purely by configuring
+			  a persistence unit via <code class="classname">META-INF/persistence.xml</code>.
+			</p>
+         </div>
+
+		<div class="section" id="d5e17156"><div class="titlepage"><div><div><h3 class="title">2.2.&nbsp;Scaling</h3></div></div></div>
+			<p>
+			The primary performance characteristics for Slice is to scale against
+			growing data volume by <span class="emphasis"><em>horizontal</em></span> partitioning data
+			across many databases.
+			</p>
+			<p>
+			Slice executes the database operations such as query or flush <span class="emphasis"><em>in
+			parallel</em></span> across each physical database. Hence, scaling characteristics
+			against data volume are bound by the size of the maximum data
+			partition instead of the size of the entire data set. The use cases
+			where the data is naturally amenable to horizontal partitions,
+			for example, by temporal interval (e.g. Purchase Orders per month)
+			or by geographical regions (e.g. Customer by Zip Code) can derive
+			significant performance benefit and favorable scaling behavior by
+			using Slice.
+			</p>
+		</div>
+
+        <div class="section" id="d5e17162"><div class="titlepage"><div><div><h3 class="title">2.3.&nbsp;Distributed Query</h3></div></div></div>
+            <p>
+            The queries are executed in parallel across one or more slices and the
+			individual query results are merged into a single list before being
+			returned to the caller application. The <span class="emphasis"><em>merge</em></span> operation is
+			more complex for the queries that involve sorting and/or specify a
+			range. Slice supports both sorting and range queries.
+            </p>
+			<p>
+            Slice also supports aggregate queries where the aggregate operation
+			is <span class="emphasis"><em>commutative</em></span> to partitioning such as
+			<code class="classname">COUNT()</code> or <code class="classname">MAX()</code> but not <code class="classname">AVG()</code>.
+            </p>
+
+            <p>
+            By default, any query is executed against all available slices.
+			However, the application can target the query only to a subset of
+			slices by setting <span class="emphasis"><em>hint</em></span> on <code class="classname">jakarta.persistence.Query</code>.
+			The hint key is  <code class="classname">openjpa.hint.slice.Target</code> and
+            hint value is an array of slice identifiers. The following
+            example shows how to target a query only to a pair of slices
+			with logical identifier <code class="classname">"One"</code> and <code class="classname">"Two"</code>.
+
+            </p><pre class="programlisting">
+              EntityManager em = ...;
+              em.getTransaction().begin();
+              String hint = "openjpa.hint.slice.Target";
+              Query query = em.createQuery("SELECT p FROM PObject")
+				              .setHint(hint, new String[]{"One", "Two"});
+              List result = query.getResultList();
+              // verify that each instance is originating from the hinted slices
+              for (Object pc : result) {
+                 String sliceOrigin = SlicePersistence.getSlice(pc);
+                 assertTrue ("One".equals(sliceOrigin) || "Two".equals(sliceOrigin));
+              }
+              
+            </pre><p>
+            </p>
+
+            <p>
+            To confine queries to a subset of slices via setting query hints can be considered
+            intrusive to existing application. The alternative means of targeting queries is to
+            configure a <span class="emphasis"><em>Query Target Policy</em></span>. This policy is configured
+            via plug-in property <code class="classname">openjpa.slice.QueryTargetPolicy</code>. The
+            plug-in property is fully-qualified class name of an implementation
+            for <code class="classname">org.apache.openjpa.slice.QueryTargetPolicy</code> interface.
+            This interface contract allows a user application to target a query to a subset
+            of slices based on the query and its bound parameters. The query target policy is consulted
+            only when no explicit target hint is set on the query. By default, the policy
+            executes a query on all available slices.
+            </p>
+
+            <p>
+            A similar policy interface <code class="classname">org.apache.openjpa.slice.FinderTargetPolicy</code>
+            is available to target queries that originate from <code class="classname">find()</code>
+            by primary key. This finder target policy is consulted
+            only when no explicit target hint is set on the current fetch plan. By default, the policy
+            executes a query on all available slices to find an instance by its primary key.
+            </p>
+         </div>
+
+         <div class="section" id="d5e17185"><div class="titlepage"><div><div><h3 class="title">2.4.&nbsp;Data Distribution</h3></div></div></div>
+            <p>
+             The user application decides how the newly persistent instances be
+             distributed across the slices. The user application specifies the
+			 data distribution policy by implementing
+             <code class="classname">org.apache.openjpa.slice.DistributionPolicy</code>.
+
+			 The  <code class="classname">DistributionPolicy</code> interface
+			 is simple with a single method. The complete listing of the
+			 documented interface follows:
+		   </p><pre class="programlisting">
+		   
+			public interface DistributionPolicy {
+			/**
+			 * Gets the name of the slice where the given newly persistent
+			 * instance will be stored.
+			 *
+			 * @param pc The newly persistent or to-be-merged object.
+			 * @param slices name of the configured slices.
+			 * @param context persistence context managing the given instance.
+			 *
+			 * @return identifier of the slice. This name must match one of the
+			 * configured slice names.
+			 * @see DistributedConfiguration#getSliceNames()
+			 */
+			String distribute(Object pc, List&lt;String&gt; slices, Object context);
+			}
+		
+       </pre><p>
+        </p>
+
+		 <p>
+			 Slice runtime invokes this user-supplied method for the newly
+			 persistent instance that is explicit argument of the
+			 <code class="classname">jakarta.persistence.EntityManager.persist(Object pc)</code>
+			 method. The user application must return a valid slice name from
+			 this method to designate the target slice for the given instance.
+			 The data distribution policy may be based on the attribute
+			 of the data itself. For example, all Customer whose first name
+			 begins with character 'A' to 'M' will be stored in one slice
+			 while names beginning with 'N' to 'Z' will be stored in another
+			 slice. The noteworthy aspect of such policy implementation is
+			 the attribute values that participate in
+			 the distribution policy logic should be set before invoking
+			 <code class="classname">EntityManager.persist()</code> method.
+		 </p>
+
+		<p>
+			The user application needs to specify the target slice <span class="emphasis"><em>only</em></span>
+			for the <span class="emphasis"><em>root</em></span> instance i.e. the explicit argument for the
+			<code class="classname">EntityManager.persist(Object pc)</code> method. Slice computes
+			the transitive closure of the graph i.e. the set of all instances
+			directly or indirectly reachable from the root instance and stores
+			them in the same target slice.
+		</p>
+
+		 <p>
+		 Slice tracks the original database for existing instances. When
+		 an application issues a query, the resultant instances can be loaded
+		 from different slices. As Slice tracks the original slice for each
+		 instance, any subsequent update to an instance is committed to the
+		 appropriate original database slice.
+		</p>
+
+            <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3>
+            <p>
+            You can find the original slice of an instance <code class="classname">pc</code> by
+            the static utility method
+            <code class="methodname">SlicePersistence.getSlice(pc)</code>.
+            This method returns the slice identifier associated with the
+            given <span class="emphasis"><em>managed</em></span> instance. If the instance is not
+            being managed then the method return null because any unmanaged or
+            detached instance is not associated with any slice.
+            </p>
+            </div>
+         </div>
+
+		<div class="section" id="d5e17204"><div class="titlepage"><div><div><h3 class="title">2.5.&nbsp;Data Replication</h3></div></div></div>
+			<p>
+			While Slice ensures that the transitive closure is stored in the
+			same slice, there can be data elements that are commonly referred by
+			many instances such as Country or Currency code. Such quasi-static
+			master data can be stored as identical copies in multiple slices.
+			The user application must enumerate the replicated entity type names in
+			<code class="classname">openjpa.slice.ReplicatedTypes</code> as a comma-separated list
+			and implement a <code class="classname">org.apache.openjpa.slice.ReplicationPolicy</code>
+			interface. The <code class="classname">ReplicationPolicy</code> interface
+			is quite similar to <code class="classname">DistributionPolicy</code>
+			interface except it returns an array of target slice names instead
+			of a single slice.
+			</p><pre class="programlisting">
+           
+			 String[] replicate(Object pc, List&lt;String&gt; slices, Object context);
+        
+       </pre><p>
+		</p>
+			<p>
+				The default implementation assumes that replicated instances are
+				stored in all available slices. If any such replicated instance
+				is modified then the modification is updated to all target slices
+				to maintain the critical assumption that the state of a replicated
+				instance is identical across all its target slices.
+			</p>
+		</div>
+
+         <div class="section" id="d5e17213"><div class="titlepage"><div><div><h3 class="title">2.6.&nbsp;Heterogeneous Database</h3></div></div></div>
+            <p>
+              Each slice can be configured independently with its own JDBC
+              driver and other connection parameters. Hence the target database
+              environment can constitute of heterogeneous databases.
+            </p>
+        </div>
+
+         <div class="section" id="d5e17216"><div class="titlepage"><div><div><h3 class="title">2.7.&nbsp;Distributed Transaction</h3></div></div></div>
+            <p>
+            The database slices participate in a global transaction provided
+            each slice is configured with a XA-compliant JDBC driver, even
+            when the persistence unit is configured for <code class="classname">RESOURCE_LOCAL</code>
+            transaction.
+            </p>
+            <p>
+            </p><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3>
+            If any of the configured slices is not XA-compliant <span class="emphasis"><em>and</em></span>
+            the persistence unit is configured for <code class="classname">RESOURCE_LOCAL</code>
+            transaction then each slice is committed without any two-phase
+            commit protocol. If commit on any slice fails, then atomic nature of
+            the transaction is not ensured.
+            </div><p>
+            </p>
+          </div>
+
+         <div class="section" id="collocation_constraint"><div class="titlepage"><div><div><h3 class="title">2.8.&nbsp;Collocation Constraint</h3></div></div></div>
+            <p>
+            No relationship can exist across database slices. In O-R mapping parlance,
+            this condition translates to the limitation that the transitive closure of an object graph must be
+            <span class="emphasis"><em>collocated</em></span> in the same database.
+            For example, consider a domain model where Person relates to Address.
+            Person X refers to Address A while Person Y refers to Address B.
+            Collocation Constraint means that <span class="emphasis"><em>both</em></span> X and A
+            must be stored in the same
+            database slice. Similarly Y and B must be stored in a single slice.
+            </p>
+            <p>
+            Slice, however, helps to maintain collocation constraint automatically.
+            The instances in the closure set of any newly persistent instance
+            reachable via cascaded relationship is stored in the same slice.
+            The user-defined distribution policy requires to supply the slice
+            for the root instance only.
+            </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_slice.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ref_guide_slice.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="slice_configuration.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter&nbsp;13.&nbsp;
+    Slice: Distributed Persistence
+  &nbsp;</td><td width="20%" align="center"><a accesskey="h" href="manual.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;3.&nbsp;Usage</td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/4.1.0/apache-openjpa/docs/index.html b/4.1.0/apache-openjpa/docs/index.html
new file mode 100644
index 000000000..4ed8932e5
--- /dev/null
+++ b/4.1.0/apache-openjpa/docs/index.html
@@ -0,0 +1,1633 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+   <title>Apache OpenJPA 3.2 User's Guide</title><base target="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 3.2 User's Guide"><link rel="next" href="introduction.html" title="Part&nbsp;1.&nbsp;Introduction"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summ [...]
+        About
+    </a></span></dt><dt><span class="chapter"><a href="openjpa_legal.html">2. 
+        Legal
+    </a></span></dt><dd><dl><dt><span class="section"><a href="openjpa_legal.html#openjpa_legal_license">1. 
+            License
+        </a></span></dt><dt><span class="section"><a href="openjpa_legal_notice.html">2. 
+            Notice
+        </a></span></dt><dt><span class="section"><a href="openjpa_legal_copyright.html">3. 
+            Copyrights
+        </a></span></dt><dd><dl><dt><span class="section"><a href="openjpa_legal_copyright.html#openjpa_legal_copyright_apache">3.1. Apache</a></span></dt><dt><span class="section"><a href="openjpa_legal_copyright.html#openjpa_legal_copyright_sun">3.2. Sun</a></span></dt><dt><span class="section"><a href="openjpa_legal_copyright.html#openjpa_legal_copyright_other">3.3. Other</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="part"><a href="jpa_overview.html">2. Java Persistenc [...]
+        Introduction
+    </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_intro.html#jpa_overview_intro_audience">1. 
+            Intended Audience
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_intro_transpers.html">2. 
+            Lightweight Persistence
+        </a></span></dt></dl></dd><dt><span class="chapter"><a href="jpa_overview_why.html">2. 
+        Why JPA?
+    </a></span></dt><dt><span class="chapter"><a href="jpa_overview_arch.html">3. 
+        Java Persistence API Architecture
+    </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_arch.html#jpa_overview_arch_exceptions">1. 
+            JPA Exceptions
+        </a></span></dt></dl></dd><dt><span class="chapter"><a href="jpa_overview_pc.html">4. 
+        Entity
+    </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_pc.html#jpa_overview_pc_restrict">1. 
+            Restrictions on Persistent Classes
+        </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_pc.html#jpa_overview_pc_no_arg">1.1. 
+                Default or No-Arg Constructor
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_pc.html#jpa_overview_pc_final">1.2. 
+                Final
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_pc.html#jpa_overview_pc_id">1.3. 
+                Identity Fields
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_pc.html#jpa_overview_pc_version">1.4. 
+                Version Field
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_pc.html#jpa_overview_pc_restrict_inheritance">1.5. 
+                Inheritance
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_pc.html#jpa_overview_pc_restrict_fields">1.6. 
+                Persistent Fields
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_pc.html#jpa_overview_pc_restrict_conclusion">1.7. 
+                Conclusions
+            </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_overview_pc_identity.html">2. 
+            Entity Identity
+        </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_pc_identity.html#jpa_overview_pc_identitycls">2.1. 
+                Identity Class
+            </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_pc_identity.html#jpa_overview_pc_identity_hierarchy">2.1.1. 
+                    Identity Hierarchies
+                </a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="jpa_overview_pc_callbacks.html">3. 
+            Lifecycle Callbacks
+        </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_pc_callbacks.html#jpa_overview_pc_callbacks_methods">3.1. 
+                Callback Methods
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_pc_callbacks.html#jpa_overview_callbacks_using">3.2. 
+                Using Callback Methods
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_pc_callbacks.html#jpa_overview_entity_listeners_using">3.3. 
+                Using Entity Listeners
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_pc_callbacks.html#jpa_overview_entity_listeners_exclude">3.4. 
+                Entity Listeners Hierarchy
+            </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_overview_pc_conclusion.html">4. 
+            Conclusions
+        </a></span></dt></dl></dd><dt><span class="chapter"><a href="jpa_overview_meta.html">5. 
+        Metadata
+    </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_meta.html#jpa_overview_meta_class">1. 
+            Class Metadata
+        </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_meta.html#jpa_overview_meta_entity">1.1. 
+                Entity
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_meta.html#jpa_overview_meta_idclass">1.2. 
+                Id Class
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_meta.html#jpa_overview_meta_embeddablesuper">1.3. 
+                Mapped Superclass
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_meta.html#jpa_overview_meta_embeddable">1.4. 
+                Embeddable
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_meta.html#jpa_overview_meta_entity_listeners">1.5. 
+                EntityListeners
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_meta.html#jpa_overview_meta_classex">1.6. 
+                Example
+            </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_overview_meta_field.html">2. 
+            Field and Property Metadata
+        </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_meta_field.html#jpa_overview_explicit_access">2.1. 
+            Explicit Access
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_meta_field.html#jpa_overview_meta_transient">2.2. 
+                Transient
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_meta_field.html#jpa_overview_meta_id">2.3. 
+                Id
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_meta_field.html#jpa_overview_meta_gen">2.4. 
+                Generated Value
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_meta_field.html#jpa_overview_meta_embedid">2.5. 
+                Embedded Id
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_meta_field.html#jpa_overview_meta_version">2.6. 
+                Version
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_meta_field.html#jpa_overview_meta_basic">2.7. 
+                Basic
+            </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_meta_field.html#jpa_overview_meta_fetch">2.7.1. 
+                    Fetch Type
+                </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_overview_meta_field.html#jpa_overview_meta_embedded">2.8. 
+                Embedded
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_meta_field.html#jpa_overview_meta_manytoone">2.9. 
+                Many To One
+            </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_meta_field.html#jpa_overview_meta_cascade">2.9.1. 
+                    Cascade Type
+                </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_overview_meta_field.html#jpa_overview_meta_onetomany">2.10. 
+                One To Many
+            </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_meta_field.html#jpa_overview_meta_mappedby">2.10.1. 
+                    Bidirectional Relations
+                </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_overview_meta_field.html#jpa_overview_meta_onetoone">2.11. 
+                One To One
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_meta_field.html#jpa_overview_meta_manytomany">2.12. 
+                Many To Many
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_meta_field.html#jpa_overview_meta_orderby">2.13. 
+                Order By
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_meta_field.html#jpa_overview_meta_mapkey">2.14. 
+                Map Key
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_meta_field.html#jpa_overview_meta_fielddefaults">2.15. 
+                Persistent Field Defaults
+            </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_overview_meta_xml.html">3. 
+            XML Schema
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_meta_complete.html">4. 
+            Conclusion
+        </a></span></dt></dl></dd><dt><span class="chapter"><a href="jpa_overview_persistence.html">6. 
+        Persistence
+    </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_persistence.html#jpa_overview_persistence_xml">1. 
+            persistence.xml
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_persistence_use.html">2. 
+            Non-EE Use
+        </a></span></dt></dl></dd><dt><span class="chapter"><a href="jpa_overview_emfactory.html">7. 
+        EntityManagerFactory
+    </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_emfactory.html#jpa_overview_emfactory_obtain">1. 
+            Obtaining an EntityManagerFactory
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_emfactory_em.html">2. 
+            Obtaining EntityManagers
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_emfactory_perscontext.html">3. 
+            Persistence Context
+        </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_emfactory_perscontext.html#jpa_overview_emfactory_perscontext_trans">3.1. 
+                Transaction Persistence Context
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_emfactory_perscontext.html#jpa_overview_emfactory_perscontext_extend">3.2. 
+                Extended Persistence Context
+            </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_overview_emf_properties.html">4. 
+			Retrieving Properties Information
+		</a></span></dt><dt><span class="section"><a href="jpa_overview_emfactory_close.html">5. 
+            Closing the EntityManagerFactory
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_emfactory_puutil.html">6. 
+            PersistenceUnitUtil
+        </a></span></dt></dl></dd><dt><span class="chapter"><a href="jpa_overview_em.html">8. 
+        EntityManager
+    </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_em.html#jpa_overview_em_trans">1. 
+            Transaction Association
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_em_lifecycle.html">2. 
+            Entity Lifecycle Management
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_em_lifeexamples.html">3. 
+            Lifecycle Examples
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_em_identity.html">4. 
+            Entity Identity Management
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_em_cache.html">5. 
+            Cache Management
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_em_query.html">6. 
+            Query Factory
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_em_locking.html">7. 
+            Entity Locking
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_em_properties.html">8. 
+			Retrieving Properties Information
+		</a></span></dt><dt><span class="section"><a href="jpa_overview_em_closing.html">9. 
+            Closing
+        </a></span></dt></dl></dd><dt><span class="chapter"><a href="jpa_overview_trans.html">9. 
+        Transaction
+    </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_trans.html#jpa_overview_trans_types">1. 
+            Transaction Types
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_trans_local.html">2. 
+            The EntityTransaction Interface
+        </a></span></dt></dl></dd><dt><span class="chapter"><a href="jpa_overview_query.html">10. 
+        JPA Query
+    </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_query.html#jpa_query_api">1. 
+            JPQL API
+        </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_query.html#jpa_overview_query_basic">1.1. 
+                Query Basics
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_query.html#jpa_overview_query_relations">1.2. 
+                Relation Traversal
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_query.html#jpa_overview_query_embeddables">1.3. 
+                Embeddable Traversal
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_query.html#jpa_overview_join_fetch">1.4. 
+                Fetch Joins
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_query.html#jpa_overview_query_functions">1.5. 
+                JPQL Functions
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_query.html#jpa_overview_query_inheritance">1.6. 
+                Polymorphic Queries
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_query.html#jpa_overview_query_params">1.7. 
+                Query Parameters
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_query.html#jpa_overview_query_hints">1.8. 
+                Query Hints
+            </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_query.html#jpa_hints_locking">1.8.1. 
+                    Locking Hints
+                </a></span></dt><dt><span class="section"><a href="jpa_overview_query.html#jpa_hints_locktimeout">1.8.2. 
+                    Lock Timeout Hint
+                </a></span></dt><dt><span class="section"><a href="jpa_overview_query.html#jpa_hints_querytimeout">1.8.3. 
+                    Query Timeout Hint
+                </a></span></dt><dt><span class="section"><a href="jpa_overview_query.html#jpa_hints_resultset">1.8.4. 
+                    Result Set Size Hint
+                </a></span></dt><dt><span class="section"><a href="jpa_overview_query.html#jpa_hints_isolation">1.8.5. 
+                    Isolation Level Hint
+                </a></span></dt><dt><span class="section"><a href="jpa_overview_query.html#jpa_hints_fetchplan">1.8.6. 
+                    Other Fetchplan Hints
+                </a></span></dt><dt><span class="section"><a href="jpa_overview_query.html#d5e3458">1.8.7. 
+                    Database-Specific Hints
+                </a></span></dt><dt><span class="section"><a href="jpa_overview_query.html#jpa_hints_named">1.8.8. 
+                    Named Query Hints
+                </a></span></dt><dt><span class="section"><a href="jpa_overview_query.html#multi-hints-handling">1.8.9. 
+                    Handling of Multiple Similar Query Hints
+                </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_overview_query.html#jpa_overview_query_ordering">1.9. 
+                Ordering
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_query.html#jpa_overview_query_aggregates">1.10. 
+                Aggregates
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_query.html#jpa_overview_query_named">1.11. 
+                Named Queries
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_query.html#jpa_overview_query_delete">1.12. 
+                Delete By Query
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_query.html#jpa_overview_query_update">1.13. 
+                Update By Query
+            </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_langref.html">2. 
+            JPQL Language Reference
+        </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_langref.html#jpa_langref_stmnttypes">2.1. 
+                JPQL Statement Types
+            </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_langref.html#jpa_langref_select">2.1.1. 
+                    JPQL Select Statement
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_bulk">2.1.2. 
+                    JPQL Update and Delete Statements
+                </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_langref.html#jpa_langref_schematypes">2.2. 
+                JPQL Abstract Schema Types and Query Domains
+            </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_langref.html#jpa_langref_schemanaming">2.2.1. 
+                    JPQL Entity Naming
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_schemaexample">2.2.2. 
+                    JPQL Schema Example
+                </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_langref.html#jpa_langref_fromclause">2.3. 
+                JPQL FROM Clause and Navigational Declarations
+            </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_langref.html#jpa_langref_from_identifiers">2.3.1. 
+                    JPQL FROM Identifiers
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_from_vars">2.3.2. 
+                    JPQL Identification Variables
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_range">2.3.3. 
+                    JPQL Range Declarations
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_path">2.3.4. 
+                    JPQL Path Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_Joins">2.3.5. 
+                    JPQL Joins
+                </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_langref.html#jpa_langref_inner_joins">2.3.5.1. 
+                        JPQL Inner Joins (Relationship Joins)
+                    </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_outer_joins">2.3.5.2. 
+                        JPQL Outer Joins
+                    </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_fetch_joins">2.3.5.3. 
+                        JPQL Fetch Joins
+                    </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_langref.html#jpa_langref_collection_dec">2.3.6. 
+                    JPQL Collection Member Declarations
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_from_clause_and_sql">2.3.7. 
+                    JPQL FROM Clause and SQL
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_polymorph">2.3.8. 
+                    JPQL Polymorphism
+                </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_langref.html#jpa_langref_where">2.4. 
+                JPQL WHERE Clause
+            </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_cond">2.5. 
+                JPQL Conditional Expressions
+            </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_langref.html#jpa_langref_lit">2.5.1. 
+                    JPQL Literals
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_idvar">2.5.2. 
+                    JPQL Identification Variables
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_path_exp">2.5.3. 
+                    JPQL Path Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_input_params">2.5.4. 
+                    JPQL Input Parameters
+                </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_langref.html#jpa_langref_pos_params">2.5.4.1. 
+                        JPQL Positional Parameters
+                    </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_named_params">2.5.4.2. 
+                        JPQL Named Parameters
+                    </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_langref.html#jpa_langref_cond_comp">2.5.5. 
+                    JPQL Conditional Expression Composition
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_operators">2.5.6. 
+                    JPQL Operators and Operator Precedence
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_comparison_expressions">2.5.7. 
+                    JPQL Comparison Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_between">2.5.8. 
+                    JPQL Between Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_in_expressions">2.5.9. 
+                    JPQL In Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_like">2.5.10. 
+                    JPQL Like Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_null">2.5.11. 
+                    JPQL Null Comparison Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_empty_comp">2.5.12. 
+                    JPQL Empty Collection Comparison Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_collection_member">2.5.13. 
+                    JPQL Collection Member Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_exists">2.5.14. 
+                    JPQL Exists Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_all_any">2.5.15. 
+                    JPQL All or Any Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_subqueries">2.5.16. 
+                    JPQL Subqueries
+                </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_langref.html#jpa_langref_scalar_expressions">2.6. 
+                    JPQL Scalar Expressions
+                </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_langref.html#jpa_langref_math_expressions">2.6.1. 
+                    Arithmetic Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_functional_expressions">2.6.2. 
+                    String, Arithmetic, and Datetime Functional Expressions
+                </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_langref.html#jpa_langref_string_fun">2.6.2.1. 
+                        JPQL String Functions
+                    </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_arithmetic">2.6.2.2. 
+                        JPQL Arithmetic Functions
+                    </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_datetime">2.6.2.3. 
+                        JPQL Datetime Functions
+                    </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_langref.html#jpa_langref_case_expressions">2.6.3. 
+                    Case Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_entity_type_expressions">2.6.4. 
+                    Entity Type Expressions
+                </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_langref.html#jpa_langref_group">2.7. 
+                JPQL GROUP BY, HAVING
+            </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_select_clause">2.8. 
+                JPQL SELECT Clause
+            </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_langref.html#jpa_langref_resulttype">2.8.1. 
+                    JPQL Result Type of the SELECT Clause
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_constructor">2.8.2. 
+                    JPQL Constructor Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_null_select">2.8.3. 
+                    JPQL Null Values in the Query Result
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_embeddables">2.8.4. 
+                    JPQL Embeddables in the Query Result
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_aggregates">2.8.5. 
+                    JPQL Aggregate Functions
+                </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_langref.html#jpa_langref_agg_examples">2.8.5.1. 
+                        JPQL Aggregate Examples
+                    </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_numeric_expressions_in_select">2.8.5.2. 
+                        JPQL Numeric Expressions in the SELECT Clause
+                    </a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="jpa_langref.html#jpa_langref_orderby">2.9. 
+                JPQL ORDER BY Clause
+            </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_bulk_ops">2.10. 
+                JPQL Bulk Update and Delete
+            </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_null_values">2.11. 
+                JPQL Null Values
+            </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_equality">2.12. 
+                JPQL Equality and Comparison Semantics
+            </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_bnf">2.13. 
+                JPQL BNF
+            </a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="jpa_overview_criteria.html">11. 
+        JPA Criteria
+    </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_criteria.html#d5e5484">1. Constructing a CriteriaQuery</a></span></dt><dt><span class="section"><a href="ch13s02.html">2. Executing a CriteriaQuery</a></span></dt><dt><span class="section"><a href="ch13s03.html">3. Extension to Criteria API</a></span></dt><dt><span class="section"><a href="ch13s04.html">4. Generation of Canonical MetaModel classes</a></span></dt></dl></dd><dt><span class="chapter"><a href="jpa_ov [...]
+        SQL Queries
+    </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_sqlquery.html#jpa_overview_sqlquery_create">1. 
+            Creating SQL Queries
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_sqlquery_obj.html">2. 
+            Retrieving Persistent Objects with SQL
+        </a></span></dt></dl></dd><dt><span class="chapter"><a href="jpa_overview_mapping.html">13. 
+        Mapping Metadata
+    </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_mapping.html#jpa_overview_mapping_table">1. 
+            Table
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_mapping_unq.html">2. 
+            Unique Constraints
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_mapping_column.html">3. 
+            Column
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_mapping_id.html">4. 
+            Identity Mapping
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_mapping_sequence.html">5. 
+            Generators
+        </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_mapping_sequence.html#jpa_overview_mapping_sequence_seqgen">5.1. 
+                Sequence Generator
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_mapping_sequence.html#jpa_overview_mapping_sequence_tablegen">5.2. 
+                Table Generator
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_mapping_sequence.html#jpa_overview_mapping_sequence_genex">5.3. 
+                Example
+            </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_overview_mapping_inher.html">6. 
+            Inheritance
+        </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_mapping_inher.html#jpa_overview_mapping_inher_single">6.1. 
+                Single Table
+            </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_mapping_inher.html#jpa_overview_mapping_inher_single_adv">6.1.1. 
+                    Advantages
+                </a></span></dt><dt><span class="section"><a href="jpa_overview_mapping_inher.html#jpa_overview_mapping_inher_single_disadv">6.1.2. 
+                    Disadvantages
+                </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_overview_mapping_inher.html#jpa_overview_mapping_inher_joined">6.2. 
+                Joined
+            </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_mapping_inher.html#jpa_overview_mapping_inher_joined_adv">6.2.1. 
+                    Advantages
+                </a></span></dt><dt><span class="section"><a href="jpa_overview_mapping_inher.html#jpa_overview_mapping_inher_joined_disadv">6.2.2. 
+                    Disadvantages
+                </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_overview_mapping_inher.html#jpa_overview_mapping_inher_tpc">6.3. 
+                Table Per Class
+            </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_mapping_inher.html#jpa_overview_mapping_inher_tpc_adv">6.3.1. 
+                    Advantages
+                </a></span></dt><dt><span class="section"><a href="jpa_overview_mapping_inher.html#jpa_overview_mapping_inher_tpc_disadv">6.3.2. 
+                    Disadvantages
+                </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_overview_mapping_inher.html#jpa_overview_mapping_inher_together">6.4. 
+                Putting it All Together
+            </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_overview_mapping_discrim.html">7. 
+            Discriminator
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_mapping_field.html">8. 
+            Field Mapping
+        </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_mapping_field.html#jpa_overview_mapping_basic">8.1. 
+                Basic Mapping
+            </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_mapping_field.html#jpa_overview_mapping_lob">8.1.1. 
+                    LOBs
+                </a></span></dt><dt><span class="section"><a href="jpa_overview_mapping_field.html#jpa_overview_mapping_enum">8.1.2. 
+                    Enumerated
+                </a></span></dt><dt><span class="section"><a href="jpa_overview_mapping_field.html#jpa_overview_mapping_temporal">8.1.3. 
+                    Temporal Types
+                </a></span></dt><dt><span class="section"><a href="jpa_overview_mapping_field.html#jpa_overview_mapping_basic_example">8.1.4. 
+                    The Updated Mappings
+                </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_overview_mapping_field.html#jpa_overview_mapping_secondary">8.2. 
+                Secondary Tables
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_mapping_field.html#jpa_overview_mapping_embed">8.3. 
+                Embedded Mapping
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_mapping_field.html#jpa_overview_mapping_rel">8.4. 
+                Direct Relations
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_mapping_field.html#jpa_overview_mapping_assoccoll">8.5. 
+                Join Table
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_mapping_field.html#jpa_overview_mapping_bidi">8.6. 
+                Bidirectional Mapping
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_mapping_field.html#jpa_overview_mapping_map">8.7. 
+                Map Mapping
+            </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_overview_mapping_full.html">9. 
+            The Complete Mappings
+        </a></span></dt></dl></dd><dt><span class="chapter"><a href="jpa_overview_conclusion.html">14. 
+        Conclusion
+    </a></span></dt></dl></dd><dt><span class="part"><a href="ref_guide.html">3. Reference Guide</a></span></dt><dd><dl><dt><span class="chapter"><a href="ref_guide_intro.html">1. 
+        Introduction
+    </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_intro.html#ref_guide_intro_audience">1. 
+            Intended Audience
+        </a></span></dt></dl></dd><dt><span class="chapter"><a href="ref_guide_conf.html">2. 
+        Configuration
+    </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_conf.html#ref_guide_conf_intro">1. 
+            Introduction
+        </a></span></dt><dt><span class="section"><a href="ref_guide_conf_specify.html">2. 
+            Runtime Configuration
+        </a></span></dt><dt><span class="section"><a href="ref_guide_conf_devtools.html">3. 
+            Command Line Configuration
+        </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_conf_devtools.html#ref_guide_conf_devtools_format">3.1. 
+                Code Formatting
+            </a></span></dt></dl></dd><dt><span class="section"><a href="ref_guide_conf_plugins.html">4. 
+            Plugin Configuration
+        </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html">5. 
+            OpenJPA Properties
+        </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.AutoClear">5.1. 
+                openjpa.AutoClear
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.AutoDetach">5.2. 
+                openjpa.AutoDetach
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.BrokerFactory">5.3. 
+                openjpa.BrokerFactory
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.BrokerImpl">5.4. 
+                openjpa.BrokerImpl
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.Callbacks">5.5. openjpa.Callbacks</a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.ClassResolver">5.6. 
+                openjpa.ClassResolver
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.Compatibility">5.7. 
+                openjpa.Compatibility
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.ConnectionDriverName">5.8. 
+                openjpa.ConnectionDriverName
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.Connection2DriverName">5.9. 
+                openjpa.Connection2DriverName
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.ConnectionFactory">5.10. 
+                openjpa.ConnectionFactory
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.ConnectionFactory2">5.11. 
+                openjpa.ConnectionFactory2
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.ConnectionFactoryName">5.12. 
+                openjpa.ConnectionFactoryName
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.ConnectionFactory2Name">5.13. 
+                openjpa.ConnectionFactory2Name
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.ConnectionFactoryMode">5.14. 
+                openjpa.ConnectionFactoryMode
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.ConnectionFactoryProperties">5.15. 
+                openjpa.ConnectionFactoryProperties
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.ConnectionFactory2Properties">5.16. 
+                openjpa.ConnectionFactory2Properties
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.ConnectionPassword">5.17. 
+                openjpa.ConnectionPassword
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.Connection2Password">5.18. 
+                openjpa.Connection2Password
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.ConnectionProperties">5.19. 
+                openjpa.ConnectionProperties
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.Connection2Properties">5.20. 
+                openjpa.Connection2Properties
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.ConnectionURL">5.21. 
+                openjpa.ConnectionURL
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.Connection2URL">5.22. 
+                openjpa.Connection2URL
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.ConnectionUserName">5.23. 
+                openjpa.ConnectionUserName
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.Connection2UserName">5.24. 
+                openjpa.Connection2UserName
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.ConnectionRetainMode">5.25. 
+                openjpa.ConnectionRetainMode
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.DataCache">5.26. 
+                openjpa.DataCache
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.DataCacheManager">5.27. 
+                openjpa.DataCacheManager
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.DataCacheMode">5.28. 
+                openjpa.DataCacheMode
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.DataCacheTimeout">5.29. 
+                openjpa.DataCacheTimeout
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.DetachState">5.30. 
+                openjpa.DetachState
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.DynamicDataStructs">5.31. 
+                openjpa.DynamicDataStructs
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.DynamicEnhancementAgent">5.32. openjpa.DynamicEnhancementAgent</a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.FetchBatchSize">5.33. 
+                openjpa.FetchBatchSize
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.EncryptionProvider">5.34. 
+                openjpa.EncryptionProvider
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.FetchGroups">5.35. 
+                openjpa.FetchGroups
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.FlushBeforeQueries">5.36. 
+                openjpa.FlushBeforeQueries
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.IgnoreChanges">5.37. 
+                openjpa.IgnoreChanges
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.Id">5.38. openjpa.Id</a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.InitializeEagerly">5.39. 
+                openjpa.InitializeEagerly
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.Instrumentation">5.40. 
+                openjpa.Instrumentation
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.InverseManager">5.41. 
+                openjpa.InverseManager
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.LockManager">5.42. 
+                openjpa.LockManager
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.LockTimeout">5.43. 
+                openjpa.LockTimeout
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.Log">5.44. 
+                openjpa.Log
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.ManagedRuntime">5.45. 
+                openjpa.ManagedRuntime
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.Mapping">5.46. 
+                openjpa.Mapping
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.MaxFetchDepth">5.47. 
+                openjpa.MaxFetchDepth
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.MetaDataFactory">5.48. 
+                openjpa.MetaDataFactory
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.MetaDataRepository">5.49. 
+                openjpa.MetaDataRepository
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.Multithreaded">5.50. 
+                openjpa.Multithreaded
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.Optimistic">5.51. 
+                openjpa.Optimistic
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.OptimizeIdCopy">5.52. 
+                openjpa.OptimizeIdCopy
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.OrphanedKeyAction">5.53. 
+                openjpa.OrphanedKeyAction
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.NontransactionalRead">5.54. 
+                openjpa.NontransactionalRead
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.NontransactionalWrite">5.55. 
+                openjpa.NontransactionalWrite
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.ProxyManager">5.56. 
+                openjpa.ProxyManager
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.PostLoadOnMerge">5.57. 
+                openjpa.PostLoadOnMerge
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.QueryCache">5.58. 
+                openjpa.QueryCache
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.QueryCompilationCache">5.59. 
+                openjpa.QueryCompilationCache
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.ReadLockLevel">5.60. 
+                openjpa.ReadLockLevel
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.RemoteCommitProvider">5.61. 
+                openjpa.RemoteCommitProvider
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.RestoreState">5.62. 
+                openjpa.RestoreState
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.RetainState">5.63. 
+                openjpa.RetainState
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.RetryClassRegistration">5.64. 
+                openjpa.RetryClassRegistration
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.RuntimeUnenhancedClasses">5.65. openjpa.RuntimeUnenhancedClasses</a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.SavepointManager">5.66. 
+                openjpa.SavepointManager
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.Sequence">5.67. 
+                openjpa.Sequence
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.Specification">5.68. 
+                openjpa.Specification
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.TransactionMode">5.69. 
+                openjpa.TransactionMode
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.UseTCCLinSelectNew">5.70. 
+                openjpa.UseTCCLinSelectNew
+            </a></span></dt><dt><span class="section"><a href="ref_guide_conf_openjpa.html#openjpa.WriteLockLevel">5.71. 
+                openjpa.WriteLockLevel
+            </a></span></dt></dl></dd><dt><span class="section"><a href="ref_guide_conf_jdbc.html">6. 
+            OpenJPA JDBC Properties
+        </a></span></dt><dd><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></dd></dl></dd><dt><span class="chapter"><a href="ref_guide_logging.html">3. 
+        Logging and Auditing
+    </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_logging.html#ref_guide_logging_channels">1. 
+            Logging Channels
+        </a></span></dt><dt><span class="section"><a href="ref_guide_logging_openjpa.html">2. 
+            OpenJPA Logging
+        </a></span></dt><dt><span class="section"><a href="ref_guide_logging_noop.html">3. 
+            Disabling Logging
+        </a></span></dt><dt><span class="section"><a href="ref_guide_logging_log4j.html">4. 
+            Log4J
+        </a></span></dt><dt><span class="section"><a href="ref_guide_logging_commons.html">5. 
+            Apache Commons Logging
+        </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_logging_commons.html#ref_guide_logging_jdk14">5.1. 
+                JDK java.util.logging
+            </a></span></dt></dl></dd><dt><span class="section"><a href="ref_guide_logging_slf4j.html">6. 
+            SLF4J
+        </a></span></dt><dt><span class="section"><a href="ref_guide_logging_custom.html">7. 
+            Custom Log
+        </a></span></dt><dt><span class="section"><a href="ref_guide_audit.html">8. OpenJPA Audit</a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_audit.html#d5e9667">8.1. Configuration</a></span></dt><dt><span class="section"><a href="ref_guide_audit.html#d5e9689">8.2. Developing custom auditing</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ref_guide_dbsetup.html">4. 
+        JDBC
+    </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_dbsetup.html#ref_guide_dbsetup_builtin">1. 
+            Using the OpenJPA DataSource
+        </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_dbsetup.html#ref_guide_dbsetup_auto">1.1. 
+                Optional Connection Pooling
+            </a></span></dt><dt><span class="section"><a href="ref_guide_dbsetup.html#ref_guide_dbsetup_config">1.2. 
+                Configuring the OpenJPA DataSource
+            </a></span></dt><dt><span class="section"><a href="ref_guide_dbsetup.html#ref_guide_dbsetup_dbcp">1.3. 
+                Configuring Apache Commons DBCP
+            </a></span></dt></dl></dd><dt><span class="section"><a href="ref_guide_dbsetup_thirdparty.html">2. 
+            Using a Third-Party DataSource
+        </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_dbsetup_thirdparty.html#ref_guide_dbsetup_thirdparty_enlist">2.1. 
+                Managed and XA DataSources
+            </a></span></dt><dt><span class="section"><a href="ref_guide_dbsetup_thirdparty.html#ref_guide_dbsetup_setDSatRuntime">2.2. Setting the DataSource at runtime</a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_dbsetup_thirdparty.html#ref_guide_dbsetup_setDSPerEM">2.2.1. Using different DataSources for each EntityManager</a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_dbsetup_thirdparty.html#ref_guide_dbsetup_setDSBenefits">2.2.1.1. Benefits [...]
+            Runtime Access to DataSource
+        </a></span></dt><dt><span class="section"><a href="ref_guide_dbsetup_dbsupport.html">4. 
+            Database Support
+        </a></span></dt><dd><dl><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></dd><dt><span class="section"><a href="ref_guide_dbsetup_isolation.html">5. 
+            Setting the Transaction Isolation
+        </a></span></dt><dt><span class="section"><a href="ref_guide_dbsetup_sql92.html">6. 
+            Setting the SQL Join Syntax
+        </a></span></dt><dt><span class="section"><a href="ref_guide_dbsetup_multidb.html">7. 
+            Accessing Multiple Databases
+        </a></span></dt><dt><span class="section"><a href="ref_guide_dbsetup_retain.html">8. 
+            Configuring the Use of JDBC Connections
+        </a></span></dt><dt><span class="section"><a href="ref_guide_dbsetup_stmtbatch.html">9. 
+            Statement Batching
+        </a></span></dt><dt><span class="section"><a href="ref_guide_dbsetup_lrs.html">10. 
+            Large Result Sets
+        </a></span></dt><dt><span class="section"><a href="ref_guide_schema_def.html">11. 
+            Default Schema
+        </a></span></dt><dt><span class="section"><a href="ref_guide_schema_info.html">12. 
+            Schema Reflection
+        </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_schema_info.html#ref_guide_schema_info_list">12.1. 
+                Schemas List
+            </a></span></dt><dt><span class="section"><a href="ref_guide_schema_info.html#ref_guide_schema_info_factory">12.2. 
+                Schema Factory
+            </a></span></dt></dl></dd><dt><span class="section"><a href="ref_guide_schema_schematool.html">13. 
+            Schema Tool
+        </a></span></dt><dt><span class="section"><a href="ref_guide_schema_xml.html">14. 
+            XML Schema Format
+        </a></span></dt></dl></dd><dt><span class="chapter"><a href="ref_guide_pc.html">5. 
+        Persistent Classes
+    </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_pc.html#ref_guide_pc_pcclasses">1. 
+            Persistent Class List
+        </a></span></dt><dt><span class="section"><a href="ref_guide_pc_enhance.html">2. 
+            Enhancement
+        </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_pc_enhance.html#ref_guide_pc_enhance_build">2.1. 
+                Enhancing at Build Time
+            </a></span></dt><dt><span class="section"><a href="ref_guide_pc_enhance.html#ref_guide_pc_enhance_runtime_container">2.2. 
+                Enhancing JPA Entities on Deployment
+            </a></span></dt><dt><span class="section"><a href="ref_guide_pc_enhance.html#ref_guide_pc_enhance_runtime">2.3. 
+                Enhancing at Runtime
+            </a></span></dt><dt><span class="section"><a href="ref_guide_pc_enhance.html#ref_guide_pc_enhance_dynamic">2.4. 
+		Enhancing Dynamically at Runtime
+	</a></span></dt><dt><span class="section"><a href="ref_guide_pc_enhance.html#ref_guide_pc_enhance_unenhanced_types">2.5. 
+                Omitting the OpenJPA enhancer
+            </a></span></dt></dl></dd><dt><span class="section"><a href="ref_guide_pc_interfaces.html">3. Managed Interfaces</a></span></dt><dt><span class="section"><a href="ref_guide_pc_oid.html">4. 
+            Object Identity
+        </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_pc_oid.html#ref_guide_pc_oid_datastore">4.1. 
+                Datastore Identity
+            </a></span></dt><dt><span class="section"><a href="ref_guide_pc_oid.html#ref_guide_pc_oid_entitypk">4.2. 
+                Entities as Identity Fields
+            </a></span></dt><dt><span class="section"><a href="ref_guide_pc_oid.html#ref_guide_pc_oid_application">4.3. 
+                Application Identity Tool
+            </a></span></dt><dt><span class="section"><a href="ref_guide_pc_oid.html#ref_guide_pc_oid_pkgen_autoinc">4.4. 
+                Autoassign / Identity Strategy Caveats
+            </a></span></dt></dl></dd><dt><span class="section"><a href="ref_guide_inverses.html">5. 
+            Managed Inverses
+        </a></span></dt><dt><span class="section"><a href="ref_guide_pc_scos.html">6. 
+            Persistent Fields
+        </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_pc_scos.html#ref_guide_pc_scos_restore">6.1. 
+                Restoring State
+            </a></span></dt><dt><span class="section"><a href="ref_guide_pc_scos.html#ref_guide_pc_scos_order">6.2. 
+                Typing and Ordering
+            </a></span></dt><dt><span class="section"><a href="ref_guide_pc_scos.html#ref_guide_pc_calendar_timezone">6.3. 
+                Calendar Fields and TimeZones
+            </a></span></dt><dt><span class="section"><a href="ref_guide_pc_scos.html#ref_guide_pc_scos_proxy">6.4. 
+                Proxies
+            </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_pc_scos.html#ref_guide_pc_scos_proxy_smart">6.4.1. 
+                    Smart Proxies
+                </a></span></dt><dt><span class="section"><a href="ref_guide_pc_scos.html#ref_guide_pc_scos_proxy_lrs">6.4.2. 
+                    Large Result Set Proxies
+                </a></span></dt><dt><span class="section"><a href="ref_guide_pc_scos.html#ref_guide_pc_scos_proxy_custom">6.4.3. 
+                    Custom Proxies
+                </a></span></dt><dt><span class="section"><a href="ref_guide_pc_scos.html#ref_guide_pc_scos_proxy_serial">6.4.4. 
+                    Serialization
+                </a></span></dt></dl></dd><dt><span class="section"><a href="ref_guide_pc_scos.html#ref_guide_pc_extern">6.5. 
+                Externalization
+            </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_pc_scos.html#ref_guide_pc_extern_values">6.5.1. 
+                    External Values
+                </a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="ref_guide_fetch.html">7. 
+            Fetch Groups
+        </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_fetch.html#ref_guide_fetch_custom">7.1. 
+                Custom Fetch Groups
+            </a></span></dt><dt><span class="section"><a href="ref_guide_fetch.html#ref_guide_fetch_conf">7.2. 
+                Custom Fetch Group Configuration
+            </a></span></dt><dt><span class="section"><a href="ref_guide_fetch.html#ref_guide_fetch_single_field">7.3. 
+                Per-field Fetch Configuration
+            </a></span></dt><dt><span class="section"><a href="ref_guide_fetch.html#ref_guide_fetch_impl">7.4. 
+                Implementation Notes
+            </a></span></dt></dl></dd><dt><span class="section"><a href="ref_guide_perfpack_eager.html">8. 
+            Eager Fetching
+        </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_perfpack_eager.html#ref_guide_perfpack_eager_conf">8.1. 
+                Configuring Eager Fetching
+            </a></span></dt><dt><span class="section"><a href="ref_guide_perfpack_eager.html#ref_guide_perfpack_eager_consider">8.2. 
+                Eager Fetching Considerations and Limitations
+            </a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ref_guide_meta.html">6. 
+        Metadata
+    </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_meta.html#ref_guide_meta_factory">1. 
+            Metadata Factory
+        </a></span></dt><dt><span class="section"><a href="ref_guide_meta_repository.html">2. Metadata Repository</a></span></dt><dt><span class="section"><a href="ref_guide_meta_jpa.html">3. 
+            Additional JPA Metadata
+        </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_meta_jpa.html#ref_guide_meta_jpa_datastoreid">3.1. 
+                Datastore Identity
+            </a></span></dt><dt><span class="section"><a href="ref_guide_meta_jpa.html#ref_guide_meta_jpa_version">3.2. 
+                Surrogate Version
+            </a></span></dt><dt><span class="section"><a href="ref_guide_meta_jpa.html#ref_guide_meta_jpa_persistent">3.3. 
+                Persistent Field Values
+            </a></span></dt><dt><span class="section"><a href="ref_guide_meta_jpa.html#ref_guide_meta_jpa_persistent_coll">3.4. Persistent Collection Fields</a></span></dt><dt><span class="section"><a href="ref_guide_meta_jpa.html#ref_guide_meta_jpa_persistent_map">3.5. Persistent Map Fields</a></span></dt></dl></dd><dt><span class="section"><a href="ref_guide_meta_ext.html">4. 
+            Metadata Extensions
+        </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_meta_ext.html#ref_guide_meta_class">4.1. 
+                Class Extensions
+            </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_meta_ext.html#fetch-groups">4.1.1. 
+                    Fetch Groups
+                </a></span></dt><dt><span class="section"><a href="ref_guide_meta_ext.html#data-cache">4.1.2. 
+                    Data Cache
+                </a></span></dt><dt><span class="section"><a href="ref_guide_meta_ext.html#detached-state-field">4.1.3. 
+                    Detached State
+                </a></span></dt></dl></dd><dt><span class="section"><a href="ref_guide_meta_ext.html#ref_guide_meta_field">4.2. 
+                Field Extensions
+            </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_meta_ext.html#dependent">4.2.1. 
+                    Dependent
+                </a></span></dt><dt><span class="section"><a href="ref_guide_meta_ext.html#load-fetch-group">4.2.2. 
+                    Load Fetch Group
+                </a></span></dt><dt><span class="section"><a href="ref_guide_meta_ext.html#lrs">4.2.3. 
+                    LRS
+                </a></span></dt><dt><span class="section"><a href="ref_guide_meta_ext.html#inverse-logical">4.2.4. 
+                    Inverse-Logical
+                </a></span></dt><dt><span class="section"><a href="ref_guide_meta_ext.html#read-only">4.2.5. 
+                    Read-Only
+                </a></span></dt><dt><span class="section"><a href="ref_guide_meta_ext.html#type">4.2.6. 
+                    Type
+                </a></span></dt><dt><span class="section"><a href="ref_guide_meta_ext.html#externalizer">4.2.7. 
+                    Externalizer
+                </a></span></dt><dt><span class="section"><a href="ref_guide_meta_ext.html#factory">4.2.8. 
+                    Factory
+                </a></span></dt><dt><span class="section"><a href="ref_guide_meta_ext.html#external-values">4.2.9. 
+                    External Values
+                </a></span></dt></dl></dd><dt><span class="section"><a href="ref_guide_meta_ext.html#ref_guide_meta_example">4.3. 
+                Example
+            </a></span></dt><dt><span class="section"><a href="ref_guide_meta_ext.html#ref_guide_meta_xml">4.4. 
+        		XML extensions
+        	</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ref_guide_mapping.html">7. 
+        Mapping
+    </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_mapping.html#ref_guide_mapping_mappingtool">1. 
+            Forward Mapping
+        </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_mapping.html#ref_guide_mapping_mappingtool_examples">1.1. 
+                Using the Mapping Tool
+            </a></span></dt><dt><span class="section"><a href="ref_guide_mapping.html#ref_guide_ddl_examples">1.2. 
+                Generating DDL SQL
+            </a></span></dt><dt><span class="section"><a href="ref_guide_mapping.html#ref_guide_mapping_synch">1.3. 
+                Runtime Forward Mapping
+            </a></span></dt></dl></dd><dt><span class="section"><a href="ref_guide_pc_reverse.html">2. 
+            Reverse Mapping
+        </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_pc_reverse.html#ref_guide_pc_reverse_custom">2.1. 
+                Customizing Reverse Mapping
+            </a></span></dt></dl></dd><dt><span class="section"><a href="ref_guide_mapping_middle.html">3. 
+            Meet-in-the-Middle Mapping
+        </a></span></dt><dt><span class="section"><a href="ref_guide_mapping_defaults.html">4. 
+            Mapping Defaults
+        </a></span></dt><dt><span class="section"><a href="ref_guide_mapping_factory.html">5. 
+            Mapping Factory
+        </a></span></dt><dt><span class="section"><a href="ref_guide_mapping_notes_nonstdjoins.html">6. 
+            Non-Standard Joins
+        </a></span></dt><dt><span class="section"><a href="ref_guide_mapping_jpa.html">7. 
+            Additional JPA Mappings
+        </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_mapping_jpa.html#ref_guide_mapping_jpa_datastoreid">7.1. 
+                Datastore Identity Mapping
+            </a></span></dt><dt><span class="section"><a href="ref_guide_mapping_jpa.html#ref_guide_mapping_jpa_version">7.2. 
+                Surrogate Version Mapping
+            </a></span></dt><dt><span class="section"><a href="ref_guide_mapping_jpa.html#ref_guide_mapping_jpa_columns">7.3. 
+                Multi-Column Mappings
+            </a></span></dt><dt><span class="section"><a href="ref_guide_mapping_jpa.html#ref_guide_mapping_jpa_fieldjoin">7.4. 
+                Join Column Attribute Targets
+            </a></span></dt><dt><span class="section"><a href="ref_guide_mapping_jpa.html#ref_guide_mapping_jpa_embed">7.5. 
+                Embedded Mapping
+            </a></span></dt><dt><span class="section"><a href="ref_guide_mapping_jpa.html#ref_guide_mapping_jpa_coll">7.6. 
+                Collections
+            </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_mapping_jpa.html#ref_guide_mapping_jpa_coll_table">7.6.1. 
+                    Container Table
+                </a></span></dt><dt><span class="section"><a href="ref_guide_mapping_jpa.html#ref_guide_mapping_jpa_coll_joincols">7.6.2. 
+                    Element Join Columns
+                </a></span></dt><dt><span class="section"><a href="ref_guide_mapping_jpa.html#ref_guide_mapping_jpa_coll_order">7.6.3. 
+                    Order Column
+                </a></span></dt></dl></dd><dt><span class="section"><a href="ref_guide_mapping_jpa.html#ref_guide_mapping_jpa_onemany">7.7. 
+                One-Sided One-Many Mapping
+            </a></span></dt><dt><span class="section"><a href="ref_guide_mapping_jpa.html#ref_guide_mapping_jpa_map">7.8. 
+                Maps
+            </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_mapping_jpa.html#ref_guide_mapping_jpa_map_keycols">7.8.1. Key Columns</a></span></dt><dt><span class="section"><a href="ref_guide_mapping_jpa.html#ref_guide_mapping_jpa_map_keyjoincols">7.8.2. Key Join Columns</a></span></dt><dt><span class="section"><a href="ref_guide_mapping_jpa.html#ref_guide_mapping_jpa_map_embedkey">7.8.3. Key Embedded Mapping</a></span></dt><dt><span class="section"><a href="ref_guide [...]
+                Indexes and Constraints
+            </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_mapping_jpa.html#ref_guide_mapping_jpa_index">7.9.1. 
+                    Indexes
+                </a></span></dt><dt><span class="section"><a href="ref_guide_mapping_jpa.html#ref_guide_mapping_jpa_fk">7.9.2. 
+                    Foreign Keys
+                </a></span></dt><dt><span class="section"><a href="ref_guide_mapping_jpa.html#ref_guide_mapping_jpa_unique">7.9.3. 
+                    Unique Constraints
+                </a></span></dt></dl></dd><dt><span class="section"><a href="ref_guide_mapping_jpa.html#ref_guide_xmlmapping">7.10. 
+              XML Column Mapping
+            </a></span></dt><dt><span class="section"><a href="ref_guide_mapping_jpa.html#ref_guide_streamsupport">7.11. 
+                LOB Streaming
+            </a></span></dt></dl></dd><dt><span class="section"><a href="ref_guide_mapping_limits.html">8. 
+            Mapping Limitations
+        </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_mapping_limits.html#ref_guide_mapping_limits_tpc">8.1. 
+                Table Per Class
+            </a></span></dt></dl></dd><dt><span class="section"><a href="ref_guide_mapping_ext.html">9. 
+            Mapping Extensions
+        </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_mapping_ext.html#ref_guide_mapping_ext_cls">9.1. 
+                Class Extensions
+            </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_mapping_ext.html#subclass-fetch-mode">9.1.1. 
+                    Subclass Fetch Mode
+                </a></span></dt><dt><span class="section"><a href="ref_guide_mapping_ext.html#class-strategy">9.1.2. 
+                    Strategy
+                </a></span></dt><dt><span class="section"><a href="ref_guide_mapping_ext.html#discriminator-strategy">9.1.3. 
+                    Discriminator Strategy
+                </a></span></dt><dt><span class="section"><a href="ref_guide_mapping_ext.html#version-strategy">9.1.4. 
+                    Version Strategy
+                </a></span></dt></dl></dd><dt><span class="section"><a href="ref_guide_mapping_ext.html#ref_guide_mapping_ext_field">9.2. 
+                Field Extensions
+            </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_mapping_ext.html#eager-fetch-mode">9.2.1. 
+                    Eager Fetch Mode
+                </a></span></dt><dt><span class="section"><a href="ref_guide_mapping_ext.html#nonpolymorphic">9.2.2. 
+                    Nonpolymorphic
+                </a></span></dt><dt><span class="section"><a href="ref_guide_mapping_ext.html#class-criteria">9.2.3. 
+                    Class Criteria
+                </a></span></dt><dt><span class="section"><a href="ref_guide_mapping_ext.html#strategy">9.2.4. 
+                    Strategy
+                </a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="ref_guide_mapping_custom.html">10. 
+            Custom Mappings
+        </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_mapping_custom.html#ref_guide_mapping_custom_class">10.1. 
+                Custom Class Mapping
+            </a></span></dt><dt><span class="section"><a href="ref_guide_mapping_custom.html#ref_guide_mapping_custom_versdiscrim">10.2. 
+                Custom Discriminator and Version Strategies
+            </a></span></dt><dt><span class="section"><a href="ref_guide_mapping_custom.html#ref_guide_mapping_custom_field">10.3. 
+                Custom Field Mapping
+            </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_mapping_custom.html#ref_guide_mapping_custom_vhandler">10.3.1. 
+                    Value Handlers
+                </a></span></dt><dt><span class="section"><a href="ref_guide_mapping_custom.html#ref_guide_mapping_custom_fieldstrat">10.3.2. 
+                    Field Strategies
+                </a></span></dt><dt><span class="section"><a href="ref_guide_mapping_custom.html#ref_guide_mapping_custom_field_conf">10.3.3. 
+                    Configuration
+                </a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="ref_guide_orphan.html">11. 
+            Orphaned Keys
+        </a></span></dt></dl></dd><dt><span class="chapter"><a href="ref_guide_deploy.html">8. 
+        Deployment
+    </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_deploy.html#ref_guide_deploy_factory">1. 
+            Factory Deployment
+        </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_deploy.html#ref_guide_deploy_factory_standalone">1.1. 
+                Standalone Deployment
+            </a></span></dt><dt><span class="section"><a href="ref_guide_deploy.html#ref_guide_deploy_inject">1.2. 
+                EntityManager Injection
+            </a></span></dt></dl></dd><dt><span class="section"><a href="ref_guide_enterprise_trans.html">2. 
+            Integrating with the Transaction Manager
+        </a></span></dt><dt><span class="section"><a href="ref_guide_enterprise_xa.html">3. 
+            XA Transactions
+        </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_enterprise_xa.html#ref_guide_enterprise_xa_req">3.1. 
+                Using OpenJPA with XA Transactions
+            </a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ref_guide_runtime.html">9. 
+        Runtime Extensions
+    </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_runtime.html#ref_guide_runtime_arch">1. 
+            Architecture
+        </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_runtime.html#ref_guide_runtime_broker_finalization">1.1. 
+                Broker Finalization
+            </a></span></dt><dt><span class="section"><a href="ref_guide_runtime.html#ref_guide_runtime_broker_extension">1.2. 
+                Broker Customization and Eviction
+            </a></span></dt></dl></dd><dt><span class="section"><a href="ref_guide_runtime_jpa.html">2. 
+            JPA Extensions
+        </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_runtime_jpa.html#ref_guide_runtime_emfactory">2.1. 
+                OpenJPAEntityManagerFactory
+            </a></span></dt><dt><span class="section"><a href="ref_guide_runtime_jpa.html#ref_guide_runtime_em">2.2. 
+                OpenJPAEntityManager
+            </a></span></dt><dt><span class="section"><a href="ref_guide_runtime_jpa.html#ref_guide_runtime_jpaquery">2.3. 
+                OpenJPAQuery
+            </a></span></dt><dt><span class="section"><a href="ref_guide_runtime_jpa.html#ref_guide_runtime_jpaextent">2.4. 
+                Extent
+            </a></span></dt><dt><span class="section"><a href="ref_guide_runtime_jpa.html#ref_guide_runtime_jpacache">2.5. 
+                StoreCache
+            </a></span></dt><dt><span class="section"><a href="ref_guide_runtime_jpa.html#ref_guide_runtime_jpaquerycache">2.6. 
+                QueryResultCache
+            </a></span></dt><dt><span class="section"><a href="ref_guide_runtime_jpa.html#ref_guide_runtime_jpafetch">2.7. 
+                FetchPlan
+            </a></span></dt><dt><span class="section"><a href="ref_guide_runtime_jpa.html#ref_guide_runtime_openjpaentitytransaction">2.8. 
+                OpenJPAEntityTransaction
+            </a></span></dt><dt><span class="section"><a href="ref_guide_runtime_jpa.html#ref_guide_runtime_openjpapersistence">2.9. 
+                OpenJPAPersistence
+            </a></span></dt></dl></dd><dt><span class="section"><a href="ref_guide_locking.html">3. 
+            Object Locking
+        </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_locking.html#ref_guide_locking_default">3.1. 
+                Configuring Default Locking
+            </a></span></dt><dt><span class="section"><a href="ref_guide_locking.html#ref_guide_locking_runtime">3.2. 
+                Configuring Lock Levels at Runtime
+            </a></span></dt><dt><span class="section"><a href="ref_guide_locking.html#ref_guide_locking_apis">3.3. 
+                Object Locking APIs
+            </a></span></dt><dt><span class="section"><a href="ref_guide_locking.html#ref_guide_locking_lockmgr">3.4. 
+                Lock Manager
+            </a></span></dt><dt><span class="section"><a href="ref_guide_locking.html#ref_guide_locking_rules">3.5. 
+                Rules for Locking Behavior
+            </a></span></dt><dt><span class="section"><a href="ref_guide_locking.html#ref_guide_locking_issues">3.6. 
+                Known Issues and Limitations
+            </a></span></dt></dl></dd><dt><span class="section"><a href="ref_guide_savepoints.html">4. 
+            Savepoints
+        </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_savepoints.html#reg_guide_savepoints_using">4.1. 
+                Using Savepoints
+            </a></span></dt><dt><span class="section"><a href="ref_guide_savepoints.html#ref_guide_savepoints_conf">4.2. 
+                Configuring Savepoints
+            </a></span></dt></dl></dd><dt><span class="section"><a href="ref_guide_enterprise_methodql.html">5. 
+                MethodQL
+            </a></span></dt><dt><span class="section"><a href="ref_guide_sequence.html">6. 
+            Generators
+        </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_sequence.html#ref_guide_sequence_runtime">6.1. 
+                Runtime Access
+            </a></span></dt></dl></dd><dt><span class="section"><a href="ref_guide_runtime_pm_event.html">7. 
+            Transaction Events
+        </a></span></dt><dt><span class="section"><a href="ref_guide_enterprise_abstractstore.html">8. 
+            Non-Relational Stores
+        </a></span></dt></dl></dd><dt><span class="chapter"><a href="ref_guide_caching.html">10. 
+        Caching
+    </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_caching.html#ref_guide_cache">1. 
+            Data Cache
+        </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_caching.html#ref_guide_cache_conf">1.1. 
+                Data Cache Configuration
+            </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_caching.html#ref_guide_data_cache">1.1.1. 
+                openjpa.DataCache Configuration
+            </a></span></dt><dt><span class="section"><a href="ref_guide_caching.html#ref_guide_shared_cache_mode_integration">1.1.2. 
+                Integration with JPA standard shared cache mode
+            </a></span></dt><dt><span class="section"><a href="ref_guide_caching.html#ref_guide_cache_distribution">1.1.3. Distributing instances across cache partitions</a></span></dt></dl></dd><dt><span class="section"><a href="ref_guide_caching.html#ref_guide_cache_use">1.2. 
+                Data Cache Usage
+            </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_caching.html#ref_guide_cache_use_JPA">1.2.1. Using the JPA standard Cache interface</a></span></dt><dt><span class="section"><a href="ref_guide_caching.html#ref_guide_cache_use_openJPA">1.2.2. Using the OpenJPA StoreCache extensions</a></span></dt></dl></dd><dt><span class="section"><a href="ref_guide_caching.html#ref_guide_cache_statistics">1.3. 
+        		Cache Statistics
+        	</a></span></dt><dt><span class="section"><a href="ref_guide_caching.html#ref_guide_cache_query">1.4. 
+                Query Cache
+            </a></span></dt><dt><span class="section"><a href="ref_guide_caching.html#ref_guide_cache_extension">1.5. 
+                Cache Extension
+            </a></span></dt><dt><span class="section"><a href="ref_guide_caching.html#ref_guide_cache_notes">1.6. 
+                Important Notes
+            </a></span></dt><dt><span class="section"><a href="ref_guide_caching.html#datastore_cache_issues">1.7. 
+                Known Issues and Limitations
+            </a></span></dt></dl></dd><dt><span class="section"><a href="ref_guide_cache_querycomp.html">2. 
+            Query Compilation Cache
+        </a></span></dt><dt><span class="section"><a href="ref_guide_cache_querysql.html">3. Prepared SQL Cache</a></span></dt></dl></dd><dt><span class="chapter"><a href="ref_guide_encryption.html">11. 
+        Encryption Provider
+    </a></span></dt><dt><span class="chapter"><a href="ref_guide_remote.html">12. 
+        Remote and Offline Operation
+    </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_remote.html#ref_guide_detach">1. 
+            Detach and Attach
+        </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_remote.html#ref_guide_detach_behavior">1.1. 
+                Detach Behavior
+            </a></span></dt><dt><span class="section"><a href="ref_guide_remote.html#ref_guide_attach_behavior">1.2. 
+                Attach Behavior
+            </a></span></dt><dt><span class="section"><a href="ref_guide_remote.html#ref_guide_detach_graph">1.3. 
+                Defining the Detached Object Graph
+            </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_remote.html#ref_guide_detach_state">1.3.1. 
+                    Detached State
+                </a></span></dt><dt><span class="section"><a href="ref_guide_remote.html#ref_guide_detach_field">1.3.2. 
+                    Detached State Field
+                </a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="ref_guide_event.html">2. 
+            Remote Event Notification Framework
+        </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_event.html#ref_guide_event_conf">2.1. 
+                Remote Commit Provider Configuration
+            </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_event.html#ref_guide_event_conf_jms">2.1.1. 
+                    JMS
+                </a></span></dt><dt><span class="section"><a href="ref_guide_event.html#ref_guide_event_conf_tcp">2.1.2. 
+                    TCP
+                </a></span></dt><dt><span class="section"><a href="ref_guide_event.html#ref_guide_event_conf_common">2.1.3. 
+                    Common Properties
+                </a></span></dt></dl></dd><dt><span class="section"><a href="ref_guide_event.html#ref_guide_event_customization">2.2. 
+                Customization
+            </a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ref_guide_slice.html">13. 
+    Slice: Distributed Persistence
+  </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_slice.html#slice_overview">1. Overview</a></span></dt><dt><span class="section"><a href="features_and_limitations.html">2. Salient Features</a></span></dt><dd><dl><dt><span class="section"><a href="features_and_limitations.html#d5e17150">2.1. Transparency</a></span></dt><dt><span class="section"><a href="features_and_limitations.html#d5e17156">2.2. Scaling</a></span></dt><dt><span class="section"><a href="features_and [...]
+        Third Party Integration
+    </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_integration.html#ref_guide_integration_ant">1. 
+            Apache Ant
+        </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_integration.html#ref_guide_integration_conf">1.1. 
+                Common Ant Configuration Options
+            </a></span></dt><dt><span class="section"><a href="ref_guide_integration.html#ref_guide_integration_enhance">1.2. 
+                Enhancer Ant Task
+            </a></span></dt><dt><span class="section"><a href="ref_guide_integration.html#ref_guide_integration_appidtool">1.3. 
+                Application Identity Tool Ant Task
+            </a></span></dt><dt><span class="section"><a href="ref_guide_integration.html#ref_guide_integration_mappingtool">1.4. 
+                Mapping Tool Ant Task
+            </a></span></dt><dt><span class="section"><a href="ref_guide_integration.html#ref_guide_integration_revmappingtool">1.5. 
+                Reverse Mapping Tool Ant Task
+            </a></span></dt><dt><span class="section"><a href="ref_guide_integration.html#ref_guide_integration_schematool">1.6. 
+                Schema Tool Ant Task
+            </a></span></dt></dl></dd><dt><span class="section"><a href="ref_guide_integration_dbcp.html">2. 
+            Apache Commons DBCP
+        </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_integration_dbcp.html#ref_guide_integration_dbcp_conf">2.1. 
+                Apache Commons DBCP Configuration Options
+            </a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ref_guide_optimization.html">15. 
+        Optimization Guidelines
+    </a></span></dt><dt><span class="chapter"><a href="ref_guide_instrumentation.html">16. 
+        Instrumentation
+    </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_instrumentation.html#ref_guide_instrumentation_config">1. 
+            Configuration
+        </a></span></dt><dd><dl><dt><span class="section"><a href="ref_guide_instrumentation.html#ref_guide_instrumentation_config_jmx">1.1. 
+                JMX Platform MBean Enablement
+            </a></span></dt></dl></dd><dt><span class="section"><a href="ref_guide_instrumentation_custom.html">2. 
+            Custom Providers and Instruments
+        </a></span></dt></dl></dd></dl></dd><dt><span class="part"><a href="appendices.html">4. Appendices</a></span></dt><dd><dl><dt><span class="appendix"><a href="jpa_resources.html">1. 
+        JPA Resources
+    </a></span></dt><dt><span class="appendix"><a href="supported_databases.html">2. 
+        Supported Databases
+    </a></span></dt><dd><dl><dt><span class="section"><a href="supported_databases.html#dbappendix">1. 
+        Overview
+    </a></span></dt><dt><span class="section"><a href="dbsupport.html">2. 
+        Verified Database Matrix
+    </a></span></dt><dt><span class="section"><a href="dbcompatible.html">3. 
+        Compatible Database Matrix
+    </a></span></dt><dt><span class="section"><a href="dbunverified.html">4. 
+        Unverified Database Matrix
+    </a></span></dt><dt><span class="section"><a href="dbsupport_derby.html">5. 
+            Apache Derby
+        </a></span></dt><dt><span class="section"><a href="dbsupport_interbase.html">6. 
+            Borland Interbase
+        </a></span></dt><dd><dl><dt><span class="section"><a href="dbsupport_interbase.html#dbsupport_interbase_issues">6.1. 
+                Known issues with Interbase
+            </a></span></dt></dl></dd><dt><span class="section"><a href="dbsupport_jdatastore.html">7. 
+            JDataStore
+        </a></span></dt><dt><span class="section"><a href="dbsupport_db2.html">8. 
+            IBM DB2
+        </a></span></dt><dd><dl><dt><span class="section"><a href="dbsupport_db2.html#dbsupport_db2_issues">8.1. 
+                Known issues with DB2
+            </a></span></dt></dl></dd><dt><span class="section"><a href="dbsupport_empress.html">9. 
+            Empress
+        </a></span></dt><dd><dl><dt><span class="section"><a href="dbsupport_empress.html#dbsupport_empress_issues">9.1. 
+                Known issues with Empress
+            </a></span></dt></dl></dd><dt><span class="section"><a href="dbsupport_h2.html">10. 
+            H2 Database Engine
+        </a></span></dt><dd><dl><dt><span class="section"><a href="dbsupport_h2.html#dbsupport_h2_issues">10.1. 
+                Known issues with H2 Database Engine
+            </a></span></dt></dl></dd><dt><span class="section"><a href="dbsupport_hypersonic.html">11. 
+            Hypersonic
+        </a></span></dt><dd><dl><dt><span class="section"><a href="dbsupport_hypersonic.html#dbsupport_hypersonic_issues">11.1. 
+                Known issues with Hypersonic
+            </a></span></dt></dl></dd><dt><span class="section"><a href="dbsupport_firebird.html">12. 
+            Firebird
+        </a></span></dt><dd><dl><dt><span class="section"><a href="dbsupport_firebird.html#dbsupport_firebird_issues">12.1. 
+                Known issues with Firebird
+            </a></span></dt></dl></dd><dt><span class="section"><a href="dbsupport_informix.html">13. 
+            Informix
+        </a></span></dt><dd><dl><dt><span class="section"><a href="dbsupport_informix.html#dbsupport_informix_issues">13.1. 
+                Known issues with Informix
+            </a></span></dt></dl></dd><dt><span class="section"><a href="dbsupport_ingres.html">14. 
+            Ingres Database
+        </a></span></dt><dd><dl><dt><span class="section"><a href="dbsupport_ingres.html#dbsupport_ingres_issues">14.1. 
+                Known issues with Ingres
+            </a></span></dt></dl></dd><dt><span class="section"><a href="dbsupport_intersystems_cache.html">15. 
+            InterSystems Cache
+        </a></span></dt><dd><dl><dt><span class="section"><a href="dbsupport_intersystems_cache.html#dbsupport_intersystems_cache_issues">15.1. 
+                Known issues with InterSystems Cache
+            </a></span></dt></dl></dd><dt><span class="section"><a href="dbsupport_access.html">16. 
+            Microsoft Access
+        </a></span></dt><dd><dl><dt><span class="section"><a href="dbsupport_access.html#dbsupport_access_issues">16.1. 
+                Known issues with Microsoft Access
+            </a></span></dt></dl></dd><dt><span class="section"><a href="dbsupport_sqlserver.html">17. 
+            Microsoft SQL Server
+        </a></span></dt><dd><dl><dt><span class="section"><a href="dbsupport_sqlserver.html#dbsupport_sqlserver_issues">17.1. 
+                Known issues with SQL Server
+            </a></span></dt></dl></dd><dt><span class="section"><a href="dbsupport_foxpro.html">18. 
+            Microsoft FoxPro
+        </a></span></dt><dd><dl><dt><span class="section"><a href="dbsupport_foxpro.html#dbsupport_foxpro_issues">18.1. 
+                Known issues with Microsoft FoxPro
+            </a></span></dt></dl></dd><dt><span class="section"><a href="dbsupport_mysql.html">19. 
+            MySQL
+        </a></span></dt><dd><dl><dt><span class="section"><a href="dbsupport_mysql.html#dbsupport_mysql_query_hints">19.1. 
+                Using Query Hints with MySQL
+            </a></span></dt><dt><span class="section"><a href="dbsupport_mysql.html#dbsupport_mysql_issues">19.2. 
+                Known issues with MySQL
+            </a></span></dt></dl></dd><dt><span class="section"><a href="dbsupport_mariadb.html">20. 
+            MariaDB
+        </a></span></dt><dd><dl><dt><span class="section"><a href="dbsupport_mariadb.html#dbsupport_mariadb_issues">20.1. 
+                Known issues with MariaDB
+            </a></span></dt></dl></dd><dt><span class="section"><a href="dbsupport_oracle.html">21. 
+            Oracle
+        </a></span></dt><dd><dl><dt><span class="section"><a href="dbsupport_oracle.html#dbsupport_oracle_query_hints">21.1. 
+                Using Query Hints with Oracle
+            </a></span></dt><dt><span class="section"><a href="dbsupport_oracle.html#dbsupport_oracle_issues">21.2. 
+                Known issues with Oracle
+            </a></span></dt></dl></dd><dt><span class="section"><a href="dbsupport_pointbase.html">22. 
+            Pointbase
+        </a></span></dt><dd><dl><dt><span class="section"><a href="dbsupport_pointbase.html#dbsupport_pointbase_issues">22.1. 
+                Known issues with Pointbase
+            </a></span></dt></dl></dd><dt><span class="section"><a href="dbsupport_postgresql.html">23. 
+            PostgreSQL
+        </a></span></dt><dd><dl><dt><span class="section"><a href="dbsupport_postgresql.html#dbsupport_postgresql_issues">23.1. 
+                Known issues with PostgreSQL
+            </a></span></dt></dl></dd><dt><span class="section"><a href="dbsupport_soliddb.html">24. 
+            IBM solidDB
+        </a></span></dt><dd><dl><dt><span class="section"><a href="dbsupport_soliddb.html#dbsupport_soliddb_table_types">24.1. 
+                M-type tables vs. D-type tables
+            </a></span></dt><dt><span class="section"><a href="dbsupport_soliddb.html#dbsupport_soliddb_concurrency_control">24.2. 
+                Concurrency control mechanism
+            </a></span></dt></dl></dd><dt><span class="section"><a href="dbsupport_sybase.html">25. 
+            Sybase Adaptive Server
+        </a></span></dt><dd><dl><dt><span class="section"><a href="dbsupport_sybase.html#dbsupport_sybase_issues">25.1. 
+                Known issues with Sybase
+            </a></span></dt></dl></dd></dl></dd><dt><span class="appendix"><a href="migration_considerations.html">3. 
+        Migration Considerations
+    </a></span></dt><dd><dl><dt><span class="section"><a href="migration_considerations.html#jpa_2.0">1. 
+            OpenJPA 2.0.0
+        </a></span></dt><dd><dl><dt><span class="section"><a href="migration_considerations.html#jpa_2.0_incompatibilities">1.1. 
+                Incompatibilities
+            </a></span></dt><dd><dl><dt><span class="section"><a href="migration_considerations.html#getProperties">1.1.1. 
+                    getProperties()
+                </a></span></dt><dt><span class="section"><a href="migration_considerations.html#migration_detach_behavior">1.1.2. 
+                    Detach Behavior
+                </a></span></dt><dt><span class="section"><a href="migration_considerations.html#private_persistent_properties">1.1.3. 
+                    Use of private persistent properties
+                </a></span></dt><dt><span class="section"><a href="migration_considerations.html#setParameter">1.1.4. 
+                    Query.setParameter()
+                </a></span></dt><dt><span class="section"><a href="migration_considerations.html#serialization">1.1.5. 
+                    Serialization of Entities
+                </a></span></dt><dt><span class="section"><a href="migration_considerations.html#QuerySQLCache">1.1.6. 
+                    openjpa.jdbc.QuerySQLCache
+                </a></span></dt></dl></dd><dt><span class="section"><a href="migration_considerations.html#Disabling AutoOff Collection Tracking">1.2. 
+                Disabling AutoOff Collection Tracking
+            </a></span></dt><dt><span class="section"><a href="migration_considerations.html#internal_differences">1.3. 
+                Internal Behavioral Differences
+            </a></span></dt><dd><dl><dt><span class="section"><a href="migration_considerations.html#prePostUpdate">1.3.1. 
+                    PreUpdate/PostUpdate Life Cycle Callbacks
+                </a></span></dt><dt><span class="section"><a href="migration_considerations.html#createemf">1.3.2. 
+                    createEntityManagerFactory Exceptions
+                </a></span></dt><dt><span class="section"><a href="migration_considerations.html#querycache">1.3.3. 
+                    openjpa.QueryCache default
+                </a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="jpa_2.2.html">2. 
+            OpenJPA 2.2.0
+        </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_2.2.html#jpa_2.2_incompatibilities">2.1. Incompatibilities</a></span></dt><dd><dl><dt><span class="section"><a href="jpa_2.2.html#jpa_2.2_allocationSize">2.1.1. 
+                    allocationSize Property of Sequence Generator
+                </a></span></dt><dt><span class="section"><a href="jpa_2.2.html#jpa_2.2_metamodelArrays">2.1.2. 
+                    MetaModel Attributes for Arrays
+                </a></span></dt><dt><span class="section"><a href="jpa_2.2.html#jpa_2.2_SupportsSetClob">2.1.3. 
+                    supportsSetClob Property.
+                </a></span></dt><dt><span class="section"><a href="jpa_2.2.html#jpa_2.2_UseNativeSequenceCache">2.1.4. 
+                    useNativeSequenceCache Property.
+                </a></span></dt><dt><span class="section"><a href="jpa_2.2.html#jpa_2.2_cascadePersist">2.1.5. 
+                    Cascade persist behavior
+                </a></span></dt><dt><span class="section"><a href="jpa_2.2.html#jpa_2.2_LifecycleEventManager">2.1.6. 
+                    Life Cycle Event Manager Callback Behavior
+                </a></span></dt><dt><span class="section"><a href="jpa_2.2.html#jpa_2.2_sharedCacheMode">2.1.7. 
+                    shared-cache-mode Property
+                </a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="jpa_2.3.html">3. 
+            OpenJPA 2.3.0
+        </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_2.3.html#jpa_2.3_incompatibilities">3.1. Incompatibilities</a></span></dt><dd><dl><dt><span class="section"><a href="jpa_2.3.html#jpa_2.3_MappingTool">3.1.1. 
+                    MappingTool Behavior for DB2 and Derby
+                </a></span></dt><dt><span class="section"><a href="jpa_2.3.html#jpa_2.3_RequiresSearchStringEscapeForLike">3.1.2. 
+                    RequiresSearchStringEscapeForLike DBDictionary Property
+                </a></span></dt><dt><span class="section"><a href="jpa_2.3.html#ReturnNullOnEmptyAggregateResult">3.1.3. 
+                    Return value of aggregate functions in SELECT clause
+                </a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="jpa_3.2.html">4. OpenJPA 3.2.0</a></span></dt><dd><dl><dt><span class="section"><a href="jpa_3.2.html#jpa_3.2_incompatibilities">4.1. Incompatibilities</a></span></dt><dd><dl><dt><span class="section"><a href="jpa_3.2.html#jpa_3.2_SumDouble">4.1.1. SUM now always returns Double</a></span></dt><dt><span class="section"><a href="jpa_3.2.html#jpa_3.2_InvalidColumnNames">4.1.2. Invalid Column Name Changes< [...]
+            Persistence Mechanisms
+        </a></dt><dt>10.1. <a href="jpa_overview_query.html#d5e3411">
+                        Interaction of ReadLockMode hint and LockManager
+                    </a></dt><dt>2.1. <a href="ref_guide_conf_openjpa.html#d5e7109">
+            Standard JPA Properties and OpenJPA equivalents
+        </a></dt><dt>4.1. <a href="ref_guide_dbsetup_dbsupport.html#d5e11741">
+        			Default delimiters for delimited identifiers
+        		</a></dt><dt>4.2. <a href="ref_guide_dbsetup_retain.html#d5e11910">
+                OpenJPA Automatic Flush Behavior
+            </a></dt><dt>5.1. <a href="ref_guide_pc_scos.html#d5e12984">
+                    Externalizer Options
+                </a></dt><dt>5.2. <a href="ref_guide_pc_scos.html#d5e13021">
+                    Factory Options
+                </a></dt><dt>10.1. <a href="ref_guide_caching.html#d5e16289">
+                Data access methods
+            </a></dt><dt>10.2. <a href="ref_guide_cache_querycomp.html#d5e16680">
+                Pre-defined aliases
+            </a></dt><dt>10.3. <a href="ref_guide_cache_querysql.html#d5e16734">
+                Pre-defined aliases
+            </a></dt><dt>15.1. <a href="ref_guide_optimization.html#d5e17583">
+            Optimization Guidelines
+        </a></dt><dt>2.1. <a href="dbsupport.html#d5e17908">
+            Supported Databases and JDBC Drivers
+        </a></dt><dt>2.2. <a href="dbcompatible.html#d5e17998">
+            Compatible Databases and JDBC Drivers
+        </a></dt><dt>2.3. <a href="dbunverified.html#d5e18136">
+            Unverified Databases and JDBC Drivers
+        </a></dt></dl></div><div class="list-of-examples"><p><b>List of Examples</b></p><dl><dt>3.1. <a href="jpa_overview_arch.html#jpa_overview_arch_interact_outside">
+            Interaction of Interfaces Outside Container
+        </a></dt><dt>3.2. <a href="jpa_overview_arch.html#jpa_overview_arch_interact_inside">
+            Interaction of Interfaces Inside Container
+        </a></dt><dt>4.1. <a href="jpa_overview_pc.html#jpa_overview_pc_pcclass">
+            Persistent Class
+        </a></dt><dt>4.2. <a href="jpa_overview_pc_identity.html#jpa_overview_pc_identity_appidcode">
+                    Identity Class
+                </a></dt><dt>5.1. <a href="jpa_overview_meta.html#jpa_overview_meta_classlisting">
+                    Class Metadata
+                </a></dt><dt>5.2. <a href="jpa_overview_meta_complete.html#jpa_overview_meta_complete_ex">
+                Complete Metadata
+            </a></dt><dt>6.1. <a href="jpa_overview_persistence.html#jpa_overview_persistence_xmlex">
+                persistence.xml
+            </a></dt><dt>6.2. <a href="jpa_overview_persistence_use.html#jpa_overview_persistence_getemfactory">
+                Obtaining an EntityManagerFactory
+            </a></dt><dt>7.1. <a href="jpa_overview_emfactory_perscontext.html#jpa_overview_emfactory_perscontext_transex">
+                    Behavior of Transaction Persistence Context
+                </a></dt><dt>7.2. <a href="jpa_overview_emfactory_perscontext.html#jpa_overview_emfactory_perscontext_extendex">
+                    Behavior of Extended Persistence Context
+                </a></dt><dt>8.1. <a href="jpa_overview_em_lifeexamples.html#jpa_overview_em_lifecycle_persist">
+                Persisting Objects
+            </a></dt><dt>8.2. <a href="jpa_overview_em_lifeexamples.html#jpa_overview_em_lifecycle_update">
+                Updating Objects
+            </a></dt><dt>8.3. <a href="jpa_overview_em_lifeexamples.html#jpa_overview_em_lifecycle_delete">
+                Removing Objects
+            </a></dt><dt>8.4. <a href="jpa_overview_em_lifeexamples.html#jpa_overview_em_detachex">
+                Detaching and Merging
+            </a></dt><dt>9.1. <a href="jpa_overview_trans_local.html#jpa_overview_trans_group">
+                Grouping Operations with Transactions
+            </a></dt><dt>10.1. <a href="jpa_overview_query.html#jpa_query_hint1">
+                    Query Hints
+                </a></dt><dt>10.2. <a href="jpa_overview_query.html#jpa_query_hint2">
+                    Named Query using Hints
+                 </a></dt><dt>10.3. <a href="jpa_overview_query.html#multi-hints-example">
+                    Setting Multiple Similar Query Hints
+                </a></dt><dt>10.4. <a href="jpa_overview_query.html#jpa_overview_query_deleteex">
+                    Delete by Query
+                </a></dt><dt>10.5. <a href="jpa_overview_query.html#jpa_overview_query_updateex">
+                    Update by Query
+                </a></dt><dt>12.1. <a href="jpa_overview_sqlquery.html#jpa_overview_sqlquery_createex">
+                Creating a SQL Query
+            </a></dt><dt>12.2. <a href="jpa_overview_sqlquery_obj.html#jpa_overview_sqlquery_objex">
+                Retrieving Persistent Objects
+            </a></dt><dt>12.3. <a href="jpa_overview_sqlquery_obj.html#jpa_overview_sqlquery_obj_paramex">
+                SQL Query Parameters
+            </a></dt><dt>13.1. <a href="jpa_overview_mapping.html#jpa_overview_mapping_classex">
+                Mapping Classes
+            </a></dt><dt>13.2. <a href="jpa_overview_mapping_unq.html#jpa_overview_mapping_unq_attrex">
+                Defining a Unique Constraint
+            </a></dt><dt>13.3. <a href="jpa_overview_mapping_id.html#jpa_overview_mapping_identityex">
+                Identity Mapping
+            </a></dt><dt>13.4. <a href="jpa_overview_mapping_sequence.html#jpa_overview_mapping_sequenceex">
+                    Generator Mapping
+                </a></dt><dt>13.5. <a href="jpa_overview_mapping_inher.html#jpa_overview_mapping_inher_singleex">
+                    Single Table Mapping
+                </a></dt><dt>13.6. <a href="jpa_overview_mapping_inher.html#jpa_overview_mapping_inher_joinedex">
+                    Joined Subclass Tables
+                </a></dt><dt>13.7. <a href="jpa_overview_mapping_inher.html#jpa_overview_mapping_inher_tpcex">
+                    Table Per Class Mapping
+                </a></dt><dt>13.8. <a href="jpa_overview_mapping_inher.html#jpa_overview_mapping_inher_togetherex">
+                    Inheritance Mapping
+                </a></dt><dt>13.9. <a href="jpa_overview_mapping_discrim.html#jpa_overview_mapping_discrimex">
+                Discriminator Mapping
+            </a></dt><dt>13.10. <a href="jpa_overview_mapping_field.html#jpa_overview_mapping_basicex">
+                        Basic Field Mapping
+                    </a></dt><dt>13.11. <a href="jpa_overview_mapping_field.html#jpa_overview_mapping_secondaryex">
+                    Secondary Table Field Mapping
+                </a></dt><dt>13.12. <a href="jpa_overview_mapping_field.html#jpa_overview_mapping_embedex">
+                    Embedded Field Mapping
+                </a></dt><dt>13.13. <a href="jpa_overview_mapping_field.html#jpa_overview_mapping_joined_overex">
+                    Mapping Mapped Superclass Field
+                </a></dt><dt>13.14. <a href="jpa_overview_mapping_field.html#jpa_overview_mapping_relex">
+                    Direct Relation Field Mapping
+                </a></dt><dt>13.15. <a href="jpa_overview_mapping_field.html#jpa_overview_mapping_assoccollex">
+                    Join Table Mapping
+                </a></dt><dt>13.16. <a href="jpa_overview_mapping_field.html#jpa_overview_mapping_mapex">
+                    Join Table Map Mapping
+                </a></dt><dt>13.17. <a href="jpa_overview_mapping_full.html#jpa_overview_mapping_fullex">
+                Full Entity Mappings
+            </a></dt><dt>2.1. <a href="ref_guide_conf_devtools.html#ref_guide_conf_devtools_format_ex">
+                    Code Formatting with the Application Id Tool
+                </a></dt><dt>3.1. <a href="ref_guide_logging_openjpa.html#ref_guide_logging_openjpa_std_ex">
+                Standard OpenJPA Log Configuration
+            </a></dt><dt>3.2. <a href="ref_guide_logging_openjpa.html#ref_guide_logging_openjpa_sql_ex">
+                Standard OpenJPA Log Configuration + All SQL Statements
+            </a></dt><dt>3.3. <a href="ref_guide_logging_openjpa.html#ref_guide_logging_openjpa_file">
+                Logging to a File
+            </a></dt><dt>3.4. <a href="ref_guide_logging_log4j.html#ref_guide_logging_log4j_ex">
+                Standard Log4J Logging
+            </a></dt><dt>3.5. <a href="ref_guide_logging_commons.html#ref_guide_logging_jdk14_propfile">
+                    JDK Log Properties
+                </a></dt><dt>3.6. <a href="ref_guide_logging_custom.html#ref_guide_logging_custom_ex">
+                Custom Logging Class
+            </a></dt><dt>4.1. <a href="ref_guide_dbsetup.html#ref_guide_dbsetup_builtin_ex">
+                Properties for the OpenJPA DataSource
+              </a></dt><dt>4.2. <a href="ref_guide_dbsetup_thirdparty.html#ref_guide_dbsetup_thirdparty_ex">
+                Properties File for a Third-Party DataSource
+            </a></dt><dt>4.3. <a href="ref_guide_dbsetup_thirdparty.html#ref_guide_enterprise_xa_conf_ex">
+                    Managed DataSource Configuration
+                </a></dt><dt>4.4. <a href="ref_guide_dbsetup_thirdparty.html#d5e9933">
+                    Setting DataSource at Runtime
+                </a></dt><dt>4.5. <a href="ref_guide_dbsetup_sqlconn.html#ref_guide_dbsetup_conn_jpa">
+                Using the EntityManager's Connection
+            </a></dt><dt>4.6. <a href="ref_guide_dbsetup_sqlconn.html#ref_guide_dbsetup_conn_from_factory_jpa">
+                Using the EntityManagerFactory's DataSource
+            </a></dt><dt>4.7. <a href="ref_guide_dbsetup_dbsupport.html#ref_guide_dbsetup_dbdict">
+                Specifying a DBDictionary
+            </a></dt><dt>4.8. <a href="ref_guide_dbsetup_isolation.html#ref_guide_dbsetup_isoex">
+                Specifying a Transaction Isolation
+            </a></dt><dt>4.9. <a href="ref_guide_dbsetup_sql92.html#ref_guide_dbsetup_sql92_conf">
+                Specifying the Join Syntax Default
+            </a></dt><dt>4.10. <a href="ref_guide_dbsetup_sql92.html#ref_guide_dbsetup_sql92_fetch">
+                Specifying the Join Syntax at Runtime
+            </a></dt><dt>4.11. <a href="ref_guide_dbsetup_retain.html#ref_guide_dbsetup_sql92_retain_conf">
+                Specifying Connection Usage Defaults
+            </a></dt><dt>4.12. <a href="ref_guide_dbsetup_retain.html#ref_guide_dbsetup_sql92_retain_runtime">
+                Specifying Connection Usage at Runtime
+            </a></dt><dt>4.13. <a href="ref_guide_dbsetup_stmtbatch.html#ref_guide_dbsetup_stmtbatch_exmple1">
+                Enable SQL statement batching
+            </a></dt><dt>4.14. <a href="ref_guide_dbsetup_stmtbatch.html#ref_guide_dbsetup_stmtbatch_exmple2">
+                Disable SQL statement batching
+            </a></dt><dt>4.15. <a href="ref_guide_dbsetup_stmtbatch.html#ref_guide_dbsetup_stmtbatch_exmple3">
+                Plug-in custom statement batching implementation
+            </a></dt><dt>4.16. <a href="ref_guide_dbsetup_lrs.html#ref_guide_dbsetup_lrs_def">
+                Specifying Result Set Defaults
+            </a></dt><dt>4.17. <a href="ref_guide_dbsetup_lrs.html#ref_guide_dbsetup_lrs_runtime">
+                Specifying Result Set Behavior at Runtime
+            </a></dt><dt>4.18. <a href="ref_guide_schema_schematool.html#ref_guide_schema_schematool_create">
+                Schema Creation
+            </a></dt><dt>4.19. <a href="ref_guide_schema_schematool.html#ref_guide_schema_schematool_script">
+                SQL Scripting
+            </a></dt><dt>4.20. <a href="ref_guide_schema_schematool.html#ref_guide_schema_schematool_table_cleanup">
+                Table Cleanup
+            </a></dt><dt>4.21. <a href="ref_guide_schema_schematool.html#ref_guide_schema_schematool_drop">
+                Schema Drop
+            </a></dt><dt>4.22. <a href="ref_guide_schema_schematool.html#ref_guide_schema_schematool_reflect">
+                Schema Reflection
+            </a></dt><dt>4.23. <a href="ref_guide_schema_xml.html#ref_guide_schema_xml_basic">
+                Basic Schema
+            </a></dt><dt>4.24. <a href="ref_guide_schema_xml.html#ref_guide_schema_xml_full">
+                Full Schema
+            </a></dt><dt>5.1. <a href="ref_guide_pc_enhance.html#ref_guide_pc_enhance_enhancer">
+                    Using the OpenJPA Enhancer
+                </a></dt><dt>5.2. <a href="ref_guide_pc_enhance.html#ref_guide_pc_enhance_runtime_ex">
+                    Using the OpenJPA Agent for Runtime Enhancement
+                </a></dt><dt>5.3. <a href="ref_guide_pc_enhance.html#ref_guide_pc_enhance_runtime_opt_ex">
+                    Passing Options to the OpenJPA Agent
+                </a></dt><dt>5.4. <a href="ref_guide_pc_oid.html#ref_guide_pc_oid_datastoreentityex">
+                    JPA Datastore Identity Metadata
+                </a></dt><dt>5.5. <a href="ref_guide_pc_oid.html#ref_guide_pc_oid_entitypk_simplefind">
+                    Finding an Entity with an Entity Identity Field
+                </a></dt><dt>5.6. <a href="ref_guide_pc_oid.html#ref_guide_pc_oid_entitypk_idcls">
+                    Id Class for Entity Identity Fields
+                </a></dt><dt>5.7. <a href="ref_guide_pc_oid.html#ref_guide_pc_oid_entitypk_embeded_id">
+                    Embedded Id for Entity Identity Fields
+                </a></dt><dt>5.8. <a href="ref_guide_pc_oid.html#ref_guide_pc_appid_appidtool">
+                    Using the Application Identity Tool
+                </a></dt><dt>5.9. <a href="ref_guide_inverses.html#ref_guide_inverses_logicalex">
+                Specifying Logical Inverses
+            </a></dt><dt>5.10. <a href="ref_guide_inverses.html#ref_guide_inversesex">
+                Enabling Managed Inverses
+            </a></dt><dt>5.11. <a href="ref_guide_inverses.html#ref_guide_inverses_logex">
+                Log Inconsistencies
+            </a></dt><dt>5.12. <a href="ref_guide_pc_scos.html#ref_guide_pc_scos_order_initialvals">
+                    Using Initial Field Values
+                </a></dt><dt>5.13. <a href="ref_guide_pc_scos.html#ref_guide_pc_scos_proxy_lrs_itr">
+                        Using a Large Result Set Iterator
+                    </a></dt><dt>5.14. <a href="ref_guide_pc_scos.html#ref_guide_pc_scos_proxy_lrs_extension">
+                        Marking a Large Result Set Field
+                    </a></dt><dt>5.15. <a href="ref_guide_pc_scos.html#ref_guide_pc_scos_proxy_custom_ex">
+                        Configuring the Proxy Manager
+                    </a></dt><dt>5.16. <a href="ref_guide_pc_scos.html#ref_guide_pc_externex">
+                    Using Externalization
+                </a></dt><dt>5.17. <a href="ref_guide_pc_scos.html#ref_guide_pc_extern_queryex">
+                    Querying Externalization Fields
+                </a></dt><dt>5.18. <a href="ref_guide_pc_scos.html#externvalues_ex">
+                        Using External Values
+                    </a></dt><dt>5.19. <a href="ref_guide_fetch.html#ref_guide_fetch_customgroups">
+                    Custom Fetch Group Metadata
+                </a></dt><dt>5.20. <a href="ref_guide_fetch.html#ref_guide_fetch_loadgroup">
+                    Load Fetch Group Metadata
+                </a></dt><dt>5.21. <a href="ref_guide_fetch.html#ref_guide_fetch_conf_query">
+                    Using the FetchPlan
+                </a></dt><dt>5.22. <a href="ref_guide_fetch.html#ref_guide_fetch-conf_per_field">
+                    Adding an Eager Field
+                </a></dt><dt>5.23. <a href="ref_guide_perfpack_eager.html#ref_guide_perfpack_eager_def">
+                    Setting the Default Eager Fetch Mode
+                </a></dt><dt>5.24. <a href="ref_guide_perfpack_eager.html#ref_guide_perfpack_eager_runtime">
+                    Setting the Eager Fetch Mode at Runtime
+                </a></dt><dt>6.1. <a href="ref_guide_meta.html#ref_guide_meta_stdfactoryex">
+                Setting a Standard Metadata Factory
+            </a></dt><dt>6.2. <a href="ref_guide_meta.html#ref_guide_meta_customfactoryex">
+                Setting a Custom Metadata Factory
+            </a></dt><dt>6.3. <a href="ref_guide_meta_repository.html#ref_guide_meta_repo">
+                Setting the Preload Property on Metadata Repository
+            </a></dt><dt>6.4. <a href="ref_guide_meta_ext.html#ref_guide_metaex">
+                    OpenJPA Metadata Extensions
+                </a></dt><dt>6.5. <a href="ref_guide_meta_ext.html#ref_guide_schema_ex">
+        			OpenJPA Schema Extensions
+        		</a></dt><dt>7.1. <a href="ref_guide_mapping.html#ref_guide_mapping_mappingtool_typical">
+                Using the Mapping Tool
+            </a></dt><dt>7.2. <a href="ref_guide_mapping.html#ref_guide_mapping_mappingtool_buildschema">
+                    Creating the Relational Schema from Mappings
+                </a></dt><dt>7.3. <a href="ref_guide_mapping.html#ref_guide_mapping_mappingtool_cleanup_tables">
+                    Refreshing entire schema and cleaning out tables
+                </a></dt><dt>7.4. <a href="ref_guide_mapping.html#ref_guide_mapping_mappingtool_dropschema">
+                    Dropping Mappings and Association Schema
+                </a></dt><dt>7.5. <a href="ref_guide_mapping.html#ref_guid_mapping_ddl_full_ddl">
+                    Create DDL for Current Mappings
+                </a></dt><dt>7.6. <a href="ref_guide_mapping.html#ref_guid_mapping_ddl_part_ddl">
+                    Create DDL to Update Database for Current Mappings
+                </a></dt><dt>7.7. <a href="ref_guide_mapping.html#ref_guide_mapping_synchex">
+                    Configuring Runtime Forward Mapping
+                </a></dt><dt>7.8. <a href="ref_guide_pc_reverse.html#ref_guide_pc_reverse_schemagen">
+                        Reflection with the Schema Tool
+                    </a></dt><dt>7.9. <a href="ref_guide_pc_reverse.html#ref_guide_pc_reverse_reversemappingtool">
+                        Using the Reverse Mapping Tool
+                    </a></dt><dt>7.10. <a href="ref_guide_pc_reverse.html#ref_guide_pc_reverse_custom_ex">
+                    Customizing Reverse Mapping with Properties
+                </a></dt><dt>7.11. <a href="ref_guide_mapping_middle.html#ref_guide_mapping_mappingtool_validate">
+                Validating Mappings
+            </a></dt><dt>7.12. <a href="ref_guide_mapping_defaults.html#ref_guide_mapping_defaults_conf">
+                Configuring Mapping Defaults
+            </a></dt><dt>7.13. <a href="ref_guide_mapping_factory.html#ref_guide_mapping_factory_jpa">
+                Standard JPA Configuration
+            </a></dt><dt>7.14. <a href="ref_guide_mapping_jpa.html#ref_guide_mapping_jpa_datastoreidex">
+                    Datastore Identity Mapping
+                </a></dt><dt>7.15. <a href="ref_guide_mapping_jpa.html#ref_guide_mapping_jpa_embedex">
+                    Overriding Complex Mappings
+                </a></dt><dt>7.16. <a href="ref_guide_mapping_jpa.html#ref_guide_mapping_jpa_onemanyex">
+                    One-Sided One-Many Mapping
+                </a></dt><dt>7.17. <a href="ref_guide_mapping_jpa.html#ref_guide_mapping_jpa_map_stringrelmap">String Key, Entity Value Map Mapping</a></dt><dt>7.18. <a href="ref_guide_mapping_jpa.html#ref_guide_xmlmapping_myaddress">
+                       myaddress.xsd
+                   </a></dt><dt>7.19. <a href="ref_guide_mapping_jpa.html#ref_guide_xmlmapping_address">
+                       Address.java
+                  </a></dt><dt>7.20. <a href="ref_guide_mapping_jpa.html#ref_guide_xmlmapping_usaaddress">
+                    USAAddress.java
+                </a></dt><dt>7.21. <a href="ref_guide_mapping_jpa.html#ref_guide_xmlmapping_canaddress">
+                    CANAddress.java
+                </a></dt><dt>7.22. <a href="ref_guide_mapping_jpa.html#ref_guide_xmlmapping_annorder">
+                    Showing annotated Order entity with XML mapping strategy
+                </a></dt><dt>7.23. <a href="ref_guide_mapping_jpa.html#ref_guide_xmlmapping_createorder">
+                 Showing creation of Order entity having shipAddress mapped to XML column
+             </a></dt><dt>7.24. <a href="ref_guide_mapping_jpa.html#ref_guide_xmlmapping_jpqlquery">
+                    Sample JPQL queries for XML column mapping
+                </a></dt><dt>7.25. <a href="ref_guide_mapping_jpa.html#ref_guide_streamsupport_example">
+                    Annotated InputStream and Reader
+                </a></dt><dt>7.26. <a href="ref_guide_orphan.html#ref_guide_orphan_logex">
+                Custom Logging Orphaned Keys
+            </a></dt><dt>8.1. <a href="ref_guide_enterprise_trans.html#ref_guide_enterprise_transex">Configuring Transaction Manager Integration</a></dt><dt>9.1. <a href="ref_guide_runtime.html#ref_guide_runtime_pm_evictex">
+                    Evict from Data Cache
+                </a></dt><dt>9.2. <a href="ref_guide_runtime_jpa.html#ref_guide_runtime_jpaextentex">
+                    Using a JPA Extent
+                </a></dt><dt>9.3. <a href="ref_guide_locking.html#ref_guide_locking_default_conf">
+                    Setting Default Lock Levels
+                </a></dt><dt>9.4. <a href="ref_guide_locking.html#ref_guide_locking_fetch">
+                    Setting Runtime Lock Levels
+                </a></dt><dt>9.5. <a href="ref_guide_locking.html#ref_guide_locking_explicit">
+                    Locking APIs
+                </a></dt><dt>9.6. <a href="ref_guide_locking.html#ref_guide_locking_disable">
+                    Disabling Locking
+                </a></dt><dt>9.7. <a href="ref_guide_savepoints.html#ref_guide_savepoints_example">
+                    Using Savepoints
+                </a></dt><dt>9.8. <a href="ref_guide_sequence.html#ref_guide_sequence_named">
+                Named Seq Sequence
+            </a></dt><dt>9.9. <a href="ref_guide_sequence.html#ref_guide_sequence_systemex">
+                System Sequence Configuration
+            </a></dt><dt>10.1. <a href="ref_guide_caching.html#ref_guide_cache_conf_sjvm">
+                    Single-JVM Data Cache
+                </a></dt><dt>10.2. <a href="ref_guide_caching.html#ref_guide_cache_conf_lru">
+                    Lru Cache
+                </a></dt><dt>10.3. <a href="ref_guide_caching.html#ref_guide_cache_conf_size">
+                    Data Cache Size
+                </a></dt><dt>10.4. <a href="ref_guide_caching.html#ex_timeout_cache">
+                    Data Cache Timeout
+                </a></dt><dt>10.5. <a href="ref_guide_caching.html#ex_exclude_types_from_cache">
+                    Excluding entities
+                </a></dt><dt>10.6. <a href="ref_guide_caching.html#ex_include_types_in_cache">
+                    Including entities
+                </a></dt><dt>10.7. <a href="ref_guide_caching.html#bulk_update_evict_cache">
+                    Bulk updates and cache eviction
+                </a></dt><dt>10.8. <a href="ref_guide_caching.html#shared-cache-mode-none"></a></dt><dt>10.9. <a href="ref_guide_caching.html#shared-cache-mode-all"></a></dt><dt>10.10. <a href="ref_guide_caching.html#shared-cache-mode-enable-selective"></a></dt><dt>10.11. <a href="ref_guide_caching.html#ref_guide_cache_conf_partition">
+                    Partitioned Data Cache
+                </a></dt><dt>10.12. <a href="ref_guide_caching.html#ref_guide_cache_access_jpa_standard">
+            Accessing the Cache
+        </a></dt><dt>10.13. <a href="ref_guide_caching.html#ref_guide_cache_use_jpa_standard">Using the jakarta.persistence.Cache interface</a></dt><dt>10.14. <a href="ref_guide_caching.html#ref_guide_cache_access_jpa">
+                    Accessing the StoreCache
+                </a></dt><dt>10.15. <a href="ref_guide_caching.html#ref_guide_cache_use_jpa">
+                    StoreCache Usage
+                </a></dt><dt>10.16. <a href="ref_guide_caching.html#ref_guide_cache_pmevict">
+                    Automatic Data Cache Eviction
+                </a></dt><dt>10.17. <a href="ref_guide_caching.html#ref_guide_cache_enablestats">
+                    Configuring CacheStatistics
+                </a></dt><dt>10.18. <a href="ref_guide_caching.html#ref_guide_cache_queryaccess">
+                    Accessing the QueryResultCache
+                </a></dt><dt>10.19. <a href="ref_guide_caching.html#ref_guide_cache_cachesize">
+                    Query Cache Size
+                </a></dt><dt>10.20. <a href="ref_guide_caching.html#ref_guide_cache_disablequery">
+                    Disabling the Query Cache
+                </a></dt><dt>10.21. <a href="ref_guide_caching.html#ref_guide_cache_evictionPolicy">
+                    Query Cache Eviction Policy
+                </a></dt><dt>10.22. <a href="ref_guide_caching.html#ref_guide_cache_query_classchange">
+                    Evicting Queries
+                </a></dt><dt>10.23. <a href="ref_guide_caching.html#ref_guide_cache_query_pin">
+                    Pinning, and Unpinning Query Results
+                </a></dt><dt>10.24. <a href="ref_guide_caching.html#ref_guide_cache_query_disable">
+                    Disabling and Enabling Query Caching
+                </a></dt><dt>10.25. <a href="ref_guide_caching.html#ref_guide_cache_limits_extent">
+                            Query Replaces Extent
+                        </a></dt><dt>10.26. <a href="ref_guide_cache_querysql.html#jpa_caching_hardcode_jpql">Hardcoded Selection Value in JPQL Query</a></dt><dt>10.27. <a href="ref_guide_cache_querysql.html#jpa_caching_parametrize_jpql">Parameterized Selection Value in JPQL Query</a></dt><dt>12.1. <a href="ref_guide_remote.html#ref_guide_detach_graph_confex">
+                        Configuring Detached State
+                    </a></dt><dt>12.2. <a href="ref_guide_event.html#ref_guide_event_conf_jmsex">
+                        JMS Remote Commit Provider Configuration
+                    </a></dt><dt>12.3. <a href="ref_guide_event.html#ref_guide_event_conf_tcpex">
+                        TCP Remote Commit Provider Configuration
+                    </a></dt><dt>12.4. <a href="ref_guide_event.html#ref_guide_event_conf_jms2ex">
+                        JMS Remote Commit Provider transmitting Persisted Object Ids
+                    </a></dt><dt>14.1. <a href="ref_guide_integration.html#ref_guide_integration_conf_config">
+                    Using the &lt;config&gt; Ant Tag
+                </a></dt><dt>14.2. <a href="ref_guide_integration.html#ref_guide_integration_props">
+                    Using the Properties Attribute of the &lt;config&gt; Tag
+                </a></dt><dt>14.3. <a href="ref_guide_integration.html#ref_guide_integration_propsfile">
+                    Using the PropertiesFile Attribute of the &lt;config&gt; Tag
+                </a></dt><dt>14.4. <a href="ref_guide_integration.html#ref_guide_integration_conf_classpath">
+                    Using the &lt;classpath&gt; Ant Tag
+                </a></dt><dt>14.5. <a href="ref_guide_integration.html#ref_guide_integration_conf_codeformat">
+                    Using the &lt;codeformat&gt; Ant Tag
+                </a></dt><dt>14.6. <a href="ref_guide_integration.html#ref_guide_integration_enhance_task">
+                    Invoking the Enhancer from Ant
+                </a></dt><dt>14.7. <a href="ref_guide_integration.html#ref_guide_integration_appidtool_task">
+                    Invoking the Application Identity Tool from Ant
+                </a></dt><dt>14.8. <a href="ref_guide_integration.html#ref_guide_integration_mappingtool_task">
+                    Invoking the Mapping Tool from Ant
+                </a></dt><dt>14.9. <a href="ref_guide_integration.html#ref_guide_integration_revmappingtool_task">
+                    Invoking the Reverse Mapping Tool from Ant
+                </a></dt><dt>14.10. <a href="ref_guide_integration.html#ref_guide_integration_schematool_task">
+                    Invoking the Schema Tool from Ant
+                </a></dt><dt>14.11. <a href="ref_guide_integration_dbcp.html#ref_guide_integration_dbcp_derby">
+                    Using Commons DBCP with Apache Derby
+                </a></dt><dt>2.1. <a href="dbsupport_derby.html#example_props_derby">
+                Example properties for Derby
+            </a></dt><dt>2.2. <a href="dbsupport_interbase.html#example_props_interbase">
+                Example properties for Interbase
+            </a></dt><dt>2.3. <a href="dbsupport_jdatastore.html#example_props_jdatastore">
+                Example properties for JDataStore
+            </a></dt><dt>2.4. <a href="dbsupport_db2.html#example_props_db2">
+                Example properties for IBM DB2
+            </a></dt><dt>2.5. <a href="dbsupport_empress.html#example_props_empress">
+                Example properties for Empress
+            </a></dt><dt>2.6. <a href="dbsupport_h2.html#example_props_h2">
+                Example properties for H2 Database Engine
+            </a></dt><dt>2.7. <a href="dbsupport_hypersonic.html#example_props_hypersonic">
+                Example properties for Hypersonic
+            </a></dt><dt>2.8. <a href="dbsupport_firebird.html#example_props_firebird">
+                Example properties for Firebird
+            </a></dt><dt>2.9. <a href="dbsupport_informix.html#example_props_informix">
+                Example properties for Informix Dynamic Server
+            </a></dt><dt>2.10. <a href="dbsupport_ingres.html#example_props_ingres">
+                Example properties for Ingres
+            </a></dt><dt>2.11. <a href="dbsupport_intersystems_cache.html#example_props_intersystems_cache">
+                Example properties for InterSystems Cache
+            </a></dt><dt>2.12. <a href="dbsupport_access.html#example_props_access">
+                Example properties for Microsoft Access
+            </a></dt><dt>2.13. <a href="dbsupport_sqlserver.html#example_props_sqlserver">
+                Example properties for Microsoft SQL Server
+            </a></dt><dt>2.14. <a href="dbsupport_foxpro.html#example_props_foxpro">
+                Example properties for Microsoft FoxPro
+            </a></dt><dt>2.15. <a href="dbsupport_mysql.html#example_props_mysql">
+                Example properties for MySQL
+            </a></dt><dt>2.16. <a href="dbsupport_mysql.html#dbsupport_mysql_query_hints_ex">
+                    Using MySQL Hints
+                </a></dt><dt>2.17. <a href="dbsupport_mariadb.html#example_props_mariadb">
+                Example properties for MariaDB
+            </a></dt><dt>2.18. <a href="dbsupport_oracle.html#example_props_oracle">
+                Example properties for Oracle
+            </a></dt><dt>2.19. <a href="dbsupport_oracle.html#dbsupport_oracle_query_hints_ex">
+                    Using Oracle Hints
+                </a></dt><dt>2.20. <a href="dbsupport_oracle.html#dbsupport_oracle_disable_batch_updates">
+                    Property to disable statement batching for Oracle
+                </a></dt><dt>2.21. <a href="dbsupport_oracle.html#dbsupport_oracle_retain_connection">
+                    Property to retain connection over the lifetime of the entity manager
+                </a></dt><dt>2.22. <a href="dbsupport_pointbase.html#example_props_pointbase">
+                Example properties for Pointbase
+            </a></dt><dt>2.23. <a href="dbsupport_postgresql.html#example_props_postgresql">
+                Example properties for PostgreSQL
+            </a></dt><dt>2.24. <a href="dbsupport_soliddb.html#example_props_soliddb">
+                Example properties for IBM solidDB
+            </a></dt><dt>2.25. <a href="dbsupport_sybase.html#example_props_sybase">
+                Example properties for Sybase
+            </a></dt></dl></div>
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+</div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left">&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="introduction.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right" valign="top">&nbsp;Part&nbsp;1.&nbsp;Introduction</td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/4.1.0/apache-openjpa/docs/introduction.html b/4.1.0/apache-openjpa/docs/introduction.html
new file mode 100644
index 000000000..1c01e5b91
--- /dev/null
+++ b/4.1.0/apache-openjpa/docs/introduction.html
@@ -0,0 +1,25 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+   <title>Part&nbsp;1.&nbsp;Introduction</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 3.2 User's Guide"><link rel="up" href="manual.html" title="Apache OpenJPA 3.2 User's Guide"><link rel="prev" href="manual.html" title="Apache OpenJPA 3.2 User's Guide"><link rel="next" href="openjpa_intro.html" title="Chapter&nbsp;1.&nbsp [...]
+        About
+    </a></span></dt><dt><span class="chapter"><a href="openjpa_legal.html">2. 
+        Legal
+    </a></span></dt><dd><dl><dt><span class="section"><a href="openjpa_legal.html#openjpa_legal_license">1. 
+            License
+        </a></span></dt><dt><span class="section"><a href="openjpa_legal_notice.html">2. 
+            Notice
+        </a></span></dt><dt><span class="section"><a href="openjpa_legal_copyright.html">3. 
+            Copyrights
+        </a></span></dt><dd><dl><dt><span class="section"><a href="openjpa_legal_copyright.html#openjpa_legal_copyright_apache">3.1. Apache</a></span></dt><dt><span class="section"><a href="openjpa_legal_copyright.html#openjpa_legal_copyright_sun">3.2. Sun</a></span></dt><dt><span class="section"><a href="openjpa_legal_copyright.html#openjpa_legal_copyright_other">3.3. Other</a></span></dt></dl></dd></dl></dd></dl></div>
+        
+        
+
+
+
+        
+
+
+
+    </div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="manual.html">Prev</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="openjpa_intro.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Apache OpenJPA 3.2 User's Guide&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="manual.html">Home</a></td><td width="4 [...]
+        About
+    </td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/4.1.0/apache-openjpa/docs/jpa_2.2.html b/4.1.0/apache-openjpa/docs/jpa_2.2.html
new file mode 100644
index 000000000..5227ff2ba
--- /dev/null
+++ b/4.1.0/apache-openjpa/docs/jpa_2.2.html
@@ -0,0 +1,207 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+   <title>2.&nbsp; OpenJPA 2.2.0</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 3.2 User's Guide"><link rel="up" href="migration_considerations.html" title="Appendix&nbsp;3.&nbsp; Migration Considerations"><link rel="prev" href="migration_considerations.html" title="Appendix&nbsp;3.&nbsp; Migration Considerations"><link rel= [...]
+            OpenJPA 2.2.0
+        </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="migration_considerations.html">Prev</a>&nbsp;</td><th width="60%" align="center">Appendix&nbsp;3.&nbsp;
+        Migration Considerations
+    </th><td width="20%" align="right">&nbsp;<a accesskey="n" href="jpa_2.3.html">Next</a></td></tr></table><hr></div><div class="section" id="jpa_2.2"><div class="titlepage"><div><div><h2 class="title" style="clear: both">2.&nbsp;
+            OpenJPA 2.2.0
+        </h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="jpa_2.2.html#jpa_2.2_incompatibilities">2.1. Incompatibilities</a></span></dt><dd><dl><dt><span class="section"><a href="jpa_2.2.html#jpa_2.2_allocationSize">2.1.1. 
+                    allocationSize Property of Sequence Generator
+                </a></span></dt><dt><span class="section"><a href="jpa_2.2.html#jpa_2.2_metamodelArrays">2.1.2. 
+                    MetaModel Attributes for Arrays
+                </a></span></dt><dt><span class="section"><a href="jpa_2.2.html#jpa_2.2_SupportsSetClob">2.1.3. 
+                    supportsSetClob Property.
+                </a></span></dt><dt><span class="section"><a href="jpa_2.2.html#jpa_2.2_UseNativeSequenceCache">2.1.4. 
+                    useNativeSequenceCache Property.
+                </a></span></dt><dt><span class="section"><a href="jpa_2.2.html#jpa_2.2_cascadePersist">2.1.5. 
+                    Cascade persist behavior
+                </a></span></dt><dt><span class="section"><a href="jpa_2.2.html#jpa_2.2_LifecycleEventManager">2.1.6. 
+                    Life Cycle Event Manager Callback Behavior
+                </a></span></dt><dt><span class="section"><a href="jpa_2.2.html#jpa_2.2_sharedCacheMode">2.1.7. 
+                    shared-cache-mode Property
+                </a></span></dt></dl></dd></dl></div>
+        
+        <div class="section" id="jpa_2.2_incompatibilities"><div class="titlepage"><div><div><h3 class="title">2.1.&nbsp;Incompatibilities</h3></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="jpa_2.2.html#jpa_2.2_allocationSize">2.1.1. 
+                    allocationSize Property of Sequence Generator
+                </a></span></dt><dt><span class="section"><a href="jpa_2.2.html#jpa_2.2_metamodelArrays">2.1.2. 
+                    MetaModel Attributes for Arrays
+                </a></span></dt><dt><span class="section"><a href="jpa_2.2.html#jpa_2.2_SupportsSetClob">2.1.3. 
+                    supportsSetClob Property.
+                </a></span></dt><dt><span class="section"><a href="jpa_2.2.html#jpa_2.2_UseNativeSequenceCache">2.1.4. 
+                    useNativeSequenceCache Property.
+                </a></span></dt><dt><span class="section"><a href="jpa_2.2.html#jpa_2.2_cascadePersist">2.1.5. 
+                    Cascade persist behavior
+                </a></span></dt><dt><span class="section"><a href="jpa_2.2.html#jpa_2.2_LifecycleEventManager">2.1.6. 
+                    Life Cycle Event Manager Callback Behavior
+                </a></span></dt><dt><span class="section"><a href="jpa_2.2.html#jpa_2.2_sharedCacheMode">2.1.7. 
+                    shared-cache-mode Property
+                </a></span></dt></dl></div>
+            
+       	    <p>
+                The following sections indicate changes that are incompatible
+                between OpenJPA 2.1.x releases and the 2.2.0 release.
+            </p>
+            <div class="section" id="jpa_2.2_allocationSize"><div class="titlepage"><div><div><h4 class="title">2.1.1.&nbsp;
+                    allocationSize Property of Sequence Generator
+                </h4></div></div></div>
+                
+                
+                <p>
+                    In previous releases, specifying the <code class="literal">allocationSize</code> property of
+                    <a class="link" href="jpa_overview_mapping_sequence.html#jpa_overview_mapping_sequence_seqgen" title="5.1.&nbsp; Sequence Generator">sequence generator</a>
+                    affected only sequence definition in the database. During
+                    schema creation, the <code class="literal">INCREMENT BY</code> clause of
+                    <code class="literal">CREATE SEQUENCE</code> statement always
+                    had a value of 1 and on DB2, Oracle and PostgreSQL databases a <code class="literal">CACHE</code> clause
+                    was added with the value of <code class="literal">allocationSize</code> property. Such a statement caused
+                    sequence values being cached in the database. Starting with OpenJPA 2.2.0,
+                    sequence values are cached in the jvm memory and the <code class="literal">allocationSize</code>
+                    property determines size of that cache. The <code class="literal">CACHE</code> clause is no longer used,
+                    instead the <code class="literal">INCREMENT BY</code> clause gets its value equal to the
+                    <code class="literal">allocationSize</code> property. Such a strategy reduces the number of database roundtrips
+                    required for retrieving sequence values considerably.
+                </p>
+                <p>
+                    In order for the existing applications to work with OpenJPA
+                    2.2.0, you have to manually recreate or redefine sequences, specifying
+                    the correct <code class="literal">INCREMENT BY</code> value and, possibly, correct initial sequence value.
+                    Note that the default value of the <code class="literal">allocationSize</code> property is 50 and that
+                    value is used if the property is not specified.
+                </p>
+                <p>
+                    The requirement for sequence modification applies to all databases that support sequences, regardless of
+                    the <code class="literal">CACHE</code> clause being supported. The only exception is Firebird database -
+                    since with this database the increment step is determined during sequence
+                    value fetch, no migration activity is needed.
+                </p>
+                <p>
+                    To maintain the old behavior of sequence generator in OpenJPA 2.2.0, you can:
+                    </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                            <p>
+                                Set the <code class="literal">allocationSize</code> property value to 1.
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+                                Additionally, if the <code class="literal">CACHE</code> clause has to be emitted in sequence definition,
+                                this can be accomplished by overriding the
+                                <a class="ulink" href="../../apidocs/org/apache/openjpa/jdbc/sql/DBDictionary.html#getCreateSequenceSQL(org.apache.openjpa.jdbc.schema.Sequence)" target="_top">
+                                <code class="methodname">DBDictionary.getCreateSequenceSQL</code></a> method.
+                            </p>
+                        </li></ul></div><p>
+                </p>
+            </div>
+            <div class="section" id="jpa_2.2_metamodelArrays"><div class="titlepage"><div><div><h4 class="title">2.1.2.&nbsp;
+                    MetaModel Attributes for Arrays
+                </h4></div></div></div>
+                
+                
+                <p>
+                    In previous releases OpenJPA's MetaModel implementation generated a ListAttribute for every array. This behavior is correct if the array
+                    is annotated as a PersistentCollection, but not correct for un-annotated arrays (e.g. byte[], char[]). In OpenJPA 2.2.0 this behavior was corrected
+                    so that arrays which are not stored as PersistentCollections will use a SingularAttribute instead of a ListAttribute.
+                </p>
+                <p>
+                    If your application uses the MetaModel API and your entities contain arrays of any of the following types: byte[], Byte[], char[], Character[] and
+                    do not use the @PersistentCollection annotation with those fields you will need to update your application to use OpenJPA 2.2.0.
+                </p>
+                <p> In order for the existing applications to work with OpenJPA you may:
+                    </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                            <p> Regenerate the canonical metamodel classes</p>
+                        </li><li class="listitem">
+                            <p> Set the Compatibility property <code class="literal">UseListAttributeForArrays</code> to <code class="literal">true</code> in persistence.xml
+                                </p><pre class="programlisting"> &lt;property name="openjpa.Compatibility" value="UseListAttributeForArrays=true"/&gt;</pre><p>
+                            </p>
+                        </li></ul></div><p>
+                </p>
+            </div>
+            <div class="section" id="jpa_2.2_SupportsSetClob"><div class="titlepage"><div><div><h4 class="title">2.1.3.&nbsp;
+                    supportsSetClob Property.
+                </h4></div></div></div>
+                
+                
+                <p>
+                    In OpenJPA 2.2.0, code was added to allow the setting of CLOB or XML data larger than 4000 bytes.  This functionality
+                    was eventually back ported to previous releases, and enabled by the <code class="literal">supportsSetClob</code> property on the OracleDictionary.  Setting this property
+                    has no effect in 2.2.0 and later releases and any occurrence of it should be removed.
+                </p>
+            </div>
+            <div class="section" id="jpa_2.2_UseNativeSequenceCache"><div class="titlepage"><div><div><h4 class="title">2.1.4.&nbsp;
+                    useNativeSequenceCache Property.
+                </h4></div></div></div>
+                
+                
+                <p>
+                    In OpenJPA 2.2.0, code was added which changed the way sequences were generated, please see
+                    <a class="xref" href="jpa_2.2.html#jpa_2.2_allocationSize" title="2.1.1.&nbsp; allocationSize Property of Sequence Generator">Section&nbsp;2.1.1, &#8220;
+                    allocationSize Property of Sequence Generator
+                &#8221;</a> for details.  This functionality was eventually back ported
+                    to previous releases, and enabled by the <code class="literal">useNativeSequenceCache</code> property on the DBDictionary.  Setting this property
+                    has no effect in 2.2.0 and later releases and any occurrence of it should be removed.  If previous behavior is
+                    desired (i.e. <code class="literal">useNativeSequenceCache=true</code>), please see the details described in section
+                    <a class="xref" href="jpa_2.2.html#jpa_2.2_allocationSize" title="2.1.1.&nbsp; allocationSize Property of Sequence Generator">Section&nbsp;2.1.1, &#8220;
+                    allocationSize Property of Sequence Generator
+                &#8221;</a>.
+                </p>
+            </div>
+            <div class="section" id="jpa_2.2_cascadePersist"><div class="titlepage"><div><div><h4 class="title">2.1.5.&nbsp;
+                    Cascade persist behavior
+                </h4></div></div></div>
+                
+                
+                <p>
+                    In previous releases, OpenJPA would check the database for the
+                    existence of the related Entity before persisting the relationship to
+                    that Entity. This resulted in an extra Select being sent to the
+                    database. In 2.2.0, code was added so that when cascading a persist to
+                    a related Entity without persistence state, the persist (insert) will
+                    happen without first checking the database. This may result in an
+                    EntityExistsException if the related Entity already exists in the
+                    database. To revert this behavior to the previous release, set the
+                    value of the <code class="literal">openjpa.Compatibility</code>
+                    property <code class="literal">CheckDatabaseForCascadePersistToDetachedEntity</code>
+                    to <code class="literal">true</code>.
+                </p>
+            </div>
+            <div class="section" id="jpa_2.2_LifecycleEventManager"><div class="titlepage"><div><div><h4 class="title">2.1.6.&nbsp;
+                    Life Cycle Event Manager Callback Behavior
+                </h4></div></div></div>
+                
+                
+                <p>
+                    Life cycle event manager is used to manage entity's life cycle event callback.
+                    In previous releases, Life cycle event manager is scoped to EntityManagerFactory.
+                    This means listeners registered to an individual EntityManager may get life cycle
+                    event callbacks for entity that it does not manage.
+                </p>
+                <p>
+                    From 2.2.1 release, the default callback behavior of the life cycle event manager
+                    is changed to scope to each EntityManager.
+                    To revert this behavior to the previous release, set the
+                    value of the <code class="literal">openjpa.Compatibility</code>
+                    property <code class="literal">SingletonLifecycleEventManager</code>
+                    to <code class="literal">true</code>.
+                </p>
+            </div>
+            <div class="section" id="jpa_2.2_sharedCacheMode"><div class="titlepage"><div><div><h4 class="title">2.1.7.&nbsp;
+                    shared-cache-mode Property
+                </h4></div></div></div>
+                
+                
+                <p>
+                     In the previous release, when the shared-cache-mode is enabled and the DataCache property is not set
+                     or set to false, there will be no data caching.
+                </p>
+                <p>
+                     From 2.2.2 release, the caching will be turned on if the shared-cache-mode is enabled. Please see the
+                     details described in section <a class="xref" href="ref_guide_caching.html#ref_guide_shared_cache_mode_integration" title="1.1.2.&nbsp; Integration with JPA standard shared cache mode">Section&nbsp;1.1.2, &#8220;
+                Integration with JPA standard shared cache mode
+            &#8221;</a>.
+                </p>
+            </div>
+        </div>
+    </div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="migration_considerations.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="migration_considerations.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="jpa_2.3.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Appendix&nbsp;3.&nbsp;
+        Migration Considerations
+    &nbsp;</td><td width="20%" align="center"><a accesskey="h" href="manual.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;3.&nbsp;
+            OpenJPA 2.3.0
+        </td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/4.1.0/apache-openjpa/docs/jpa_2.3.html b/4.1.0/apache-openjpa/docs/jpa_2.3.html
new file mode 100644
index 000000000..7fed74305
--- /dev/null
+++ b/4.1.0/apache-openjpa/docs/jpa_2.3.html
@@ -0,0 +1,85 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+   <title>3.&nbsp; OpenJPA 2.3.0</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 3.2 User's Guide"><link rel="up" href="migration_considerations.html" title="Appendix&nbsp;3.&nbsp; Migration Considerations"><link rel="prev" href="jpa_2.2.html" title="2.&nbsp; OpenJPA 2.2.0"><link rel="next" href="jpa_3.2.html" title="4.&nbsp; [...]
+            OpenJPA 2.3.0
+        </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="jpa_2.2.html">Prev</a>&nbsp;</td><th width="60%" align="center">Appendix&nbsp;3.&nbsp;
+        Migration Considerations
+    </th><td width="20%" align="right">&nbsp;<a accesskey="n" href="jpa_3.2.html">Next</a></td></tr></table><hr></div><div class="section" id="jpa_2.3"><div class="titlepage"><div><div><h2 class="title" style="clear: both">3.&nbsp;
+            OpenJPA 2.3.0
+        </h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="jpa_2.3.html#jpa_2.3_incompatibilities">3.1. Incompatibilities</a></span></dt><dd><dl><dt><span class="section"><a href="jpa_2.3.html#jpa_2.3_MappingTool">3.1.1. 
+                    MappingTool Behavior for DB2 and Derby
+                </a></span></dt><dt><span class="section"><a href="jpa_2.3.html#jpa_2.3_RequiresSearchStringEscapeForLike">3.1.2. 
+                    RequiresSearchStringEscapeForLike DBDictionary Property
+                </a></span></dt><dt><span class="section"><a href="jpa_2.3.html#ReturnNullOnEmptyAggregateResult">3.1.3. 
+                    Return value of aggregate functions in SELECT clause
+                </a></span></dt></dl></dd></dl></div>
+        
+        <div class="section" id="jpa_2.3_incompatibilities"><div class="titlepage"><div><div><h3 class="title">3.1.&nbsp;Incompatibilities</h3></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="jpa_2.3.html#jpa_2.3_MappingTool">3.1.1. 
+                    MappingTool Behavior for DB2 and Derby
+                </a></span></dt><dt><span class="section"><a href="jpa_2.3.html#jpa_2.3_RequiresSearchStringEscapeForLike">3.1.2. 
+                    RequiresSearchStringEscapeForLike DBDictionary Property
+                </a></span></dt><dt><span class="section"><a href="jpa_2.3.html#ReturnNullOnEmptyAggregateResult">3.1.3. 
+                    Return value of aggregate functions in SELECT clause
+                </a></span></dt></dl></div>
+            
+       	    <p>
+                The following sections indicate changes that are incompatible
+                between OpenJPA 2.2.x releases and the 2.3.0 release.
+            </p>
+            <div class="section" id="jpa_2.3_MappingTool"><div class="titlepage"><div><div><h4 class="title">3.1.1.&nbsp;
+                    MappingTool Behavior for DB2 and Derby
+                </h4></div></div></div>
+                
+                <p>
+                    In previous releases, the MappingTool mapped <code class="literal">java.math.BigDecimal</code> fields to the database type
+                    DOUBLE, and as such, ignored <code class="literal">column</code> and <code class="literal">precision</code> values that might have been specified via the
+                    <code class="literal">jakarta.persistence.Column</code> annotation.
+                </p>
+                <p>
+                    From the 2.3.0 release, <code class="literal">java.math.BigDecimal</code> fields are now mapped to the database type DECIMAL
+                    and it is very likely that you will need to specify <code class="literal">column</code> and <code class="literal">precision</code> via
+                    the <code class="literal">jakarta.persistence.Column</code> annotation.
+                </p>
+            </div>
+            <div class="section" id="jpa_2.3_RequiresSearchStringEscapeForLike"><div class="titlepage"><div><div><h4 class="title">3.1.2.&nbsp;
+                    RequiresSearchStringEscapeForLike DBDictionary Property
+                </h4></div></div></div>
+                
+                
+                <p>
+                    In previous releases, the default value for the property RequiresSearchStringEscapeForLike is true and caused the
+                    unexpected escape clause appended to the SQL statement.
+                    For example, user created a named query like this:
+                    </p><pre class="programlisting"> SELECT o.computerName FROM CompUser o WHERE o.name LIKE ?</pre><p>
+                    At run time the following query is generated:
+                    </p><pre class="programlisting"> SELECT t0.computerName FROM CompUser t0 WHERE (t0.name LIKE ? ESCAPE '\')</pre><p>
+                    ESCAPE '\' shouldn't be appended to the query.
+                </p>
+                <p>
+                    From the 2.3.0 release, RequiresSearchStringEscapeForLike property is set to false by default. You can configure
+                    RequiresSearchStringEscapeForLike property to be true if the old behavior is desired.
+                </p>
+            </div>
+            <div class="section" id="ReturnNullOnEmptyAggregateResult"><div class="titlepage"><div><div><h4 class="title">3.1.3.&nbsp;
+                    Return value of aggregate functions in SELECT clause
+                </h4></div></div></div>
+                
+                
+                <p>
+                    The JPA specification states "If SUM, AVG, MAX, or MIN is used, and there are no values to which the aggregate function can be
+                    applied, the result of the aggregate function is NULL."  Prior to this update, OpenJPA incorrectly returned 0 for SUM, AVG, MIN,
+                    and MAX when a state field being aggregated is numeric.  This behavior affects both JPQL and Criteria queries.  With this update,
+                    OpenJPA will return a null result value for these aggregate functions when a query returns no result.
+                </p>
+                <p>
+                    To re-enable the prior behavior, you need to set the following persistence property in your persistence.xml or when
+                    creating an EntityManagerFactory.
+                    </p><pre class="programlisting">
+    &lt;property name="openjpa.Compatibility" value="ReturnNullOnAggregateResult=false"/&gt;
+                    </pre><p>
+                </p>
+            </div>
+        </div>
+    </div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="jpa_2.2.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="migration_considerations.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="jpa_3.2.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">2.&nbsp;
+            OpenJPA 2.2.0
+        &nbsp;</td><td width="20%" align="center"><a accesskey="h" href="manual.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;4.&nbsp;OpenJPA 3.2.0</td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/4.1.0/apache-openjpa/docs/jpa_3.2.html b/4.1.0/apache-openjpa/docs/jpa_3.2.html
new file mode 100644
index 000000000..a152aa0e6
--- /dev/null
+++ b/4.1.0/apache-openjpa/docs/jpa_3.2.html
@@ -0,0 +1,77 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+   <title>4.&nbsp;OpenJPA 3.2.0</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 3.2 User's Guide"><link rel="up" href="migration_considerations.html" title="Appendix&nbsp;3.&nbsp; Migration Considerations"><link rel="prev" href="jpa_2.3.html" title="3.&nbsp; OpenJPA 2.3.0"></head><body bgcolor="white" text="black" link="#0000 [...]
+        Migration Considerations
+    </th><td width="20%" align="right">&nbsp;</td></tr></table><hr></div><div class="section" id="jpa_3.2"><div class="titlepage"><div><div><h2 class="title" style="clear: both">4.&nbsp;OpenJPA 3.2.0</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="jpa_3.2.html#jpa_3.2_incompatibilities">4.1. Incompatibilities</a></span></dt><dd><dl><dt><span class="section"><a href="jpa_3.2.html#jpa_3.2_SumDouble">4.1.1. SUM now always returns Double</a></span></ [...]
+        
+        <div class="section" id="jpa_3.2_incompatibilities"><div class="titlepage"><div><div><h3 class="title">4.1.&nbsp;Incompatibilities</h3></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="jpa_3.2.html#jpa_3.2_SumDouble">4.1.1. SUM now always returns Double</a></span></dt><dt><span class="section"><a href="jpa_3.2.html#jpa_3.2_InvalidColumnNames">4.1.2. Invalid Column Name Changes</a></span></dt><dt><span class="section"><a href="jpa_3.2.html#jpa_3 [...]
+            
+            <p>
+                The following sections indicate changes that are incompatible
+                between OpenJPA 3.1.x releases and the 3.2.0 release.
+            </p>
+            <div class="section" id="jpa_3.2_SumDouble"><div class="titlepage"><div><div><h4 class="title">4.1.1.&nbsp;SUM now always returns Double</h4></div></div></div>
+                
+                <p>
+                    We did fix the SUM operation to always return <code class="classname">Double</code> as requested by the spec.
+                    Previously we did return whatever Numeric the JDBC driver did serve, resulting in non portable code.
+                </p>
+            </div>
+            <div class="section" id="jpa_3.2_InvalidColumnNames"><div class="titlepage"><div><div><h4 class="title">4.1.2.&nbsp;Invalid Column Name Changes</h4></div></div></div>
+                
+                <p>
+                    We did review and update the list of invalid column names for most <code class="classname">DBDicationary</code>.
+                    The list of tested reserved words got enriched with previously forbidden column names to avoid backward
+                    incompatibility issues.
+                    The list can ge retrieved and configured via
+                    <a class="ulink" href="../../apidocs/org/apache/openjpa/jdbc/sql/DBDictionary.html#getInvalidColumnWordSet()" target="_top">
+                        <code class="methodname">DBDictionary.getInvalidColumnWordSet</code></a>
+                </p>
+            </div>
+            <div class="section" id="jpa_3.2_HsqlMappingTool"><div class="titlepage"><div><div><h4 class="title">4.1.3.&nbsp;MappingTool Behavior for HSQLDB</h4></div></div></div>
+                
+                <p>
+                    There have been 2 changes for Hypersonic (HSQLDB).
+                    We fixed a bug which did cause <code class="classname">long</code> fields getting mapped to <code class="literal">INTEGER</code>
+                    instead of <code class="literal">BIGINT</code>.
+                </p>
+                <p>
+                    Java <code class="classname">double</code> fields previously got mapped to <code class="literal">NUMERIC</code> which
+                    does lack fraction digits. Thus the value <code class="literal">7.3425343</code> got truncated to <code class="literal">7</code>.
+                    We now map <code class="classname">double</code> fields in Entities to <code class="literal">DOUBLE</code> SQL column types.
+                </p>
+            </div>
+            <div class="section" id="jpa_3.2_OracleTimestampPrecision"><div class="titlepage"><div><div><h4 class="title">4.1.4.&nbsp;Respect TIMESTAMP precision in Oracle</h4></div></div></div>
+                
+                <p>
+                    Due to a bug we did hardcoded round at 3 digits precision.
+                    So we essentially only allowed millis, even on a TIMESTAMP(6) field.
+                    The new code does respect the second fractions and now defaults to 6.
+                    It should be compatible but it might behave very subtle different.
+                </p>
+            </div>
+            <div class="section" id="jpa_3.2_UnaryOps"><div class="titlepage"><div><div><h4 class="title">4.1.5.&nbsp;Unary Operations return types</h4></div></div></div>
+                
+                <p>
+                    Before OpenJPA-3.2.0 Unary Operations like <code class="literal">MIN</code>, <code class="literal">MAX</code>, <code class="literal">SUM</code>, etc
+                    did return whatever type got returned by the JDBC driver. For certain column types this could also have been internal
+                    classes of that very JDBC driver. E.g. a <code class="literal">SELECT MAX(a.someLocalDateField) ..</code> might have returned
+                    an instance of types <code class="classname">com.oracle.jdbc....</code> or <code class="literal">com.microsoft.sqlserver...</code>, etc.
+                    We now use the respective <a class="ulink" href="../../apidocs/org/apache/openjpa/jdbc/sql/DBDictionary.html" target="_top">
+                    <code class="methodname">DBDictionary</code></a> to request the correct type from the <code class="classname">ResultSet</code>.
+                </p>
+            </div>
+            <div class="section" id="jpa_3.2_PostgreSqlQueryTimeout"><div class="titlepage"><div><div><h4 class="title">4.1.6.&nbsp;PostgreSQL now supports setQueryTimeOut</h4></div></div></div>
+                
+                <p>
+                    PostgreSQL does now support client side setQueryTimeout.
+                    User might see this come alive and now return different when the situation occurs.
+                    This flag is automatically enabled if running against PostgreSQL 10 or later.
+                    It can also be configured manually via
+                    <code class="literal">DBDictionary.supportsQueryTimeout</code>
+                </p>
+            </div>
+        </div>
+    </div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="jpa_2.3.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="migration_considerations.html">Up</a></td><td width="40%" align="right">&nbsp;</td></tr><tr><td width="40%" align="left" valign="top">3.&nbsp;
+            OpenJPA 2.3.0
+        &nbsp;</td><td width="20%" align="center"><a accesskey="h" href="manual.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;</td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/4.1.0/apache-openjpa/docs/jpa_langref.html b/4.1.0/apache-openjpa/docs/jpa_langref.html
new file mode 100644
index 000000000..a29285cd0
--- /dev/null
+++ b/4.1.0/apache-openjpa/docs/jpa_langref.html
@@ -0,0 +1,4101 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+   <title>2.&nbsp; JPQL Language Reference</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 3.2 User's Guide"><link rel="up" href="jpa_overview_query.html" title="Chapter&nbsp;10.&nbsp; JPA Query"><link rel="prev" href="jpa_overview_query.html" title="Chapter&nbsp;10.&nbsp; JPA Query"><link rel="next" href="jpa_overview_criter [...]
+            JPQL Language Reference
+        </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="jpa_overview_query.html">Prev</a>&nbsp;</td><th width="60%" align="center">Chapter&nbsp;10.&nbsp;
+        JPA Query
+    </th><td width="20%" align="right">&nbsp;<a accesskey="n" href="jpa_overview_criteria.html">Next</a></td></tr></table><hr></div><div class="section" id="jpa_langref"><div class="titlepage"><div><div><h2 class="title" style="clear: both">2.&nbsp;
+            JPQL Language Reference
+        </h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="jpa_langref.html#jpa_langref_stmnttypes">2.1. 
+                JPQL Statement Types
+            </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_langref.html#jpa_langref_select">2.1.1. 
+                    JPQL Select Statement
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_bulk">2.1.2. 
+                    JPQL Update and Delete Statements
+                </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_langref.html#jpa_langref_schematypes">2.2. 
+                JPQL Abstract Schema Types and Query Domains
+            </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_langref.html#jpa_langref_schemanaming">2.2.1. 
+                    JPQL Entity Naming
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_schemaexample">2.2.2. 
+                    JPQL Schema Example
+                </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_langref.html#jpa_langref_fromclause">2.3. 
+                JPQL FROM Clause and Navigational Declarations
+            </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_langref.html#jpa_langref_from_identifiers">2.3.1. 
+                    JPQL FROM Identifiers
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_from_vars">2.3.2. 
+                    JPQL Identification Variables
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_range">2.3.3. 
+                    JPQL Range Declarations
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_path">2.3.4. 
+                    JPQL Path Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_Joins">2.3.5. 
+                    JPQL Joins
+                </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_langref.html#jpa_langref_inner_joins">2.3.5.1. 
+                        JPQL Inner Joins (Relationship Joins)
+                    </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_outer_joins">2.3.5.2. 
+                        JPQL Outer Joins
+                    </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_fetch_joins">2.3.5.3. 
+                        JPQL Fetch Joins
+                    </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_langref.html#jpa_langref_collection_dec">2.3.6. 
+                    JPQL Collection Member Declarations
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_from_clause_and_sql">2.3.7. 
+                    JPQL FROM Clause and SQL
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_polymorph">2.3.8. 
+                    JPQL Polymorphism
+                </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_langref.html#jpa_langref_where">2.4. 
+                JPQL WHERE Clause
+            </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_cond">2.5. 
+                JPQL Conditional Expressions
+            </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_langref.html#jpa_langref_lit">2.5.1. 
+                    JPQL Literals
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_idvar">2.5.2. 
+                    JPQL Identification Variables
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_path_exp">2.5.3. 
+                    JPQL Path Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_input_params">2.5.4. 
+                    JPQL Input Parameters
+                </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_langref.html#jpa_langref_pos_params">2.5.4.1. 
+                        JPQL Positional Parameters
+                    </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_named_params">2.5.4.2. 
+                        JPQL Named Parameters
+                    </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_langref.html#jpa_langref_cond_comp">2.5.5. 
+                    JPQL Conditional Expression Composition
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_operators">2.5.6. 
+                    JPQL Operators and Operator Precedence
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_comparison_expressions">2.5.7. 
+                    JPQL Comparison Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_between">2.5.8. 
+                    JPQL Between Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_in_expressions">2.5.9. 
+                    JPQL In Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_like">2.5.10. 
+                    JPQL Like Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_null">2.5.11. 
+                    JPQL Null Comparison Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_empty_comp">2.5.12. 
+                    JPQL Empty Collection Comparison Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_collection_member">2.5.13. 
+                    JPQL Collection Member Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_exists">2.5.14. 
+                    JPQL Exists Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_all_any">2.5.15. 
+                    JPQL All or Any Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_subqueries">2.5.16. 
+                    JPQL Subqueries
+                </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_langref.html#jpa_langref_scalar_expressions">2.6. 
+                    JPQL Scalar Expressions
+                </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_langref.html#jpa_langref_math_expressions">2.6.1. 
+                    Arithmetic Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_functional_expressions">2.6.2. 
+                    String, Arithmetic, and Datetime Functional Expressions
+                </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_langref.html#jpa_langref_string_fun">2.6.2.1. 
+                        JPQL String Functions
+                    </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_arithmetic">2.6.2.2. 
+                        JPQL Arithmetic Functions
+                    </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_datetime">2.6.2.3. 
+                        JPQL Datetime Functions
+                    </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_langref.html#jpa_langref_case_expressions">2.6.3. 
+                    Case Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_entity_type_expressions">2.6.4. 
+                    Entity Type Expressions
+                </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_langref.html#jpa_langref_group">2.7. 
+                JPQL GROUP BY, HAVING
+            </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_select_clause">2.8. 
+                JPQL SELECT Clause
+            </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_langref.html#jpa_langref_resulttype">2.8.1. 
+                    JPQL Result Type of the SELECT Clause
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_constructor">2.8.2. 
+                    JPQL Constructor Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_null_select">2.8.3. 
+                    JPQL Null Values in the Query Result
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_embeddables">2.8.4. 
+                    JPQL Embeddables in the Query Result
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_aggregates">2.8.5. 
+                    JPQL Aggregate Functions
+                </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_langref.html#jpa_langref_agg_examples">2.8.5.1. 
+                        JPQL Aggregate Examples
+                    </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_numeric_expressions_in_select">2.8.5.2. 
+                        JPQL Numeric Expressions in the SELECT Clause
+                    </a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="jpa_langref.html#jpa_langref_orderby">2.9. 
+                JPQL ORDER BY Clause
+            </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_bulk_ops">2.10. 
+                JPQL Bulk Update and Delete
+            </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_null_values">2.11. 
+                JPQL Null Values
+            </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_equality">2.12. 
+                JPQL Equality and Comparison Semantics
+            </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_bnf">2.13. 
+                JPQL BNF
+            </a></span></dt></dl></div>
+        
+        <p>
+The Java Persistence Query Language (JPQL) is used to define searches against
+persistent entities independent of the mechanism used to store those entities.
+As such, JPQL is "portable", and not constrained to any particular data store.
+The Java Persistence query language is an extension of the Enterprise JavaBeans
+query language, <code class="literal">EJB QL</code>, adding operations such as bulk
+deletes and updates, join operations, aggregates, projections, and subqueries.
+Furthermore, JPQL queries can be declared statically in metadata, or can be
+dynamically built in code. This chapter provides the full definition of the
+language.
+        </p>
+        <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3>
+            <p>
+Much of this section is paraphrased or taken directly from Chapter 4 of the
+JSR 317 Java Persistence API Specification.
+            </p>
+        </div>
+        <div class="section" id="jpa_langref_stmnttypes"><div class="titlepage"><div><div><h3 class="title">2.1.&nbsp;
+                JPQL Statement Types
+            </h3></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="jpa_langref.html#jpa_langref_select">2.1.1. 
+                    JPQL Select Statement
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_bulk">2.1.2. 
+                    JPQL Update and Delete Statements
+                </a></span></dt></dl></div>
+            
+            <p>
+A JPQL statement may be either a <code class="literal">SELECT</code> statement, an
+<code class="literal">UPDATE</code> statement, or a <code class="literal">DELETE</code> statement.
+This chapter refers to all such statements as "queries". Where it is important
+to distinguish among statement types, the specific statement type is referenced.
+In BNF syntax, a query language statement is defined as:
+            </p>
+            <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                    <p>
+QL_statement ::= select_statement | update_statement | delete_statement
+                    </p>
+                </li></ul></div>
+            <p>
+The complete BNF for JPQL is defined in <a class="xref" href="jpa_langref.html#jpa_langref_bnf" title="2.13.&nbsp; JPQL BNF">Section&nbsp;2.13, &#8220;
+                JPQL BNF
+            &#8221;</a>.
+Any JPQL statement may be constructed dynamically or may be statically defined
+in a metadata annotation or XML descriptor element. All statement types may
+have parameters, as discussed in <a class="xref" href="jpa_langref.html#jpa_langref_input_params" title="2.5.4.&nbsp; JPQL Input Parameters">Section&nbsp;2.5.4, &#8220;
+                    JPQL Input Parameters
+                &#8221;</a>.
+            </p>
+            <div class="section" id="jpa_langref_select"><div class="titlepage"><div><div><h4 class="title">2.1.1.&nbsp;
+                    JPQL Select Statement
+                </h4></div></div></div>
+                
+                <p>
+A select statement is a string which consists of the following clauses:
+                </p>
+                <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                        <p>
+a <code class="literal">SELECT</code> clause, which determines the type of the objects
+or values to be selected.
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+a <code class="literal">FROM</code> clause, which provides declarations that designate the
+domain to which the expressions specified in the other clauses of the query
+apply.
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+an optional <code class="literal">WHERE</code> clause, which may be used to restrict the
+results that are returned by the query.
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+an optional <code class="literal">GROUP BY</code> clause, which allows query results to be
+aggregated in terms of groups.
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+an optional <code class="literal">HAVING</code> clause, which allows filtering over
+aggregated groups.
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+an optional <code class="literal">ORDER BY</code> clause, which may be used to order the
+results that are returned by the query.
+                        </p>
+                    </li></ul></div>
+                <p>
+In BNF syntax, a select statement is defined as:
+                </p>
+                <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                        <p>
+select_statement ::= select_clause from_clause [where_clause] [groupby_clause]
+[having_clause] [orderby_clause]
+                        </p>
+                    </li></ul></div>
+                <p>
+A select statement must always have a <code class="literal">SELECT</code> and a
+<code class="literal">FROM</code> clause. The square brackets [] indicate that the other
+clauses are optional.
+                </p>
+            </div>
+            <div class="section" id="jpa_langref_bulk"><div class="titlepage"><div><div><h4 class="title">2.1.2.&nbsp;
+                    JPQL Update and Delete Statements
+                </h4></div></div></div>
+                
+                <p>
+Update and delete statements provide bulk operations over sets of entities. In
+BNF syntax, these operations are defined as:
+                </p>
+                <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                        <p>
+update_statement ::= update_clause [where_clause]
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+delete_statement ::= delete_clause [where_clause]
+                        </p>
+                    </li></ul></div>
+                <p>
+The update and delete clauses determine the type of the entities to be updated
+or deleted.  The <code class="literal">WHERE</code> clause may be used to restrict the
+scope of the update or delete operation. Update and delete statements are
+described further in <a class="xref" href="jpa_langref.html#jpa_langref_bulk_ops" title="2.10.&nbsp; JPQL Bulk Update and Delete">Section&nbsp;2.10, &#8220;
+                JPQL Bulk Update and Delete
+            &#8221;</a>.
+                </p>
+            </div>
+        </div>
+        <div class="section" id="jpa_langref_schematypes"><div class="titlepage"><div><div><h3 class="title">2.2.&nbsp;
+                JPQL Abstract Schema Types and Query Domains
+            </h3></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="jpa_langref.html#jpa_langref_schemanaming">2.2.1. 
+                    JPQL Entity Naming
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_schemaexample">2.2.2. 
+                    JPQL Schema Example
+                </a></span></dt></dl></div>
+            
+            <p>
+The Java Persistence query language is a typed language, and every expression
+has a type. The type of an expression is derived from the structure of the
+expression, the abstract schema types of the identification variable
+declarations, the types to which the persistent fields and relationships
+evaluate, and the types of literals.
+            </p>
+            <p>
+The abstract schema type of an entity or embeddable is
+derived from the entity class and the metadata information provided by Java
+language annotations or in the XML descriptor.
+            </p>
+            <p>
+Informally, the abstract schema type of an entity or embeddable can be characterized as
+follows:
+            </p>
+            <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                    <p>
+For every persistent field or get
+accessor method (for a persistent property) of the entity class, there is a
+field ("state-field") whose abstract schema type corresponds to that of the
+field or the result type of the accessor method.
+                    </p>
+                </li><li class="listitem">
+                    <p>
+For every persistent relationship field or get accessor method (for a persistent
+relationship property) of the entity class, there is a field
+("association-field") whose type is the abstract schema type of the related
+entity (or, if the relationship is a one-to-many or many-to-many, a collection
+of such).
+                    </p>
+                </li></ul></div>
+                    <p>
+Abstract schema types are specific to the query language data model.
+The persistence provider is not required to implement or otherwise materialize
+an abstract schema type.
+                    </p>
+                    <p>
+The domain of a query consists of the abstract schema
+types of all entities and embeddables that are defined in the same persistence unit.
+                    </p>
+                    <p>
+The domain
+of a query may be restricted by the <code class="literal">navigability</code> of the relationships of the
+entity and associated embeddable classes on which it is based. The association-fields of an entity's
+or embeddable's abstract
+schema type determine navigability. Using the association fields and their
+values, a query can select related entities and use their abstract schema types
+in the query.
+                    </p>
+            <div class="section" id="jpa_langref_schemanaming"><div class="titlepage"><div><div><h4 class="title">2.2.1.&nbsp;
+                    JPQL Entity Naming
+                </h4></div></div></div>
+                
+                <p>
+Entities are designated in query strings by their entity names. The entity name
+is defined by the name element of the Entity annotation (or the entity-name XML
+descriptor element), and defaults to the unqualified name of the entity class.
+Entity names are scoped within the persistence unit and must be unique within
+the persistence unit.
+                </p>
+            </div>
+            <div class="section" id="jpa_langref_schemaexample"><div class="titlepage"><div><div><h4 class="title">2.2.2.&nbsp;
+                    JPQL Schema Example
+                </h4></div></div></div>
+                
+                <p>
+This example assumes that the application developer provides several entity
+classes, representing magazines, publishers, authors, and articles. The abstract
+schema types for these entities are <code class="literal">Magazine</code>, <code class="literal">
+Publisher</code>, <code class="literal">Author</code>, and <code class="literal">Article</code>.
+                </p>
+                <p>
+Several Entities with Abstract Persistence Schemas Defined in the Same
+Persistence Unit. The entity <code class="literal">Publisher</code> has a one-to-many
+relationships with <code class="literal">Magazine</code>. There is also a one-to-many
+relationship between <code class="literal">Magazine</code> and <code class="literal">Article</code>
+. The entity <code class="literal">Article</code> is related to <code class="literal">Author</code>
+in a one-to-one relationship.
+                </p>
+                <p>
+Queries to select magazines can be defined by navigating over the
+association-fields and state-fields defined by <code class="literal">Magazine</code> and
+<code class="literal">Author</code>. A query to
+find all magazines that have unpublished articles is as follows:
+                </p>
+<pre class="programlisting">
+SELECT DISTINCT mag FROM Magazine AS mag JOIN mag.articles AS art WHERE art.published = FALSE
+</pre>
+                <p>
+This query navigates over the association-field <code class="literal">authors</code> of the
+abstract schema type <code class="literal">Magazine</code> to find articles, and uses the
+state-field <code class="literal">published</code> of <code class="literal">Article</code> to select
+those magazines that have at least one article that is not published. Although
+predefined reserved identifiers, such as <code class="literal">DISTINCT</code>, <code class="literal">
+FROM</code>, <code class="literal">AS</code>, <code class="literal">JOIN</code>, <code class="literal">
+WHERE</code>, and <code class="literal">FALSE</code> appear in upper case in this
+example, predefined reserved identifiers are case insensitive.
+                </p>
+                <p>
+ The <code class="literal">
+SELECT</code> clause of this example designates the return type of this
+query to be of type <code class="literal">Magazine</code>.
+                </p>
+                <p>
+Because the same persistence unit defines the
+abstract persistence schemas of the related entities, the developer can also
+specify a query over articles that utilizes the abstract
+schema type for products, and hence the state-fields and association-fields of
+both the abstract schema types <code class="literal">Magazine</code> and <code class="literal">Author</code>.
+For example, if the
+abstract schema type <code class="literal">Author</code> has a state-field named <code class="literal">firstName</code>,
+ a query over
+articles can be specified using this state-field. Such a query might be to
+find all magazines that have articles authored by someone with the first name
+"John".
+                </p>
+<pre class="programlisting">
+SELECT DISTINCT mag FROM Magazine mag JOIN mag.articles art JOIN art.author auth WHERE auth.firstName = 'John'
+</pre>
+                <p>
+Because <code class="literal">Magazine</code> is related to <code class="literal">Author</code> by means of the
+relationships between <code class="literal">Magazine</code> and <code class="literal">Article</code>
+and between <code class="literal">Article</code> and <code class="literal">Author</code>,
+navigation using the association-fields <code class="literal">authors</code> and
+<code class="literal">product</code> is used to express
+the query. This query is specified by using the abstract schema name <code class="literal">Magazine</code>,
+which designates the abstract schema type over which the query ranges. The basis
+for the navigation is provided by the association-fields <code class="literal">authors</code>
+and <code class="literal">product</code> of
+the abstract schema types <code class="literal">Magazine</code> and <code class="literal">Article</code> respectively.
+                </p>
+            </div>
+        </div>
+        <div class="section" id="jpa_langref_fromclause"><div class="titlepage"><div><div><h3 class="title">2.3.&nbsp;
+                JPQL FROM Clause and Navigational Declarations
+            </h3></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="jpa_langref.html#jpa_langref_from_identifiers">2.3.1. 
+                    JPQL FROM Identifiers
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_from_vars">2.3.2. 
+                    JPQL Identification Variables
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_range">2.3.3. 
+                    JPQL Range Declarations
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_path">2.3.4. 
+                    JPQL Path Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_Joins">2.3.5. 
+                    JPQL Joins
+                </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_langref.html#jpa_langref_inner_joins">2.3.5.1. 
+                        JPQL Inner Joins (Relationship Joins)
+                    </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_outer_joins">2.3.5.2. 
+                        JPQL Outer Joins
+                    </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_fetch_joins">2.3.5.3. 
+                        JPQL Fetch Joins
+                    </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_langref.html#jpa_langref_collection_dec">2.3.6. 
+                    JPQL Collection Member Declarations
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_from_clause_and_sql">2.3.7. 
+                    JPQL FROM Clause and SQL
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_polymorph">2.3.8. 
+                    JPQL Polymorphism
+                </a></span></dt></dl></div>
+            
+            <p>
+The <code class="literal">FROM</code> clause of a query defines the domain of the query by
+declaring identification variables. An identification variable is an identifier
+declared in the <code class="literal">FROM</code> clause of a query. The domain of the
+query may be constrained by path expressions (See section <a class="xref" href="jpa_langref.html#jpa_langref_path" title="2.3.4.&nbsp; JPQL Path Expressions">Section&nbsp;2.3.4, &#8220;
+                    JPQL Path Expressions
+                &#8221;</a>.
+            </p>
+            <p>
+Identification variables designate
+instances of a particular entity abstract schema type. The <code class="literal">FROM
+</code> clause can contain multiple identification variable declarations
+separated by a comma (,).
+            </p>
+            <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                    <p>
+from_clause ::= FROM identification_variable_declaration {,
+{identification_variable_declaration | collection_member_declaration}}*
+                    </p>
+                </li><li class="listitem">
+                    <p>
+identification_variable_declaration ::= range_variable_declaration { join |
+fetch_join }*
+                    </p>
+                </li><li class="listitem">
+                    <p>
+range_variable_declaration ::= abstract_schema_name [AS] identification_variable
+                    </p>
+                </li><li class="listitem">
+                    <p>
+join ::= join_spec join_association_path_expression [AS] identification_variable
+                    </p>
+                </li><li class="listitem">
+                    <p>
+fetch_join ::= join_spec FETCH join_association_path_expression
+                    </p>
+                </li><li class="listitem">
+                    <p>
+join_association_path_expression ::= join_collection_valued_path_expression |
+join_single_valued_association_path_expression
+                    </p>
+                </li><li class="listitem">
+                    <p>
+join_collection_valued_path_expression::=
+identification_variable.{single_valued_embeddable_object_field.}*collection_valued_field
+                    </p>
+                </li><li class="listitem">
+                    <p>
+join_single_valued_path_expression::=
+identification_variable.{single_valued_embeddable_object_field.}*single_valued_object_field                    </p>
+                </li><li class="listitem">
+                    <p>
+join_spec ::= [ LEFT [OUTER] | INNER ] JOIN
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+collection_member_declaration ::= IN (collection_valued_path_expression) [AS]
+identification_variable
+                    </p>
+                </li></ul></div>
+            <p>
+The following subsections discuss the constructs used in the <code class="literal">FROM</code> clause.
+            </p>
+            <div class="section" id="jpa_langref_from_identifiers"><div class="titlepage"><div><div><h4 class="title">2.3.1.&nbsp;
+                    JPQL FROM Identifiers
+                </h4></div></div></div>
+                
+                <p>
+An identifier is a character sequence of unlimited length. The character
+sequence must begin with a Java identifier start character, and all other
+characters must be Java identifier part characters. An identifier start
+character is any character for which the method <code class="methodname">
+Character.isJavaIdentifierStart</code> returns <code class="literal">true</code>.
+This includes the underscore (_) character and the dollar sign ($) character. An
+identifier part character is any character for which the method <code class="methodname">
+Character.isJavaIdentifierPart</code> returns <code class="literal">true</code>.
+The question mark (?) character is reserved for use by the Java Persistence
+query language. The following are reserved identifiers:
+                </p>
+                <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                        <p>
+<code class="literal">ABS</code>
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+<code class="literal">ALL</code>
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+<code class="literal">AND</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">ANY</code>
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+<code class="literal">AS</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">ASC</code>
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+<code class="literal">AVG</code>
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+<code class="literal">BETWEEN</code>
+                        </p>
+                    </li><li class="listitem">
+                            <p>
+<code class="literal">BIT_LENGTH</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">BOTH</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">BY</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">CASE</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">CEILING</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">CHAR_LENGTH</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">CHARACTER_LENGTH</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">CLASS</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">COALESCE</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">CONCAT</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">COUNT</code>
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+<code class="literal">CURRENT_DATE</code>
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+<code class="literal">CURRENT_TIME</code>
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+<code class="literal">CURRENT_TIMESTAMP</code>
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+<code class="literal">DELETE</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">DESC</code>
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+<code class="literal">DISTINCT</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">ELSE</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">EMPTY</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">END</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">ENTRY</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">ESCAPE</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">EXISTS</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">EXP</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">EXTRACT</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">FALSE</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">FETCH</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">FLOOR</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">FROM</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">GROUP</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">HAVING</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">IN</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">INDEX</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">INNER</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">IS</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">JOIN</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">KEY</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">LEADING</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">LEFT</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">LENGTH</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">LIKE</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">LOCAL</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">LN</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">LOCATE</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">LOWER</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">MAX</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">MEMBER</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">MIN</code>
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+<code class="literal">MOD</code>
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+<code class="literal">NEW</code>
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+<code class="literal">NOT</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">NULL</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">NULLIF</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">OBJECT</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">OF</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">ON</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">OR</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">ORDER</code>
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+<code class="literal">OUTER</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">POSITION</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">POWER</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">ROUND</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">SELECT</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">SET</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">SIGN</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">SIZE</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">SOME</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">SQRT</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">SIBSTRING</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">SUM</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">THEN</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">TRAILING</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">TREAT</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">TRIM</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">TRUE</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">TYPE</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">UNKNOWN</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">UPDATE</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">UPPER</code>
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+<code class="literal">VALUE</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">WHEN</code>
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">WHERE</code>
+                        </p>
+                    </li></ul></div>
+                <p>
+Reserved identifiers are case insensitive. Reserved identifiers must not be
+used as identification variables or result variables.
+                </p>
+                <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3>
+                    <p>
+It is recommended that other SQL reserved
+words also not be used as identification variables in queries because they may be
+used as reserved identifiers in future releases of the specification.
+                    </p>
+                </div>
+                <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3>
+                    <p>
+BIT_LENGTH, CHAR_LENGTH, CHARACTER_LENGTH, POSITION, and UNKNOWN are not currently used: they are
+reserved for future use.
+                    </p>
+                </div>
+            </div>
+            <div class="section" id="jpa_langref_from_vars"><div class="titlepage"><div><div><h4 class="title">2.3.2.&nbsp;
+                    JPQL Identification Variables
+                </h4></div></div></div>
+                
+                <p>
+An identification variable is a valid identifier declared in the <code class="literal">FROM
+</code> clause of a query.
+                </p>
+                <p>
+All identification variables must be declared in
+the <code class="literal">FROM</code> clause. Identification variables cannot be declared
+in other clauses.
+                </p>
+                <p>
+An identification variable must not be a reserved identifier
+or have the same name as any entity in the same persistence unit.
+                </p>
+                <p>
+Identification variables are case insensitive.
+                </p>
+                <p>
+An identification variable evaluates to a value
+of the type of the expression used in declaring the variable. For example,
+consider the previous query: </p><pre class="programlisting">SELECT DISTINCT mag FROM Magazine mag JOIN mag.articles art JOIN art.author auth WHERE auth.firstName = 'John'
+</pre><p>
+In the <code class="literal">FROM</code> clause declaration <code class="literal">
+mag.articles</code> <code class="literal">art</code>, the identification variable
+<code class="literal">art</code> evaluates to any <code class="literal">Article</code> value
+directly reachable from <code class="literal">Magazine</code>. The association-field
+<code class="literal">articles</code> is a collection of instances of the abstract schema
+type <code class="literal">Article</code> and the identification variable <code class="literal">art
+</code> refers to an element of this collection. The type of <code class="literal">auth
+</code> is the abstract schema type of <code class="literal">Author</code>.
+                 </p>
+                 <p>
+An identification variable can range over an entity,
+embeddable, or basic abstract schema type. An
+identification variable designates an instance of an entity abstract schema type
+or an element of a collection of entity abstract schema type instances.
+                 </p>
+                 <p>
+Note that for identification variables referring to an instance of an association or collection represented
+as a <code class="literal">java.util.Map</code>, the identification variable is of the abstract schema type of the map
+<code class="literal">value</code>.
+                 </p>
+                 <p>
+An
+identification variable always designates a reference to a single value. It is
+declared in one of three ways: in a range variable declaration, in a join
+clause, or in a collection member declaration. The identification variable
+declarations are evaluated from left to right in the <code class="literal">FROM</code>
+clause, and an identification variable declaration can use the result of a
+preceding identification variable declaration of the query string.
+                </p>
+                <p>
+All identification variables used in the <code class="literal">SELECT</code>,
+<code class="literal">WHERE</code>,
+<code class="literal">ORDER BY</code>,
+<code class="literal">GROUP BY</code>, or
+<code class="literal">HAVING</code>
+clause of a <code class="literal">SELECT</code> or
+<code class="literal">DELETE</code> statement must be declared in the <code class="literal">FROM</code> clause.
+The identification
+variables used in the <code class="literal">WHERE</code> clause of
+an <code class="literal">UPDATE</code> statement must be declared in the <code class="literal">UPDATE</code> clause.
+                </p>
+                <p>
+Identification variables are existentially quantified in these clauses. This means that an identification
+variable represents a member of a collection or an instance of an entity&#8217;s abstract schema type. An identification
+variable never designates a collection in its entirety.
+                </p>
+                <p>
+An identification variable is scoped to the query (or subquery) in which it is defined and is also visible
+to any subqueries within that query scope that do not define an identification variable of the same name.
+                </p>
+            </div>
+            <div class="section" id="jpa_langref_range"><div class="titlepage"><div><div><h4 class="title">2.3.3.&nbsp;
+                    JPQL Range Declarations
+                </h4></div></div></div>
+                
+                <p>
+The syntax for declaring an identification variable as a range variable is
+similar to that of SQL; optionally, it uses the AS keyword. A range variable designates an
+entity abstract schema type.
+                </p>
+                <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3>
+                <p>
+A range variable must not designate an embeddable class abstract schema type.
+                </p>
+                </div>
+                <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                        <p>
+range_variable_declaration ::= entity_name [AS]
+identification_variable
+                        </p>
+                    </li></ul></div>
+                <p>
+Range variable declarations allow the developer to designate a "root" for
+objects which may not be reachable by navigation.
+                </p>
+                <p>
+In order to select values by
+comparing more than one instance of an entity abstract schema type, more than
+one identification variable ranging over the abstract schema type is needed in
+the <code class="literal">FROM</code> clause.
+                </p>
+                <p>
+The following query returns magazines whose price is greater than the price of
+magazines published by "Adventure" publishers. This example illustrates the use
+of two different identification variables in the <code class="literal">FROM</code> clause,
+both of the abstract schema type Magazine. The <code class="literal">SELECT</code> clause
+of this query determines that it is the magazines with prices greater than those
+of "Adventure" publisher's that are returned.
+                </p>
+<pre class="programlisting">
+SELECT DISTINCT mag1 FROM Magazine mag1, Magazine mag2
+WHERE mag1.price &gt; mag2.price AND mag2.publisher.name = 'Adventure'
+</pre>
+            </div>
+            <div class="section" id="jpa_langref_path"><div class="titlepage"><div><div><h4 class="title">2.3.4.&nbsp;
+                    JPQL Path Expressions
+                </h4></div></div></div>
+                
+                <p>
+An identification variable followed by the navigation operator (.) and a
+state-field or association-field is a path expression. The type of the path
+expression is the type computed as the result of navigation; that is, the type
+of the state-field or association-field to which the expression navigates.
+                </p>
+                <p>
+An identification variable qualified by the <code class="literal">KEY</code>,
+<code class="literal">VALUE</code>, or <code class="literal">ENTRY</code>
+operator is a path expression. The
+<code class="literal">KEY</code>, <code class="literal">VALUE</code>,
+and <code class="literal">ENTRY</code> operators may only be applied to identification variables that correspond to
+map-valued associations or map-valued element collections. The type of the path expression is the type
+computed as the result of the operation; that is, the abstract schema type of the field that is the value of
+the <code class="literal">KEY</code>,
+<code class="literal">VALUE</code>, or <code class="literal">ENTRY</code>
+operator (the map key, map value, or map entry respectively).
+                </p>
+                <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3>
+                <p>
+Note that use of <code class="literal">VALUE</code> is optional,
+as an identification variable referring to an association of type
+<code class="literal">java.util.Map</code> is of the
+abstract schema type of the map value.
+                </p>
+                </div>
+                <p>
+The syntax for qualified identification variables is as follows.
+                </p>
+                <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                        <p>
+qualified_identification_variable :: =
+KEY(identification_variable) |
+VALUE(identification_variable) |
+ENTRY(identification_variable)
+                        </p>
+                    </li></ul></div>
+                <p>
+A path expression using the <code class="literal">KEY</code> or <code class="literal">VALUE</code>
+operator may be further composed. A path expression
+using the <code class="literal">ENTRY</code> operator is terminal.
+It cannot be further composed and can only appear in the
+<code class="literal">SELECT</code> list of a query.
+                </p>
+                <p>
+In the following query, <code class="literal">photos</code> is a map from photo label to filename.
+                </p>
+<pre class="programlisting">
+SELECT i.name, VALUE(p)
+FROM Item i JOIN i.photos p
+WHERE KEY(p) LIKE &#8216;egret&#8217;
+</pre>
+                <p>
+In the above query the identification variable <code class="literal">p</code> designates
+an abstract schema type corresponding to the
+map value. The results of <code class="literal">VALUE(p)</code> and <code class="literal">KEY(p)</code>
+are the map value and the map key associated with
+p, respectively. The following query is equivalent:
+                </p>
+<pre class="programlisting">
+SELECT i.name, p
+FROM Item i JOIN i.photos p
+WHERE KEY(p) LIKE &#8216;egret&#8217;
+</pre>
+                <p>
+Depending on navigability, a path expression that leads to a association-field
+or to a field whose type is an embeddable class
+may be further composed. Path expressions can be composed from other path
+expressions if the original path expression evaluates to a single-valued type
+(not a collection) corresponding to a association-field.
+                </p>
+                <p>
+In the following example, <code class="literal">contactInfo</code> denotes an embeddable
+class consisting of an address and
+set of phones. <code class="literal">Phone</code> is an entity.
+                </p>
+<pre class="programlisting">
+SELECT p.vendor
+FROM Employee e JOIN e.contactInfo.phones p
+WHERE e.contactInfo.address.zipcode = '95054'
+</pre>
+                <p>
+Path expression
+navigability is composed using "inner join" semantics. That is, if the value of
+a non-terminal association-field in the path expression is null, the path is
+considered to have no value, and does not participate in the determination of
+the result.
+                </p>
+                <p>
+The following query is equivalent to the query above:
+                </p>
+<pre class="programlisting">
+SELECT p.vendor
+FROM Employee e JOIN e.contactInfo c JOIN c.phones p
+WHERE e.contactInfo.address.zipcode = '95054'
+</pre>
+                <p>
+The syntax for single-valued path expressions and collection valued
+path expressions is as follows:
+                </p>
+                <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                        <p>
+single_valued_path_expression ::=
+qualified_identification_variable |
+state_field_path_expression |
+single_valued_object_path_expression
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+state_field_path_expression ::=
+general_identification_variable.{single_valued_object_field.}*state_field
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+single_valued_object_path_expression ::=
+general_identification_variable.{single_valued_object_field.}*single_valued_object_field
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+collection_valued_path_expression ::=
+general_identification_variable.{single_valued_object_field.}*collection_valued_field
+                        </p>
+                    </li></ul></div>
+                <p>
+A <code class="literal">single_valued_object_field</code> is designated by the name of an
+association-field in a one-to-one or many-to-one relationship
+or a field of embeddable class type. The type of a
+<code class="literal">single_valued_object_field</code> is the abstract schema type of the
+related entity or embeddable class.
+                </p>
+                <p>
+A <code class="literal">state_field</code> is designated by the name of an entity or
+embeddable class state field that corresponds to
+a basic type.
+                </p>
+                <p>
+A collection_valued_field is designated by the name
+of an association-field in a one-to-many or a many-to-many relationship
+or by the name of an element collection field. The
+type of a <code class="literal">collection_valued_field</code> is
+a collection of values of the
+abstract schema type of the related entity
+or element type.
+                </p>
+                <p>
+An identification variable used in a
+<code class="literal">single_valued_object_path_expression</code> or in a
+<code class="literal">collection_valued_path_expression</code>
+may be an unqualified identification variable or an identification
+variable to which the KEY or VALUE function has been applied.
+                </p>
+                <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                        <p>
+general_identification_variable ::=
+identification_variable |
+KEY(identification_variable) |
+VALUE(identification_variable)
+                        </p>
+                    </li></ul></div>
+                <p>
+It is syntactically illegal to compose a path expression from a
+path expression that evaluates to a collection. For example, if <code class="literal">mag
+</code> designates <code class="literal">Magazine</code>, the path expression <code class="literal">
+mag.articles.author</code> is illegal since navigation to authors results in
+a collection. This case should produce an error when the query string is
+verified. To handle such a navigation, an identification variable must be
+declared in the <code class="literal">FROM</code> clause to range over the elements of the
+<code class="literal">articles</code> collection. Another path expression must be used to
+navigate over each such element in the <code class="literal">WHERE</code> clause of the
+query, as in the following query which returns all authors that have any
+articles in any magazines:
+               </p>
+<pre class="programlisting">
+SELECT DISTINCT art.author FROM Magazine AS mag, IN(mag.articles) art
+</pre>
+                <p>
+It is illegal to use a <code class="literal">collection_valued_path_expression</code> other than
+in the <code class="literal">FROM</code> clause of a query
+except in an <code class="literal">empty_collection_comparison_expression</code>,
+in a <code class="literal">collection_member_expression</code>, or
+as an argument to the <code class="literal">SIZE</code> operator.
+See <a class="xref" href="jpa_langref.html#jpa_langref_empty_comp" title="2.5.12.&nbsp; JPQL Empty Collection Comparison Expressions">Section&nbsp;2.5.12, &#8220;
+                    JPQL Empty Collection Comparison Expressions
+                &#8221;</a>,  <a class="xref" href="jpa_langref.html#jpa_langref_collection_member" title="2.5.13.&nbsp; JPQL Collection Member Expressions">Section&nbsp;2.5.13, &#8220;
+                    JPQL Collection Member Expressions
+                &#8221;</a>,
+and <a class="xref" href="jpa_langref.html#jpa_langref_arithmetic" title="2.6.2.2.&nbsp; JPQL Arithmetic Functions">Section&nbsp;2.6.2.2, &#8220;
+                        JPQL Arithmetic Functions
+                    &#8221;</a>.
+                </p>
+            </div>
+            <div class="section" id="jpa_langref_Joins"><div class="titlepage"><div><div><h4 class="title">2.3.5.&nbsp;
+                    JPQL Joins
+                </h4></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="jpa_langref.html#jpa_langref_inner_joins">2.3.5.1. 
+                        JPQL Inner Joins (Relationship Joins)
+                    </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_outer_joins">2.3.5.2. 
+                        JPQL Outer Joins
+                    </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_fetch_joins">2.3.5.3. 
+                        JPQL Fetch Joins
+                    </a></span></dt></dl></div>
+                
+                <p>
+An inner join may be implicitly specified by the use of a cartesian product in
+the <code class="literal">FROM</code> clause and a join condition in the <code class="literal">WHERE
+</code> clause. In the absence of a join condition, this reduces to the cartesian product.
+               </p>
+               <p>
+The main use case for this generalized style of join is when a join condition does not involve
+a foreign key relationship that is mapped to an entity relationship, for example:
+                </p>
+<pre class="programlisting">SELECT c FROM Customer c, Employee e WHERE c.hatsize = e.shoesize</pre>
+                <p>
+In general, use of this style of inner join (also referred to as theta-join) is less typical than explicitly
+defined joins over relationships.
+                </p>
+                <p>
+The syntax for explicit join operations is as follows:
+                </p>
+                <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                        <p>
+join ::= join_spec join_association_path_expression [AS] identification_variable
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+fetch_join ::= join_spec FETCH join_association_path_expression
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+join_association_path_expression ::= join_collection_valued_path_expression |
+join_single_valued_path_expression
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+join_collection_valued_path_expression::=
+identification_variable.{single_valued_embeddable_object_field.}*collection_valued_field
+                          </p>
+                        </li><li class="listitem">
+                            <p>
+join_single_valued_path_expression::=
+identification_variable.{single_valued_embeddable_object_field.}*single_valued_object_field
+                          </p>
+                        </li><li class="listitem">
+                            <p>
+join_spec ::= [ LEFT [OUTER] | INNER ] JOIN
+                        </p>
+                    </li></ul></div>
+                <p>
+The inner and outer join operation types described in
+<a class="xref" href="jpa_langref.html#jpa_langref_inner_joins" title="2.3.5.1.&nbsp; JPQL Inner Joins (Relationship Joins)">Section&nbsp;2.3.5.1, &#8220;
+                        JPQL Inner Joins (Relationship Joins)
+                    &#8221;</a> and <a class="xref" href="jpa_langref.html#jpa_langref_outer_joins" title="2.3.5.2.&nbsp; JPQL Outer Joins">Section&nbsp;2.3.5.2, &#8220;
+                        JPQL Outer Joins
+                    &#8221;</a> are supported.
+                </p>
+                <div class="section" id="jpa_langref_inner_joins"><div class="titlepage"><div><div><h5 class="title">2.3.5.1.&nbsp;
+                        JPQL Inner Joins (Relationship Joins)
+                    </h5></div></div></div>
+                    
+                    <p>
+The syntax for the inner join operation is </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+[ INNER ] JOIN join_association_path_expression [AS] identification_variable
+</li></ul></div><p> For example, the query below joins over the relationship
+between publishers and magazines. This type of join typically equates to a join
+over a foreign key relationship in the database.
+                    </p>
+<pre class="programlisting">
+SELECT pub FROM Publisher pub JOIN pub.magazines mag WHERE pub.revenue &gt; 1000000
+</pre>
+                    <p>
+The keyword <code class="literal">INNER</code> may optionally be used:
+                    </p>
+<pre class="programlisting">
+SELECT pub FROM Publisher pub INNER JOIN pub.magazines mag WHERE pub.revenue &gt; 1000000
+</pre>
+                    <p>
+This is equivalent to the following query using the earlier
+<code class="literal">IN</code> construct. It selects those publishers with revenue of
+over 1 million for which at least one magazine exists:
+                    </p>
+<pre class="programlisting">
+SELECT OBJECT(pub) FROM Publisher pub, IN(pub.magazines) mag WHERE pub.revenue &gt; 1000000
+</pre>
+                    <p>
+The query below joins over Employee, ContactInfo and Phone. ContactInfo is an
+embeddable class that consists of an address and set of phones. Phone is an entity.
+                    </p>
+<pre class="programlisting">
+SELECT p.vendor
+FROM Employee e JOIN e.contactInfo c JOIN c.phones p
+WHERE c.address.zipcode = '95054'
+</pre>
+                </div>
+                <div class="section" id="jpa_langref_outer_joins"><div class="titlepage"><div><div><h5 class="title">2.3.5.2.&nbsp;
+                        JPQL Outer Joins
+                    </h5></div></div></div>
+                    
+                    <p>
+<code class="literal">LEFT JOIN</code> and <code class="literal">LEFT OUTER JOIN</code> are
+synonymous. They enable the retrieval of a set of entities where matching values
+in the join condition may be absent. The syntax for a left outer join is:
+</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">LEFT [OUTER] JOIN join_association_path_expression [AS] identification_variable
+</li></ul></div><p>
+                    </p>
+                    <p>
+For example: </p><pre class="programlisting">SELECT pub FROM Publisher pub LEFT JOIN pub.magazines mag WHERE pub.revenue &gt; 1000000
+</pre><p> The keyword <code class="literal">OUTER</code> may optionally be used:
+</p><pre class="programlisting">SELECT pub FROM Publisher pub LEFT OUTER JOIN pub.magazines mags WHERE pub.revenue &gt; 1000000
+</pre><p> An important use case for <code class="literal">LEFT JOIN</code> is in
+enabling the prefetching of related data items as a side effect of a query. This
+is accomplished by specifying the <code class="literal">LEFT JOIN</code> as a <code class="literal">
+FETCH JOIN</code>.
+                    </p>
+                </div>
+                <div class="section" id="jpa_langref_fetch_joins"><div class="titlepage"><div><div><h5 class="title">2.3.5.3.&nbsp;
+                        JPQL Fetch Joins
+                    </h5></div></div></div>
+                    
+                    <p>
+A <code class="literal">FETCH JOIN</code> enables the fetching of an association as a side
+effect of the execution of a query. A <code class="literal">FETCH JOIN</code> is specified
+over an entity and its related entities. The syntax for a fetch join is
+</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>fetch_join ::= [ LEFT [OUTER] | INNER ] JOIN
+FETCH join_association_path_expression
+                                </p>
+                            </li></ul></div><p>
+                    </p>
+                    <p>
+The association referenced by the right side of the <code class="literal">FETCH JOIN
+</code> clause must be an association that belongs to an entity that is
+returned as a result of the query. It is not permitted to specify an
+identification variable for the entities referenced by the right side of the
+<code class="literal">FETCH JOIN</code> clause, and hence references to the implicitly
+fetched entities cannot appear elsewhere in the query.
+                    </p>
+                    <p>
+The following query
+returns a set of magazines. As a side effect, the associated articles for those
+magazines are also retrieved, even though they are not part of the explicit
+query result. The persistent fields or properties of the articles that are
+eagerly fetched are fully initialized. The initialization of the relationship
+properties of the <code class="literal">articles</code> that are retrieved is determined
+by the metadata for the <code class="literal">Article</code> entity class.
+</p><pre class="programlisting">SELECT mag FROM Magazine mag LEFT JOIN FETCH mag.articles WHERE mag.id = 1
+</pre><p>
+                    </p>
+                    <p>
+A fetch join has the same join semantics as the corresponding inner or outer
+join, except that the related objects specified on the right-hand side of the
+join operation are not returned in the query result or otherwise referenced in
+the query. Hence, for example, if magazine id 1 has five articles, the above
+query returns five references to the magazine 1 entity.
+                    </p>
+                    <p>
+The <code class="literal">FETCH JOIN</code> construct must not be used in the FROM clause of a subquery.
+                    </p>
+                </div>
+            </div>
+            <div class="section" id="jpa_langref_collection_dec"><div class="titlepage"><div><div><h4 class="title">2.3.6.&nbsp;
+                    JPQL Collection Member Declarations
+                </h4></div></div></div>
+                
+                <p>
+An identification variable declared by a <code class="literal">collection_member_declaration</code> ranges
+over values of a collection obtained by navigation using a path expression. Such
+a path expression represents a navigation involving the association-fields of an
+entity abstract schema type. Because a path expression can be based on another
+path expression, the navigation can use the association-fields of related
+entities.
+                </p>
+                <p>
+An identification variable of a collection member declaration is
+declared using a special operator, the reserved identifier <code class="literal">IN</code>
+. The argument to the <code class="literal">IN</code> operator is a collection-valued path
+expression. The path expression evaluates to a collection type specified as a
+result of navigation to a collection-valued association-field of an entity
+or embeddable class
+abstract schema type.
+                </p>
+                <p>
+The syntax for declaring a collection member
+identification variable is as follows:
+                </p>
+                <p>
+</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>collection_member_declaration ::= IN
+(collection_valued_path_expression) [AS] identification_variable
+                            </p>
+                        </li></ul></div><p>
+                </p>
+                <p>
+For example, the query </p><pre class="programlisting">SELECT DISTINCT mag FROM Magazine mag
+    JOIN mag.articles art
+    JOIN art.author auth
+    WHERE auth.lastName = 'Grisham'</pre><p> can equivalently be
+expressed as follows, using the <code class="literal">IN</code> operator: </p><pre class="programlisting">SELECT DISTINCT mag FROM Magazine mag,
+    IN(mag.articles) art
+    WHERE art.author.lastName = 'Grisham'</pre><p> In this example,
+<code class="literal">articles</code> is the name of an association-field whose value is a
+collection of instances of the abstract schema type <code class="literal">Article</code>.
+The identification variable <code class="literal">art</code> designates a member of this
+collection, a single <code class="literal">Article</code> abstract schema type instance.
+In this example, <code class="literal">mag</code> is an identification variable of the
+abstract schema type <code class="literal">Magazine</code>.
+                </p>
+            </div>
+            <div class="section" id="jpa_langref_from_clause_and_sql"><div class="titlepage"><div><div><h4 class="title">2.3.7.&nbsp;
+                    JPQL FROM Clause and SQL
+                </h4></div></div></div>
+                
+                <p>
+The Java Persistence query language treats the FROM clause similarly to SQL in that the declared identification
+variables affect the results of the query even if they are not used in the WHERE clause. Application
+developers should use caution in defining identification variables because the domain of the
+query can depend on whether there are any values of the declared type.
+                </p>
+                <p>
+For example, the <code class="literal">FROM</code> clause below defines a query over
+all orders that have line items and existing
+products. If there are no <code class="literal">Product</code> instances in the database,
+the domain of the query is empty and no
+order is selected.
+                </p>
+<pre class="programlisting">
+SELECT o
+FROM Order AS o JOIN o.lineItems l JOIN l.product p
+</pre>
+            </div>
+            <div class="section" id="jpa_langref_polymorph"><div class="titlepage"><div><div><h4 class="title">2.3.8.&nbsp;
+                    JPQL Polymorphism
+                </h4></div></div></div>
+                
+                <p>
+Java Persistence queries are automatically polymorphic. The <code class="literal">FROM
+</code> clause of a query designates not only instances of the specific
+entity classes to which explicitly refers but of subclasses as well. The
+instances returned by a query include instances of the subclasses that satisfy
+the query criteria.
+                </p>
+                <p>
+Non-polymorphic queries or queries whose polymorphism is restricted can be specified using entity
+type expressions in the <code class="literal">WHERE</code> clause to restrict the domain of the query.
+See <a class="xref" href="jpa_langref.html#jpa_langref_entity_type_expressions" title="2.6.4.&nbsp; Entity Type Expressions">Section&nbsp;2.6.4, &#8220;
+                    Entity Type Expressions
+                &#8221;</a>.
+                </p>
+            </div>
+        </div>
+        <div class="section" id="jpa_langref_where"><div class="titlepage"><div><div><h3 class="title">2.4.&nbsp;
+                JPQL WHERE Clause
+            </h3></div></div></div>
+            
+            <p>
+The <code class="literal">WHERE</code> clause of a query consists of a conditional
+expression used to select objects or values that satisfy the expression. The
+<code class="literal">WHERE</code> clause restricts the result of a select statement or
+the scope of an update or delete operation.
+            </p>
+            <p>
+A <code class="literal">WHERE</code> clause is
+defined as follows: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>where_clause ::= WHERE
+conditional_expression
+                        </p>
+                    </li></ul></div><p>
+            </p>
+            <p>
+The <code class="literal">GROUP BY</code> construct enables the aggregation of values
+according to the properties of an entity class. The <code class="literal">HAVING</code>
+construct enables conditions to be specified that further restrict the query
+result as restrictions upon the groups.
+            </p>
+            <p>
+The syntax of the <code class="literal">HAVING
+</code> clause is as follows: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>having_clause
+::= HAVING conditional_expression
+                        </p>
+                    </li></ul></div><p>
+            </p>
+            <p>
+The <code class="literal">GROUP BY</code> and <code class="literal">HAVING</code> constructs are
+further discussed in <a class="xref" href="jpa_langref.html#jpa_langref_group" title="2.7.&nbsp; JPQL GROUP BY, HAVING">Section&nbsp;2.7, &#8220;
+                JPQL GROUP BY, HAVING
+            &#8221;</a>.
+            </p>
+        </div>
+        <div class="section" id="jpa_langref_cond"><div class="titlepage"><div><div><h3 class="title">2.5.&nbsp;
+                JPQL Conditional Expressions
+            </h3></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="jpa_langref.html#jpa_langref_lit">2.5.1. 
+                    JPQL Literals
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_idvar">2.5.2. 
+                    JPQL Identification Variables
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_path_exp">2.5.3. 
+                    JPQL Path Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_input_params">2.5.4. 
+                    JPQL Input Parameters
+                </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_langref.html#jpa_langref_pos_params">2.5.4.1. 
+                        JPQL Positional Parameters
+                    </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_named_params">2.5.4.2. 
+                        JPQL Named Parameters
+                    </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_langref.html#jpa_langref_cond_comp">2.5.5. 
+                    JPQL Conditional Expression Composition
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_operators">2.5.6. 
+                    JPQL Operators and Operator Precedence
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_comparison_expressions">2.5.7. 
+                    JPQL Comparison Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_between">2.5.8. 
+                    JPQL Between Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_in_expressions">2.5.9. 
+                    JPQL In Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_like">2.5.10. 
+                    JPQL Like Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_null">2.5.11. 
+                    JPQL Null Comparison Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_empty_comp">2.5.12. 
+                    JPQL Empty Collection Comparison Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_collection_member">2.5.13. 
+                    JPQL Collection Member Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_exists">2.5.14. 
+                    JPQL Exists Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_all_any">2.5.15. 
+                    JPQL All or Any Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_subqueries">2.5.16. 
+                    JPQL Subqueries
+                </a></span></dt></dl></div>
+            
+            <p>
+The following sections describe the language constructs that can be used in a
+conditional expression of the <code class="literal">WHERE</code> clause or <code class="literal">
+HAVING</code> clause.
+            </p>
+            <p>
+State-fields that are mapped in serialized form or as
+LOBs may not be portably used in conditional expressions. </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p> The
+implementation is not expected to perform such query operations involving such
+fields in memory rather than in the database.
+                    </p>
+                </div><p>
+            </p>
+            <div class="section" id="jpa_langref_lit"><div class="titlepage"><div><div><h4 class="title">2.5.1.&nbsp;
+                    JPQL Literals
+                </h4></div></div></div>
+                
+                <p>
+A string literal is enclosed in single quotes--for example: 'literal'. A string
+literal that includes a single quote is represented by two single quotes--for
+example: 'literal''s'. String literals in queries, like Java String literals,
+use unicode character encoding. The use of Java escape notation is not supported
+in query string literals.
+            </p>
+            <p>
+Exact numeric literals support the use of Java integer
+literal syntax as well as SQL exact numeric literal syntax.
+            </p>
+            <p>
+Approximate literals
+support the use of Java floating point literal syntax as well as SQL approximate
+numeric literal syntax.
+            </p>
+            <p>
+Enum literals support the use of Java enum literal
+syntax. The enum class name must be specified.
+            </p>
+            <p>
+Appropriate suffixes can be used
+to indicate the specific type of a numeric literal in accordance with the Java
+Language Specification. The boolean literals are <code class="literal">TRUE</code> and
+<code class="literal">FALSE</code>. Although predefined reserved literals appear in upper
+case, they are case insensitive.
+            </p>
+            <p>
+The JDBC escape syntax may be used for the specification of date, time, and timestamp literals. For
+example:
+            </p>
+            <pre class="programlisting">
+SELECT o
+FROM Customer c JOIN c.orders o
+WHERE c.name = 'Smith'
+AND o.submissionDate &lt; {d '2008-12-31'}
+            </pre>
+            <p>
+Date, time, and timestamp literals are passed as is to the JDBC driver
+in use.
+            </p>
+            <p>
+Entity type literals are specified by entity names&#8212;for example: <code class="literal">Customer</code>.
+            </p>
+            <p>
+Although reserved literals appear in upper case, they are case insensitive.
+            </p>
+            </div>
+            <div class="section" id="jpa_langref_idvar"><div class="titlepage"><div><div><h4 class="title">2.5.2.&nbsp;
+                    JPQL Identification Variables
+                </h4></div></div></div>
+                
+                <p>
+All identification variables used in the <code class="literal">WHERE</code> or <code class="literal">
+HAVING</code> clause of a <code class="literal">SELECT</code> or <code class="literal">DELETE
+</code> statement must be declared in the <code class="literal">FROM</code> clause, as
+described in <a class="xref" href="jpa_langref.html#jpa_langref_from_vars" title="2.3.2.&nbsp; JPQL Identification Variables">Section&nbsp;2.3.2, &#8220;
+                    JPQL Identification Variables
+                &#8221;</a>. The identification
+variables used in the <code class="literal">WHERE</code> clause of an <code class="literal">UPDATE
+</code> statement must be declared in the <code class="literal">UPDATE</code> clause.
+                 </p>
+                 <p>
+Identification variables are existentially quantified in the <code class="literal">WHERE
+</code> and <code class="literal">HAVING</code> clause. This means that an
+identification variable represents a member of a collection or an instance of an
+entity's abstract schema type. An identification variable never designates a
+collection in its entirety.
+                </p>
+            </div>
+            <div class="section" id="jpa_langref_path_exp"><div class="titlepage"><div><div><h4 class="title">2.5.3.&nbsp;
+                    JPQL Path Expressions
+                </h4></div></div></div>
+                
+                <p>
+It is illegal to use a <code class="literal">collection_valued_path_expression</code> within a <code class="literal">
+WHERE</code> or <code class="literal">HAVING</code> clause as part of a conditional
+expression except in an <code class="literal">empty_collection_comparison_expression</code>, in a
+<code class="literal">collection_member_expression</code>, or as an argument to the <code class="literal">SIZE</code>
+operator.
+                </p>
+            </div>
+            <div class="section" id="jpa_langref_input_params"><div class="titlepage"><div><div><h4 class="title">2.5.4.&nbsp;
+                    JPQL Input Parameters
+                </h4></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="jpa_langref.html#jpa_langref_pos_params">2.5.4.1. 
+                        JPQL Positional Parameters
+                    </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_named_params">2.5.4.2. 
+                        JPQL Named Parameters
+                    </a></span></dt></dl></div>
+                
+                <p>
+Either positional or named parameters may be used. Positional and named
+parameters may not be mixed in a single query.
+                </p>
+                <p>
+Input parameters can only be used
+in the <code class="literal">WHERE</code> clause or <code class="literal">HAVING</code> clause of a
+query.
+                </p>
+                <p>
+Note that if an input parameter value is null, comparison operations or
+arithmetic operations involving the input parameter will return an unknown
+value. See <a class="xref" href="jpa_langref.html#jpa_langref_null_values" title="2.11.&nbsp; JPQL Null Values">Section&nbsp;2.11, &#8220;
+                JPQL Null Values
+            &#8221;</a>.
+                </p>
+                <p>
+All input parameters must be single-valued, except in IN expressions (see
+<a class="xref" href="jpa_langref.html#jpa_langref_in_expressions" title="2.5.9.&nbsp; JPQL In Expressions">Section&nbsp;2.5.9, &#8220;
+                    JPQL In Expressions
+                &#8221;</a> ), which support the use of collection-valued
+input parameters.
+                </p>
+                <div class="section" id="jpa_langref_pos_params"><div class="titlepage"><div><div><h5 class="title">2.5.4.1.&nbsp;
+                        JPQL Positional Parameters
+                    </h5></div></div></div>
+                    
+                    <p>
+The following rules apply to positional parameters. </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+<p> Input parameters are designated by the question mark (?) prefix followed
+by an integer. For example: ?1.
+                                </p>
+                            </li><li class="listitem">
+                                <p>
+Input parameters are numbered starting from 1.
+                                </p>
+                            </li><li class="listitem">
+                                <p>
+The same parameter can
+be used more than once in the query string.
+                                </p>
+                            </li><li class="listitem">
+                                <p>
+The ordering of the use of
+parameters within the query string need not conform to the order of the
+positional parameters.
+                                </p>
+                            </li></ul></div><p>
+                    </p>
+                </div>
+                <div class="section" id="jpa_langref_named_params"><div class="titlepage"><div><div><h5 class="title">2.5.4.2.&nbsp;
+                        JPQL Named Parameters
+                    </h5></div></div></div>
+                    
+                    <p>
+A named parameter is an identifier that is prefixed by the ":" symbol. It
+follows the rules for identifiers defined in
+<a class="xref" href="jpa_langref.html#jpa_langref_from_identifiers" title="2.3.1.&nbsp; JPQL FROM Identifiers">Section&nbsp;2.3.1, &#8220;
+                    JPQL FROM Identifiers
+                &#8221;</a>. Named parameters are case
+sensitive.
+                    </p>
+                    <p>
+Example: </p><pre class="programlisting">SELECT pub FROM Publisher pub WHERE pub.revenue &gt; :rev
+</pre><p>
+                    </p>
+                    <p>
+The same named parameter can be used more than once in the query string.
+                    </p>
+                </div>
+            </div>
+            <div class="section" id="jpa_langref_cond_comp"><div class="titlepage"><div><div><h4 class="title">2.5.5.&nbsp;
+                    JPQL Conditional Expression Composition
+                </h4></div></div></div>
+                
+                <p>
+Conditional expressions are composed of other conditional expressions,
+comparison operations, logical operations, path expressions that evaluate to
+boolean values, boolean literals, and boolean input parameters.
+                </p>
+                <p>
+The scalar expressions described in <a class="xref" href="jpa_langref.html#jpa_langref_scalar_expressions" title="2.6.&nbsp; JPQL Scalar Expressions">Section&nbsp;2.6, &#8220;
+                    JPQL Scalar Expressions
+                &#8221;</a>
+  can be used in conditional expressions.
+                </p>
+                <p>
+Standard bracketing ()
+for ordering expression evaluation is supported.
+                </p>
+                <p>
+Aggregate functions can only be used in conditional expressions in a <code class="literal">
+HAVING</code> clause. See <a class="xref" href="jpa_langref.html#jpa_langref_group" title="2.7.&nbsp; JPQL GROUP BY, HAVING">Section&nbsp;2.7, &#8220;
+                JPQL GROUP BY, HAVING
+            &#8221;</a>.
+                </p>
+                <p>
+Conditional expressions are
+defined as follows:
+                </p>
+                <p>
+</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>conditional_expression ::= conditional_term |
+conditional_expression OR conditional_term
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+conditional_term ::= conditional_factor | conditional_term AND
+conditional_factor
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+conditional_factor ::= [ NOT ] conditional_primary
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+conditional_primary ::= simple_cond_expression | (conditional_expression)
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+simple_cond_expression ::= comparison_expression | between_expression |
+like_expression | in_expression | null_comparison_expression |
+empty_collection_comparison_expression | collection_member_expression |
+exists_expression
+                            </p>
+                        </li></ul></div><p>
+                </p>
+            </div>
+            <div class="section" id="jpa_langref_operators"><div class="titlepage"><div><div><h4 class="title">2.5.6.&nbsp;
+                    JPQL Operators and Operator Precedence
+                </h4></div></div></div>
+                
+                <p>
+The operators are listed below in order of decreasing precedence. </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p> Navigation operator (.)
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+Arithmetic operators: +, - unary *, / multiplication and division +, - addition
+and subtraction
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+Comparison operators: =, &gt;, &gt;=, &lt;, &lt;=, &lt;&gt; (not equal), [
+<code class="literal">NOT</code> ] <code class="literal">BETWEEN</code>, [ <code class="literal">NOT</code> ]
+<code class="literal">LIKE</code>, [ <code class="literal">NOT</code> ] <code class="literal">IN</code>,
+<code class="literal">IS</code> [ <code class="literal">NOT</code> ] <code class="literal">NULL</code>,
+<code class="literal">IS</code> [ <code class="literal">NOT</code> ] <code class="literal">EMPTY</code>, [
+<code class="literal">NOT</code> ] <code class="literal">MEMBER</code> [ <code class="literal">OF</code> ]
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+Logical operators: <code class="literal">NOT</code>, <code class="literal">AND</code>,
+<code class="literal">OR</code>
+                            </p>
+                        </li></ul></div><p>
+
+
+      The following sections describe other operators used in specific expressions.
+
+                </p>
+            </div>
+            <div class="section" id="jpa_langref_comparison_expressions"><div class="titlepage"><div><div><h4 class="title">2.5.7.&nbsp;
+                    JPQL Comparison Expressions
+                </h4></div></div></div>
+                
+                <p>
+The syntax for the use of comparison expressions in a conditional expression is as follows:
+                </p>
+                <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                  <p>
+comparison_expression ::=
+string_expression comparison_operator {string_expression | all_or_any_expression} |
+boolean_expression { =|&lt;&gt; } {boolean_expression | all_or_any_expression} |
+enum_expression { =|&lt;&gt; } {enum_expression | all_or_any_expression} |
+datetime_expression comparison_operator
+{datetime_expression | all_or_any_expression} |
+entity_expression { = | &lt;&gt; } {entity_expression | all_or_any_expression} |
+arithmetic_expression comparison_operator
+{arithmetic_expression | all_or_any_expression} |
+entity_type_expression { = | &lt;&gt; } entity_type_expression}
+                  </p>
+                </li><li class="listitem">
+                  <p>
+comparison_operator ::= = | &gt; | &gt;= | &lt; | &lt;= | &lt;&gt;
+                  </p>
+                </li></ul></div>
+                <p>
+Examples:
+                </p>
+<pre class="programlisting">
+item.cost * 1.08 &lt;= 100.00
+</pre>
+<pre class="programlisting">
+CONCAT(person.lastName, &#8216;, &#8217;, person.firstName)) = &#8216;Jones, Sam&#8217;
+</pre>
+<pre class="programlisting">
+TYPE(e) = ExemptEmployee
+</pre>
+<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3>
+Comparisons over instances of embeddable class types are not supported.
+</div>
+                </div>
+            <div class="section" id="jpa_langref_between"><div class="titlepage"><div><div><h4 class="title">2.5.8.&nbsp;
+                    JPQL Between Expressions
+                </h4></div></div></div>
+                
+                <p>
+The syntax for the use of the comparison operator [ <code class="literal">NOT</code> ]
+<code class="literal">BETWEEN</code> in a conditional expression is as follows:
+                </p>
+                <p>
+arithmetic_expression [NOT] BETWEEN arithmetic_expression AND
+arithmetic_expression | string_expression [NOT] BETWEEN string_expression AND
+string_expression | datetime_expression [NOT] BETWEEN datetime_expression AND
+datetime_expression
+                </p>
+                <p>
+The BETWEEN expression </p><pre class="programlisting">x BETWEEN y AND z</pre><p> is
+semantically equivalent to: </p><pre class="programlisting">y &lt;= x AND x &lt;= z
+</pre><p> The rules for unknown and <code class="literal">NULL</code> values in
+comparison operations apply. See <a class="xref" href="jpa_langref.html#jpa_langref_null_values" title="2.11.&nbsp; JPQL Null Values">Section&nbsp;2.11, &#8220;
+                JPQL Null Values
+            &#8221;</a>
+.
+                 </p>
+                 <p>
+Examples are: </p><pre class="programlisting">p.age BETWEEN 15 and 19</pre><p> is
+equivalent to: </p><pre class="programlisting">p.age &gt;= 15 AND p.age &lt;= 19</pre><p>
+                </p>
+                <p>
+The following expression:
+</p><pre class="programlisting">p.age NOT BETWEEN 15 and 19</pre><p> excludes the range, and is equivalent to:
+</p><pre class="programlisting">p.age &lt; 15 OR p.age &gt; 19</pre><p>
+                </p>
+                <p>
+In the following example, <code class="literal">transactionHistory</code> is a list of credit card
+transactions defined using an order column.
+                </p>
+<pre class="programlisting">
+SELECT t
+FROM CreditCard c JOIN c.transactionHistory t
+WHERE c.holder.name = &#8216;John Doe&#8217; AND INDEX(t) BETWEEN 0 AND 9
+</pre>
+            </div>
+            <div class="section" id="jpa_langref_in_expressions"><div class="titlepage"><div><div><h4 class="title">2.5.9.&nbsp;
+                    JPQL In Expressions
+                </h4></div></div></div>
+                
+                <p>
+The syntax for the use of the comparison operator [ <code class="literal">NOT</code> ]
+<code class="literal">IN</code> in a conditional expression is as follows:
+                </p>
+                <p>
+</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>in_expression ::= state_field_path_expression
+[NOT] IN {( in_item {, in_item}* ) | (subquery) | collection_valued_input_parameter }
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+in_item ::= literal | single_valued_input_parameter
+                            </p>
+                        </li></ul></div><p>
+                </p>
+                <p>
+The <code class="literal">state_field_path_expression</code> must have a string, numeric,
+date, time, timestamp, or enum value.
+                </p>
+                <p>
+ The literal and/or input_parameter values must be <code class="literal">like</code>
+ the same abstract schema type
+of the <code class="literal">state_field_path_expression</code> in type. (See
+<a class="xref" href="jpa_langref.html#jpa_langref_equality" title="2.12.&nbsp; JPQL Equality and Comparison Semantics">Section&nbsp;2.12, &#8220;
+                JPQL Equality and Comparison Semantics
+            &#8221;</a> ).
+                </p>
+                <p>
+The results of the subquery must be <code class="literal">like</code> the same abstract schema type of the
+<code class="literal">state_field_path_expression</code> in type. Subqueries are discussed in
+<a class="xref" href="jpa_langref.html#jpa_langref_subqueries" title="2.5.16.&nbsp; JPQL Subqueries">Section&nbsp;2.5.16, &#8220;
+                    JPQL Subqueries
+                &#8221;</a>.
+                </p>
+                <p>
+Examples:
+                </p>
+<pre class="programlisting">o.country IN ('UK', 'US', 'France')
+</pre> is true for UK and false for Peru, and is equivalent to the
+expression: <pre class="programlisting">(o.country = 'UK') OR (o.country = 'US') OR (o.country = ' France')
+</pre> In the following expression: <pre class="programlisting">o.country NOT IN ('UK', 'US', 'France')
+</pre> is false for UK and true for Peru, and is equivalent to the
+expression: <pre class="programlisting">NOT ((o.country = 'UK') OR (o.country = 'US') OR (o.country = 'France'))
+</pre>
+                <p>
+There must be at least one element in the comma separated list
+that defines the set of values for the <code class="literal">IN</code> expression.
+                </p>
+                <p>
+If the
+value of a <code class="literal">state_field_path_expression</code> or <code class="literal">in_item</code>
+ in an <code class="literal">IN</code> or <code class="literal">
+NOT IN</code> expression is <code class="literal">NULL</code> or unknown, the value of
+the expression is unknown.
+                </p>
+                <p>
+Note that use of a collection-valued input parameter will mean that a static query cannot
+be precompiled.
+                </p>
+            </div>
+            <div class="section" id="jpa_langref_like"><div class="titlepage"><div><div><h4 class="title">2.5.10.&nbsp;
+                    JPQL Like Expressions
+                </h4></div></div></div>
+                
+                <p>
+The syntax for the use of the comparison operator [ <code class="literal">NOT</code> ]
+<code class="literal">LIKE</code> in a conditional expression is as follows:
+                </p>
+                <p>
+like_expression ::=
+string_expression [NOT] LIKE <code class="literal">pattern_value</code> [ESCAPE <code class="literal">escape_character</code>]
+                </p>
+                <p>
+The <code class="literal">string_expression</code> must have a string value.
+The <code class="literal">pattern_value</code> is a string
+literal or a string-valued input parameter in which an underscore (_) stands for
+any single character, a percent (%) character stands for any sequence of
+characters (including the empty sequence), and all other characters stand for
+themselves. The optional escape_character is a single-character string literal
+or a character-valued input parameter (i.e., char or Character) and is used to
+escape the special meaning of the underscore and percent characters in
+pattern_value. </p>
+               <p>
+Examples:
+                </p>
+                <p>
+</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><pre class="programlisting">address.phone LIKE '12%3'
+</pre><p> is true for '123' '12993' and false for '1234'
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+</p><pre class="programlisting">asentence.word LIKE 'l_se'</pre><p> is true for 'lose'
+and false for 'loose'
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+</p><pre class="programlisting">aword.underscored LIKE '\_%' ESCAPE '\'</pre><p> is true
+for '_foo' and false for 'bar'
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+</p><pre class="programlisting">address.phone NOT LIKE '12%3'</pre><p> is false for
+'123' and '12993' and true for '1234'.
+                            </p>
+                        </li></ul></div><p>
+                </p>
+                <p>
+If the value of the <code class="literal">string_expression</code> or
+<code class="literal">pattern_value</code> is <code class="literal">NULL</code> or unknown, the value of the <code class="literal">
+LIKE</code> expression is unknown. If the <code class="literal">escape_character</code> is specified and
+is <code class="literal">NULL</code>, the value of the <code class="literal">LIKE</code> expression
+is unknown.
+                </p>
+            </div>
+            <div class="section" id="jpa_langref_null"><div class="titlepage"><div><div><h4 class="title">2.5.11.&nbsp;
+                    JPQL Null Comparison Expressions
+                </h4></div></div></div>
+                
+                <p>
+The syntax for the use of the comparison operator <code class="literal">IS NULL</code> in
+a conditional expression is as follows:
+                </p>
+                <p>
+null_comparison_expression ::= {single_valued_path_expression | input_parameter } IS [NOT] NULL
+                </p>
+                <p>
+A null comparison expression tests whether or not the single-valued path
+expression or input parameter is a <code class="literal">NULL</code> value.
+                </p>
+                <p>
+Null comparisons over instances of embeddable class types are not supported.
+                </p>
+            </div>
+            <div class="section" id="jpa_langref_empty_comp"><div class="titlepage"><div><div><h4 class="title">2.5.12.&nbsp;
+                    JPQL Empty Collection Comparison Expressions
+                </h4></div></div></div>
+                
+                <p>
+The syntax for the use of the comparison operator <code class="literal">IS EMPTY</code> in
+an <code class="literal">empty_collection_comparison_expression</code> is as follows:
+                </p>
+                <p>
+empty_collection_comparison_expression ::=
+    collection_valued_path_expression IS [NOT] EMPTY
+                </p>
+                <p>
+This expression tests whether or not the collection designated by the
+collection-valued path expression is empty (i.e. has no elements).
+                </p>
+                <p>
+For example, the following query will return all magazines that don't have any
+articles at all: </p><pre class="programlisting">SELECT mag FROM Magazine mag WHERE mag.articles IS EMPTY
+</pre><p>
+                 </p>
+                 <p>
+If the value of the collection-valued path expression in an
+empty collection comparison expression is unknown, the value of the empty
+comparison expression is unknown.
+                </p>
+            </div>
+            <div class="section" id="jpa_langref_collection_member"><div class="titlepage"><div><div><h4 class="title">2.5.13.&nbsp;
+                    JPQL Collection Member Expressions
+                </h4></div></div></div>
+                
+                <p>
+The syntax for the use of the comparison operator <code class="literal">MEMBER OF</code>
+in an <code class="literal">collection_member_expression</code> is as follows:
+                    </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                            <p>
+collection_member_expression ::= entity_or_value_expression [NOT] MEMBER [OF]
+collection_valued_path_expression
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+entity_or_value_expression ::= single_valued_object_path_expression |
+state_field_path_expression |
+simple_entity_or_value_expression
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+simple_entity_or_value_expression ::=
+    identification_variable |
+    input_parameter |
+    literal
+                            </p>
+                        </li></ul></div><p>
+                </p>
+                <p>
+This expression tests whether the designated value is a member of the collection
+specified by the collection-valued path expression.
+                </p>
+                <p>
+                </p>
+Expressions that evaluate to embeddable types are not supported in collection member expressions.
+                <p>
+If the collection valued
+path expression designates an empty collection, the value of the <code class="literal">
+MEMBER OF</code> expression is <code class="literal">FALSE</code> and the value of the
+<code class="literal">NOT MEMBER OF</code> expression is <code class="literal">TRUE</code>.
+Otherwise, if the value of the <code class="literal">collection_valued_path_expression</code> or
+<code class="literal">entity_or_value_expression</code> in the collection member
+expression is <code class="literal">NULL</code> or unknown, the value of the collection
+member expression is unknown.
+                </p>
+                <p>
+The use of the reserved word OF is optional in this expression.
+                </p>
+                <p>
+Example:
+                </p>
+                <pre class="programlisting">
+SELECT p
+FROM Person p
+WHERE 'Joe' MEMBER OF p.nicknames
+                </pre>
+            </div>
+            <div class="section" id="jpa_langref_exists"><div class="titlepage"><div><div><h4 class="title">2.5.14.&nbsp;
+                    JPQL Exists Expressions
+                </h4></div></div></div>
+                
+                <p>
+An <code class="literal">EXISTS</code> expression is a predicate that is true only if the
+result of the subquery consists of one or more values and that is false
+otherwise. The syntax of an exists expression is </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
+exists_expression ::= [NOT] EXISTS (subquery)
+                            </p>
+                        </li></ul></div><p>
+                </p>
+                <p>
+Example: </p><pre class="programlisting">SELECT DISTINCT auth FROM Author auth
+    WHERE EXISTS
+        (SELECT spouseAuthor FROM Author spouseAuthor WHERE spouseAuthor = auth.spouse)
+</pre><p> The result of this query consists of all authors whose spouse
+is also an author.
+                </p>
+            </div>
+            <div class="section" id="jpa_langref_all_any"><div class="titlepage"><div><div><h4 class="title">2.5.15.&nbsp;
+                    JPQL All or Any Expressions
+                </h4></div></div></div>
+                
+                <p>
+An <code class="literal">ALL</code> conditional expression is a predicate
+over a subquery that is true if the comparison operation is
+true for all values in the result of the subquery or the result of the subquery is empty.
+An <code class="literal">ALL</code> conditional
+expression is false if the result of the comparison is false for at least one
+value of the result of the subquery,
+and is unknown if neither true nor false.
+                 </p>
+                 <p>
+An <code class="literal">ANY</code>
+conditional expression is a predicate over a subquery that is true if the comparison operation
+is true for some value in the result of the subquery. An <code class="literal">ANY</code>
+conditional expression is false if the result of the subquery is empty or if the
+comparison operation is false for every value in the result of the subquery, and
+is unknown if neither true nor false. The keyword <code class="literal">SOME</code> is
+synonymous with <code class="literal">ANY</code>.
+                  </p>
+                  <p>
+The comparison operators used with
+<code class="literal">ALL</code> or <code class="literal">ANY</code> conditional expressions are =,
+&lt;, &lt;=, &gt;, &gt;=, &lt;&gt;. The result of the subquery must be like that
+of the other argument to the comparison operator in type. See
+<a class="xref" href="jpa_langref.html#jpa_langref_equality" title="2.12.&nbsp; JPQL Equality and Comparison Semantics">Section&nbsp;2.12, &#8220;
+                JPQL Equality and Comparison Semantics
+            &#8221;</a>. The syntax of an <code class="literal">ALL
+</code> or <code class="literal">ANY</code> expression is specified as follows:
+</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>all_or_any_expression ::= { ALL | ANY | SOME}
+(subquery)
+                            </p>
+                        </li></ul></div><p>
+                </p>
+                <p>
+The following example select the authors who make the highest salary for their
+magazine: </p><pre class="programlisting">SELECT auth FROM Author auth
+    WHERE auth.salary &gt;= ALL(SELECT a.salary FROM Author a WHERE a.magazine = auth.magazine)
+</pre><p>
+                </p>
+            </div>
+            <div class="section" id="jpa_langref_subqueries"><div class="titlepage"><div><div><h4 class="title">2.5.16.&nbsp;
+                    JPQL Subqueries
+                </h4></div></div></div>
+                
+                <p>
+Subqueries may be used in the <code class="literal">WHERE</code> or <code class="literal">HAVING
+</code> clause. The syntax for subqueries is as follows:
+                </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                        <p>
+subquery ::= simple_select_clause subquery_from_clause
+[where_clause] [groupby_clause] [having_clause]
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+simple_select_clause ::= SELECT [DISTINCT]
+simple_select_expression
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+subquery_from_clause ::= FROM subselect_identification_variable_declaration {,
+subselect_identification_variable_declaration |
+collection_member_declaration }*
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+subselect_identification_variable_declaration ::=
+identification_variable_declaration | derived_path_expression [AS]
+identification_variable {join}* | derived_collection_member_declaration
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+simple_select_expression ::= single_valued_path_expression |
+scalar_expression |
+aggregate_expression | identification_variable
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+derived_path_expression ::=
+superquery_identification_variable.{single_valued_object_field.}*collection_valued_field |
+superquery_identification_variable.{single_valued_object_field.}*single_valued_object_field
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+derived_collection_member_declaration ::=
+IN superquery_identification_variable.{single_valued_object_field.}*collection_valued_field
+                        </p>
+                    </li></ul></div>
+                <p>
+Subqueries are restricted to the <code class="literal">WHERE</code> and <code class="literal">HAVING
+</code> clauses in this release. Support for subqueries in the <code class="literal">FROM
+</code> clause will be considered in a later release of the specification.
+                </p>
+                <p>
+Examples: </p><pre class="programlisting">SELECT DISTINCT auth FROM Author auth
+    WHERE EXISTS (SELECT spouseAuth FROM Author spouseAuth WHERE spouseAuth = auth.spouse)
+</pre><pre class="programlisting">SELECT mag FROM Magazine mag
+    WHERE (SELECT COUNT(art) FROM mag.articles art) &gt; 10</pre><p>
+Note that some contexts in which a subquery can be used require that the
+subquery be a scalar subquery (i.e., produce a single result). This is
+illustrated in the following example involving a numeric comparison operation.
+</p><pre class="programlisting">SELECT goodPublisher FROM Publisher goodPublisher
+    WHERE goodPublisher.revenue &lt; (SELECT AVG(p.revenue) FROM Publisher p)
+</pre><p>
+</p><pre class="programlisting">
+SELECT goodCustomer
+FROM Customer goodCustomer
+WHERE goodCustomer.balanceOwed &lt; (
+SELECT AVG(c.balanceOwed)/2.0 FROM Customer c)
+</pre><p>
+                </p>
+            </div>
+        </div>
+        <div class="section" id="jpa_langref_scalar_expressions"><div class="titlepage"><div><div><h3 class="title">2.6.&nbsp;
+                    JPQL Scalar Expressions
+                </h3></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="jpa_langref.html#jpa_langref_math_expressions">2.6.1. 
+                    Arithmetic Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_functional_expressions">2.6.2. 
+                    String, Arithmetic, and Datetime Functional Expressions
+                </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_langref.html#jpa_langref_string_fun">2.6.2.1. 
+                        JPQL String Functions
+                    </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_arithmetic">2.6.2.2. 
+                        JPQL Arithmetic Functions
+                    </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_datetime">2.6.2.3. 
+                        JPQL Datetime Functions
+                    </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_langref.html#jpa_langref_case_expressions">2.6.3. 
+                    Case Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_entity_type_expressions">2.6.4. 
+                    Entity Type Expressions
+                </a></span></dt></dl></div>
+                
+                <p>
+Numeric, string, datetime, case, and entity type expressions result in scalar values.
+                </p>
+                <p>
+Scalar expressions may be used in the <code class="literal">SELECT</code> clause of a query as well as in the
+ <code class="literal">WHERE</code> and <code class="literal">HAVING</code> clauses.
+                </p>
+                <p>
+scalar_expression::=
+arithmetic_expression |
+string_primary |
+enum_primary |
+datetime_primary |
+boolean_primary |
+case_expression |
+entity_type_expression
+                </p>
+            <div class="section" id="jpa_langref_math_expressions"><div class="titlepage"><div><div><h4 class="title">2.6.1.&nbsp;
+                    Arithmetic Expressions
+                </h4></div></div></div>
+                
+                <p>
+The arithmetic operators are:
+</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">+, - unary</li><li class="listitem">*, / multiplication and division</li><li class="listitem">+, - addition and subtraction</li></ul></div><p>
+                </p><p>
+Arithmetic operations use numeric promotion.
+                </p><p>
+                </p><p>
+Arithmetic functions are described in  <a class="xref" href="jpa_langref.html#jpa_langref_arithmetic" title="2.6.2.2.&nbsp; JPQL Arithmetic Functions">Section&nbsp;2.6.2.2, &#8220;
+                        JPQL Arithmetic Functions
+                    &#8221;</a>.
+                </p><p>
+                </p>
+            </div>
+            <div class="section" id="jpa_langref_functional_expressions"><div class="titlepage"><div><div><h4 class="title">2.6.2.&nbsp;
+                    String, Arithmetic, and Datetime Functional Expressions
+                </h4></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="jpa_langref.html#jpa_langref_string_fun">2.6.2.1. 
+                        JPQL String Functions
+                    </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_arithmetic">2.6.2.2. 
+                        JPQL Arithmetic Functions
+                    </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_datetime">2.6.2.3. 
+                        JPQL Datetime Functions
+                    </a></span></dt></dl></div>
+                
+                <p>
+JPQL includes the built-in functions described in subsections
+<a class="xref" href="jpa_langref.html#jpa_langref_string_fun" title="2.6.2.1.&nbsp; JPQL String Functions">Section&nbsp;2.6.2.1, &#8220;
+                        JPQL String Functions
+                    &#8221;</a>,
+<a class="xref" href="jpa_langref.html#jpa_langref_arithmetic" title="2.6.2.2.&nbsp; JPQL Arithmetic Functions">Section&nbsp;2.6.2.2, &#8220;
+                        JPQL Arithmetic Functions
+                    &#8221;</a>,
+<a class="xref" href="jpa_langref.html#jpa_langref_datetime" title="2.6.2.3.&nbsp; JPQL Datetime Functions">Section&nbsp;2.6.2.3, &#8220;
+                        JPQL Datetime Functions
+                    &#8221;</a>,
+which may be used in the <code class="literal">SELECT</code>,
+<code class="literal">WHERE</code>
+or <code class="literal">HAVING</code> clause of a query.
+                 </p><p>
+                 </p><p>
+If the
+value of any argument to a functional expression is null or unknown, the value
+of the functional expression is unknown.
+                </p>
+                <div class="section" id="jpa_langref_string_fun"><div class="titlepage"><div><div><h5 class="title">2.6.2.1.&nbsp;
+                        JPQL String Functions
+                    </h5></div></div></div>
+                    
+                    <p>
+</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>functions_returning_strings ::=
+CONCAT(string_primary, string_primary) | SUBSTRING(string_primary,
+simple_arithmetic_expression[, simple_arithmetic_expression]) |
+TRIM([[trim_specification] [trim_character] FROM] string_primary) |
+LOWER(string_primary) | UPPER(string_primary)
+                                </p>
+                            </li><li class="listitem">
+                                <p>
+trim_specification ::= LEADING | TRAILING | BOTH
+                                </p>
+                            </li><li class="listitem">
+                                <p>
+functions_returning_numerics ::= LENGTH(string_primary) |
+LOCATE(string_primary, string_primary[, simple_arithmetic_expression])
+                                </p>
+                            </li></ul></div><p>
+                    </p>
+                    <p>
+The <code class="literal">CONCAT</code> function returns a string that is a concatenation
+of its arguments.
+                    </p>
+                    <p>
+ The second and third arguments of the <code class="literal">SUBSTRING
+</code> function denote the starting position and length of the substring to
+be returned. These arguments are integers.
+The third argument is optional. If it is not specified,
+the substring from the start position to the end of the string is returned.
+ The first position of a string is
+denoted by 1. The <code class="literal">SUBSTRING</code> function returns a string.
+                    </p>
+                    <p>
+The
+<code class="literal">TRIM</code> function trims the specified character from a string. If
+the character to be trimmed is not specified, it is assumed to be space (or
+blank). The optional trim_character is a single-character string literal or a
+character-valued input parameter (i.e., char or Character). If a trim
+specification is not provided, <code class="literal">BOTH</code> is assumed. The <code class="literal">
+TRIM</code> function returns the trimmed string.
+                     </p>
+                     <p>
+ The <code class="literal">LOWER</code>
+and <code class="literal">UPPER</code> functions convert a string to lower and upper case,
+respectively. They return a string.
+                     </p>
+                     <p>
+The <code class="literal">LOCATE</code> function
+returns the position of a given string within a string, starting the search at a
+specified position. It returns the first position at which the string was found
+as an integer. The first argument is the string to be located; the second
+argument is the string to be searched; the optional third argument is an integer
+that represents the string position at which the search is started (by default,
+the beginning of the string to be searched). The first position in a string is
+denoted by 1. If the string is not found, 0 is returned.
+                     </p>
+                    <p>
+Note that not all databases support the use of a trim character other than the
+space character; use of this argument may result in queries that are not
+portable. Note that not all databases support the use of the third argument to
+<code class="literal">LOCATE</code>; use of this argument may result in queries that are
+not portable.
+                    </p>
+                     <p>
+The <code class="literal">LENGTH
+</code> function returns the length of the string in characters as an
+integer.
+                    </p>
+                </div>
+                <div class="section" id="jpa_langref_arithmetic"><div class="titlepage"><div><div><h5 class="title">2.6.2.2.&nbsp;
+                        JPQL Arithmetic Functions
+                    </h5></div></div></div>
+                    
+                    <p>
+</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>functions_returning_numerics ::=
+ABS(simple_arithmetic_expression) |
+CEILING(arithmetic_expression) |
+EXP(arithmetic_expression) |
+FLOOR(arithmetic_expression) |
+LN(arithmetic_expression) |
+POWER(arithmetic_expression, arithmetic_expression) |
+ROUND(arithmetic_expression, arithmetic_expression) |
+SIGN(arithmetic_expression) |
+SQRT(simple_arithmetic_expression) |
+MOD(simple_arithmetic_expression, simple_arithmetic_expression) |
+SIZE(collection_valued_path_expression) |
+INDEX(identification_variable) |
+extract_datetime_field
+                                </p>
+                            </li></ul></div><p>
+                    </p>
+                    <p>
+The <code class="literal">ABS</code>, <code class="literal">CEILING</code> and <code class="literal">FLOOR</code> functions 
+accept a numeric argument and return a number (integer, float, or double) of the same type as 
+the argument.
+                    </p>
+                    <p>
+The <code class="literal">SIGN</code> function accepts a numeric argument and
+returns an integer.
+                    </p>
+                    <p>
+The <code class="literal">SQRT</code>, <code class="literal">EXP</code> and <code class="literal">LN</code> functions accept 
+a numeric argument and return a double.
+                    </p>
+                    <p>
+The <code class="literal">MOD</code> function takes two integer arguments and returns an integer.
+                    </p>
+                    <p>
+The <code class="literal">ROUND</code> function accepts a numeric argument and an integer argument and 
+returns a number of the same type as the first argument.
+                    </p>
+                    <p>
+The <code class="literal">POWER</code> function accepts two numeric arguments and returns a double.
+                    </p>
+                    <p>
+Numeric arguments to these functions may correspond to the numeric Java object types as well
+as the primitive numeric types.
+                    </p>
+                    <p>
+The <code class="literal">SIZE</code> function returns an integer value, the
+number of elements of the collection. If the collection is empty, the <code class="literal">
+SIZE</code> function evaluates to zero. Numeric arguments to these functions
+may correspond to the numeric Java object types as well as the primitive numeric
+types.
+                    </p>
+                    <p>
+The INDEX function returns an integer value corresponding to the position of its argument in an
+ordered list. The INDEX function can only be applied to identification variables denoting types for
+which an order column has been specified.
+                    </p>
+                </div>
+                <div class="section" id="jpa_langref_datetime"><div class="titlepage"><div><div><h5 class="title">2.6.2.3.&nbsp;
+                        JPQL Datetime Functions
+                    </h5></div></div></div>
+                    
+                    <p>
+functions_returning_datetime:= CURRENT_DATE | CURRENT_TIME | CURRENT_TIMESTAMP | LOCAL DATE 
+| LOCAL TIME | LOCAL DATETIME | extract_datetime_part
+                    </p>
+                    <p>
+The functions LOCAL DATE, LOCAL TIME, and LOCAL DATETIME return the value of the current date, time, 
+or timestamp on the database server, respectively. Their types are java.time.LocalDate, 
+java.time.LocalTime, and java.time.LocalDateTime respectively.
+                    </p>
+                    <p>
+The functions CURRENT_DATE, CURRENT_TIME, and CURRENT_TIMESTAMP return the value of the current date, 
+time, or timestamp on the database server, respectively. Their types are java.sql.Date, java.sql.Time, 
+and java.sql.Timestamp respectively.
+                    </p>
+                    <p>
+The EXTRACT function takes a datetime argument and one of the following field type identifiers: YEAR, 
+QUARTER, MONTH, WEEK, DAY, HOUR, MINUTE, SECOND, DATE, TIME.
+                    </p>
+                    <p>
+EXTRACT returns the value of the corresponding field or part of the datetime.
+                    </p>
+                    <p>
+For the following field type identifiers, EXTRACT returns an integer value:
+                    </p>
+                <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                        <p>
+<code class="literal">YEAR</code> means the calendar year.
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">QUARTER</code> means the calendar quarter, numbered from 1 to 4.
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">MONTH</code> means the calendar month of the year, numbered from 1.
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">WEEK</code> means the ISO-8601 week number.
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">DAY</code> means the calendar day of the month, numbered from 1.
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">HOUR</code> means the hour of the day in 24-hour time, numbered from 0 to 23.
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">MINUTE</code> means the minute of the hour, numbered from 0 to 59.
+                        </p>
+                    </li></ul></div>
+                <p>
+For the SECOND field type identifier, EXTRACT returns a floating point value:
+                </p>
+                <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                        <p>
+<code class="literal">SECOND</code> means the second of the minute, numbered from 0 to 59, including a
+ fractional part representing fractions of a second.
+                        </p>
+                    </li></ul></div>
+                <p>
+It is illegal to pass a datetime argument which does not have the given field type to EXTRACT.
+                </p>
+                <p>
+For the following field type identifiers, EXTRACT returns a part of the datetime value:
+                </p>
+                <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                        <p>
+<code class="literal">DATE</code> means the date part of a datetime.
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+<code class="literal">TIME</code> means the time part of a datetime.
+                        </p>
+                    </li></ul></div>
+                <p>
+It is illegal to pass a datetime argument which does not have the given part to EXTRACT.
+                </p>
+                </div>
+            </div>
+            <div class="section" id="jpa_langref_case_expressions"><div class="titlepage"><div><div><h4 class="title">2.6.3.&nbsp;
+                    Case Expressions
+                </h4></div></div></div>
+                
+                <p>
+The following forms of case expressions are supported: general case expressions, simple case expressions,
+coalesce expressions, and nullif expressions.
+</p><div class="itemizedlist"><code class="literal">CASE</code><code class="literal">ELSE</code><code class="literal">END</code><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+case_expression::=
+general_case_expression |
+simple_case_expression |
+coalesce_expression |
+nullif_expression
+</li><li class="listitem">
+general_case_expression::=
+<code class="literal">CASE</code> when_clause {when_clause}* <code class="literal">ELSE</code> scalar_expression <code class="literal">END</code>
+</li><li class="listitem">
+when_clause::= <code class="literal">WHEN</code> conditional_expression <code class="literal">THEN</code> scalar_expression
+</li><li class="listitem">
+case_operand::= state_field_path_expression | type_discriminator
+</li><li class="listitem">
+simple_when_clause::= <code class="literal">WHEN</code> scalar_expression <code class="literal">THEN</code> scalar_expression
+</li><li class="listitem">
+coalesce_expression::= <code class="literal">COALESCE</code>(scalar_expression {, scalar_expression}+)
+</li><li class="listitem">
+nullif_expression::= <code class="literal">NULLIF</code>(scalar_expression, scalar_expression)
+</li></ul></div><p>
+                </p>
+                <p>
+Examples:
+                </p>
+<pre class="programlisting">
+UPDATE Employee e
+SET e.salary =
+    CASE WHEN e.rating = 1 THEN e.salary * 1.1
+         WHEN e.rating = 2 THEN e.salary * 1.05
+         ELSE e.salary * 1.01
+    END
+</pre>
+<pre class="programlisting">
+UPDATE Employee e
+SET e.salary =
+    CASE e.rating WHEN 1 THEN e.salary * 1.1
+                  WHEN 2 THEN e.salary * 1.05
+                  ELSE e.salary * 1.01
+    END
+</pre>
+<pre class="programlisting">
+SELECT e.name,
+    CASE TYPE(e) WHEN Exempt THEN 'Exempt'
+                 WHEN Contractor THEN 'Contractor'
+                 WHEN Intern THEN 'Intern'
+                 ELSE 'NonExempt'
+    END
+FROM Employee e
+WHERE e.dept.name = 'Engineering'
+</pre>
+<pre class="programlisting">
+SELECT e.name,
+       f.name,
+       CONCAT(CASE WHEN f.annualMiles &gt; 50000 THEN 'Platinum '
+                   WHEN f.annualMiles &gt; 25000 THEN 'Gold '
+                   ELSE ''
+                   END,
+              'Frequent Flyer')
+FROM Employee e JOIN e.frequentFlierPlan f
+</pre>
+            </div>
+            <div class="section" id="jpa_langref_entity_type_expressions"><div class="titlepage"><div><div><h4 class="title">2.6.4.&nbsp;
+                    Entity Type Expressions
+                </h4></div></div></div>
+                
+                <p>
+An entity type expression can be used to restrict query polymorphism.
+The <code class="literal">TYPE</code> operator returns the
+exact type of the argument.
+                </p>
+                <p>
+The syntax of an entity type expression is as follows:
+                </p>
+                <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+entity_type_expression ::=
+type_discriminator |
+entity_type_literal |
+input_parameter
+</li><li class="listitem">
+type_discriminator ::=
+TYPE(identification_variable |
+single_valued_object_path_expression |
+input_parameter )
+</li></ul></div>
+                <p>
+An <code class="literal">entity_type_literal</code> is designated by the entity name.
+                </p>
+                <p>
+The Java class of the entity is used as an input parameter to specify the entity type.
+                </p>
+                <p>
+Examples:
+                </p>
+<pre class="programlisting">
+SELECT e
+FROM Employee e
+WHERE TYPE(e) IN (Exempt, Contractor)
+</pre>
+<pre class="programlisting">
+SELECT e
+FROM Employee e
+WHERE TYPE(e) IN (:empType1, :empType2)
+</pre>
+<pre class="programlisting">
+SELECT e
+FROM Employee e
+WHERE TYPE(e) IN :empTypes
+</pre>
+<pre class="programlisting">
+SELECT TYPE(e)
+FROM Employee e
+WHERE TYPE(e) &lt;&gt; Exempt
+</pre>
+            </div>
+            </div>
+        <div class="section" id="jpa_langref_group"><div class="titlepage"><div><div><h3 class="title">2.7.&nbsp;
+                JPQL GROUP BY, HAVING
+            </h3></div></div></div>
+            
+            <p>
+The <code class="literal">GROUP BY</code> construct enables the aggregation of values
+according to a set of properties. The <code class="literal">HAVING</code> construct
+enables conditions to be specified that further restrict the query result. Such
+conditions are restrictions upon the groups.
+            </p>
+            <p>
+The syntax of the <code class="literal">GROUP
+BY</code> and <code class="literal">HAVING</code> clauses is as follows:
+            </p>
+            <p>
+</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>groupby_clause ::= GROUP BY groupby_item {,
+groupby_item}*
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+groupby_item ::= single_valued_path_expression | identification_variable
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+having_clause ::= HAVING conditional_expression
+                        </p>
+                    </li></ul></div><p>
+            </p>
+            <p>
+If a query contains both a <code class="literal">WHERE</code> clause and a <code class="literal">GROUP
+BY</code> clause, the effect is that of first applying the where clause, and
+then forming the groups and filtering them according to the <code class="literal">HAVING
+</code> clause. The <code class="literal">HAVING</code> clause causes those groups to
+be retained that satisfy the condition of the <code class="literal">HAVING</code> clause.
+             </p>
+             <p>
+The requirements for the <code class="literal">SELECT</code> clause when <code class="literal">GROUP
+BY</code> is used follow those of SQL: namely, any item that appears in the
+<code class="literal">SELECT</code> clause (other than as an argument to an aggregate
+function) must also appear in the <code class="literal">GROUP BY</code> clause. In forming
+the groups, null values are treated as the same for grouping purposes.
+             </p>
+             <p>
+Grouping
+by an entity is permitted. In this case, the entity must contain no serialized
+state fields or LOB-valued state fields that are eagerly fetched.
+             </p>
+             <p>
+Grouping by embeddables is not supported.
+             </p>
+             <p>
+The <code class="literal">HAVING</code> clause
+must specify search conditions over the grouping items or aggregate functions
+that apply to grouping items.
+            </p>
+            <p>
+If there is no <code class="literal">GROUP BY</code> clause and the <code class="literal">HAVING
+</code> clause is used, the result is treated as a single group, and the
+select list can only consist of aggregate functions.
+The use of <code class="literal">HAVING</code> in the absence of
+<code class="literal">GROUP BY</code> is not required to be supported by a JPA implementation.
+Portable applications should not rely on <code class="literal">HAVING</code> without the use of
+<code class="literal">GROUP BY</code>.
+            </p>
+            <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3>
+                <p>
+OpenJPA supports the use of <code class="literal">HAVING</code> in the absence of
+<code class="literal">GROUP BY</code> if the underlying database supports it.
+                </p>
+            </div>
+            <p>
+Examples:
+            </p>
+            <pre class="programlisting">
+SELECT c.status, AVG(c.filledOrderCount), COUNT(c)
+FROM Customer c
+GROUP BY c.status
+HAVING c.status IN (1, 2)
+</pre>
+<pre class="programlisting">
+SELECT c.country, COUNT(c)
+FROM Customer c
+GROUP BY c.country
+HAVING COUNT(c) &gt; 30
+</pre>
+        </div>
+        <div class="section" id="jpa_langref_select_clause"><div class="titlepage"><div><div><h3 class="title">2.8.&nbsp;
+                JPQL SELECT Clause
+            </h3></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="jpa_langref.html#jpa_langref_resulttype">2.8.1. 
+                    JPQL Result Type of the SELECT Clause
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_constructor">2.8.2. 
+                    JPQL Constructor Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_null_select">2.8.3. 
+                    JPQL Null Values in the Query Result
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_embeddables">2.8.4. 
+                    JPQL Embeddables in the Query Result
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_aggregates">2.8.5. 
+                    JPQL Aggregate Functions
+                </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_langref.html#jpa_langref_agg_examples">2.8.5.1. 
+                        JPQL Aggregate Examples
+                    </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_numeric_expressions_in_select">2.8.5.2. 
+                        JPQL Numeric Expressions in the SELECT Clause
+                    </a></span></dt></dl></dd></dl></div>
+            
+            <p>
+The <code class="literal">SELECT</code> clause denotes the query result. More than one
+value may be returned from the <code class="literal">SELECT</code> clause of a query.
+            </p>
+            <p>
+The <code class="literal">SELECT</code> clause can contain one or more of the following
+elements: a single range variable or identification variable that ranges over an
+entity abstract schema type, a single-valued path expression,
+a scalar expression,
+an aggregate expression, a constructor expression.
+             </p>
+             <p>
+The <code class="literal">SELECT</code>
+clause has the following syntax:
+            </p>
+            <p>
+</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>select_clause ::= SELECT [DISTINCT]
+select_item {, select_item}*
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+select_item ::= select_expression [ [AS] result_variable]
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+select_expression ::= single_valued_path_expression |
+scalar_expression |
+aggregate_expression |
+identification_variable | OBJECT(identification_variable) |
+constructor_expression
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+constructor_expression ::= NEW constructor_name ( constructor_item {,
+constructor_item}*)
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+constructor_item ::= single_valued_path_expression |
+scalar_expression |
+aggregate_expression |
+identification_variable
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+aggregate_expression ::= { AVG | MAX | MIN | SUM } ([DISTINCT]
+state_field_path_expression) | COUNT ([DISTINCT] identification_variable |
+state_field_path_expression | single_valued_object_path_expression)
+                        </p>
+                    </li></ul></div><p>
+            </p>
+            <p>
+For example: </p><pre class="programlisting">SELECT pub.id, pub.revenue
+    FROM Publisher pub JOIN pub.magazines mag WHERE mag.price &gt; 5.00
+</pre><p>
+            </p>
+            <p>
+In the following example, videoInventory is a Map from the entity Movie to the number of copies
+in stock:
+            </p>
+<pre class="programlisting">
+SELECT v.location.street, KEY(i).title, VALUE(i)
+FROM VideoStore v JOIN v.videoInventory i
+WHERE v.location.zipcode = '94301' AND VALUE(i) &gt; 0
+</pre>
+            <p>
+Note that the <code class="literal">SELECT</code> clause must be specified to return only
+single-valued expressions. The query below is therefore not valid:
+</p><pre class="programlisting">SELECT mag.authors FROM Magazine AS mag</pre><p>
+            </p>
+            <p>
+The <code class="literal">DISTINCT</code> keyword is used to specify that duplicate values
+must be eliminated from the query result.
+            </p>
+            <p>
+If <code class="literal">DISTINCT</code> is not
+specified, duplicate values are not eliminated.
+            </p>
+            <p>
+The result of DISTINCT over embeddable objects or map entry results is undefined.
+            </p>
+            <p>
+Standalone identification
+variables in the <code class="literal">SELECT</code> clause may optionally be qualified by
+the <code class="literal">OBJECT</code> operator. The <code class="literal">SELECT</code> clause
+must not use the OBJECT operator to qualify path expressions.
+            </p>
+            <p>
+A <code class="literal">result_variable</code> may be used to name a <code class="literal">select_item</code> in the query result.
+ For example,
+</p><pre class="programlisting">
+SELECT c, COUNT(l) AS itemCount
+FROM Customer c JOIN c.Orders o JOIN o.lineItems l
+WHERE c.address.state = &#8216;CA&#8217;
+ORDER BY itemCount
+ </pre><p>
+            </p>
+            <div class="section" id="jpa_langref_resulttype"><div class="titlepage"><div><div><h4 class="title">2.8.1.&nbsp;
+                    JPQL Result Type of the SELECT Clause
+                </h4></div></div></div>
+                
+                <p>
+The type of the query result specified by the <code class="literal">SELECT</code> clause
+of a query is an entity abstract schema type, a state-field type,
+the result of of a scalar expression, the result of
+an aggregate function, the result of a construction operation, or some sequence
+of these.
+                </p>
+                <p>
+The result type of the <code class="literal">SELECT</code> clause is defined by
+the result types of the select_expressions contained in it. When multiple
+select expressions are used in the <code class="literal">SELECT</code> clause, the result
+of the query is of type Object[], and the elements in this result correspond in
+order to the order of their specification in the <code class="literal">SELECT</code>
+clause and in type to the result types of each of the select expressions.
+                </p>
+                <p>
+The type of the result of a <code class="literal">select_expression</code> is as follows:
+</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                            <p>
+The result type of an <code class="literal">identification_variable</code>
+is the type of the entity object or embeddable
+object to which the identification variable corresponds. The type of an
+<code class="literal">identification_variable</code>
+that refers to an entity abstract schema type is the type of the entity to which that identification
+variable corresponds or a subtype as determined by the object/relational mapping.
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+The result type of a <code class="literal">single_valued_path_expression</code> that is a
+<code class="literal">state_field_path_expression</code>
+results in an object of the same type as the
+corresponding state field of the entity or embeddable class.
+If the state field of the entity is a
+primitive type, the result type is the corresponding object type.
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+The result type of a <code class="literal">single_valued_path_expression</code> that is a
+<code class="literal">single_valued_object_path_expression</code>
+is the type of the entity object or embeddable
+object to which the path expression corresponds.
+A <code class="literal">single_valued_object_path_expression</code>
+that results in an entity object will result in an entity of the type of
+the relationship field or the
+subtype of the relationship field of the entity object as determined by
+the object/relational mapping.
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+The result type of a
+<code class="literal">single_valued_path_expression</code>
+that is an identification_variable to
+which the <code class="literal">KEY</code> or <code class="literal">VALUE</code> function
+has been applied is determined by the type of the map key
+or value respectively, as defined by the above rules
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+The result type of a
+<code class="literal">single_valued_path_expression</code> that is an
+<code class="literal">identification_variable</code> to
+which the <code class="literal">ENTRY</code> function has been applied is
+<code class="literal">java.util.Map.Entry</code>, where the key
+and value types of the map entry are determined by the above rules as applied to the map key
+and map value respectively.
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+The result type of a
+<code class="literal">scalar_expression</code> is the type of the scalar value to which the expression
+evaluates. The result type of a numeric <code class="literal">scalar_expression</code> is defined in
+<a class="xref" href="jpa_langref.html#jpa_langref_scalar_expressions" title="2.6.&nbsp; JPQL Scalar Expressions">Section&nbsp;2.6, &#8220;
+                    JPQL Scalar Expressions
+                &#8221;</a>
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+The result type of an
+<code class="literal">entity_type_expression</code> scalar expression is the Java class to which the
+resulting abstract schema type corresponds.
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+The result type of aggregate_expression is defined in
+<a class="xref" href="jpa_langref.html#jpa_langref_aggregates" title="2.8.5.&nbsp; JPQL Aggregate Functions">Section&nbsp;2.8.5, &#8220;
+                    JPQL Aggregate Functions
+                &#8221;</a>.
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+The result type of a
+<code class="literal">constructor_expression</code> is the type of the class for which
+the constructor is defined. The types of the arguments to the constructor are
+defined by the above rules.
+                            </p>
+                        </li></ul></div><p>
+                </p>
+            </div>
+            <div class="section" id="jpa_langref_constructor"><div class="titlepage"><div><div><h4 class="title">2.8.2.&nbsp;
+                    JPQL Constructor Expressions
+                </h4></div></div></div>
+                
+                <p>
+A constructor may be used in the
+<code class="literal">SELECT</code> list to return one or more Java instances. The
+specified class is not required to be an entity or to be mapped to the database.
+The constructor name must be fully qualified.
+                </p>
+                <p>
+If an entity class name is specified in the <code class="literal">SELECT NEW</code>
+clause, the resulting entity instances are in the new state.
+                </p>
+                <p>
+If a <code class="literal">single_valued_path_expression</code> or
+<code class="literal">identification_variable</code> that is an argument to the constructor
+references an entity, the resulting entity instance referenced by that
+<code class="literal">single_valued_path_expression</code> or
+<code class="literal">identification_variable</code>
+will be in the managed state.
+                </p>
+                <p>
+If <code class="literal">PublisherInfo</code> is an entity class, the following 2 queries return
+ instances of <code class="literal">PublisherInfo</code> that will be in the new state.
+In the second example, <code class="literal">mag</code> is an <code class="literal">identification_variable</code>
+passed as an argument to the constructor <code class="literal">PublisherInfo(Magazine mag)</code>;
+the entity instances of <code class="literal">Magazine</code> created during query evaluation
+will be in the managed state.
+Example:
+                </p>
+<pre class="programlisting">SELECT NEW com.company.PublisherInfo(pub.id, pub.revenue, mag.price)
+    FROM Publisher pub JOIN pub.magazines mag WHERE mag.price &gt; 5.00
+</pre>
+<pre class="programlisting">SELECT NEW com.company.PublisherInfo(mag)
+    FROM Publisher pub JOIN pub.magazines mag WHERE mag.price &gt; 5.00
+</pre>
+            </div>
+            <div class="section" id="jpa_langref_null_select"><div class="titlepage"><div><div><h4 class="title">2.8.3.&nbsp;
+                    JPQL Null Values in the Query Result
+                </h4></div></div></div>
+                
+                <p>
+If the result of a query corresponds to a association-field or state-field whose
+value is null, that null value is returned in the result of the query method.
+The <code class="literal">IS NOT NULL</code> construct can be used to eliminate such null
+values from the result set of the query.
+                </p>
+                <p>
+Note, however, that state-field types
+defined in terms of Java numeric primitive types cannot produce <code class="literal">NULL
+</code> values in the query result. A query that returns such a state-field
+type as a result type must not return a null value.
+                </p>
+            </div>
+            <div class="section" id="jpa_langref_embeddables"><div class="titlepage"><div><div><h4 class="title">2.8.4.&nbsp;
+                    JPQL Embeddables in the Query Result
+                </h4></div></div></div>
+                
+                <p>
+If the result of a query corresponds to an identification variable or state field whose value is an
+embeddable, the embeddable instance returned by the query will not be in the managed state (i.e., it will
+not be part of the state of any managed entity).
+                </p>
+                <p>
+In the following example, the <code class="literal">Address</code> instances returned by the query will reference Phone
+instances. While the <code class="literal">Phone</code> instances will be managed,
+the <code class="literal">Address</code>&gt; instances referenced by the
+<code class="literal">addr</code> result variable will not be.
+Modifications to these embeddable instances are not allowed.
+                </p>
+<pre class="programlisting">
+@Entity
+public class Employee {
+  @Id int id;
+  Address address;
+  ...
+}
+
+@Embeddable
+public class Address {
+  String street;
+  ...
+  @OneToOne Phone phone; // fetch=EAGER
+}
+
+@Entity
+public class Phone {
+  @Id int id;
+  ...
+  @OneToOne(mappedBy="address.phone") Employee emp; // fetch=EAGER
+}
+
+SELECT e.address AS addr
+FROM Employee e
+</pre>
+            </div>
+            <div class="section" id="jpa_langref_aggregates"><div class="titlepage"><div><div><h4 class="title">2.8.5.&nbsp;
+                    JPQL Aggregate Functions
+                </h4></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="jpa_langref.html#jpa_langref_agg_examples">2.8.5.1. 
+                        JPQL Aggregate Examples
+                    </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_numeric_expressions_in_select">2.8.5.2. 
+                        JPQL Numeric Expressions in the SELECT Clause
+                    </a></span></dt></dl></div>
+                
+                <p>
+The result of a query may be the result
+of an aggregate function applied to a path expression.
+                </p>
+                <p>
+The following aggregate
+functions can be used in the <code class="literal">SELECT</code> clause of a query:
+<code class="literal">AVG</code>, <code class="literal">COUNT</code>, <code class="literal">MAX</code>,
+<code class="literal">MIN</code>, <code class="literal">SUM</code>.
+                </p>
+                <p>
+For all aggregate functions
+except <code class="literal">COUNT</code>, the path expression that is the argument to
+the aggregate function must terminate in a state-field. The path expression
+argument to <code class="literal">COUNT</code> may terminate in either a state-field or a
+association-field, or the argument to <code class="literal">COUNT</code> may be an
+identification variable.
+                </p>
+                <p>
+Arguments to the functions <code class="literal">SUM</code> and
+<code class="literal">AVG</code> must be numeric. Arguments to the functions <code class="literal">MAX
+</code> and <code class="literal">MIN</code> must correspond to orderable state-field
+types (i.e., numeric types, string types, character types, or date types).
+                </p>
+                <p>
+The Java type that is contained in the result of a query using an aggregate function
+is as follows: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><code class="literal">COUNT</code> returns
+Long.
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+<code class="literal">MAX</code>, <code class="literal">MIN</code> return the type of the
+state-field to which they are applied.
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+<code class="literal">AVG</code> returns Double.
+                            </p>
+                        </li><li class="listitem">
+                            <p>
+<code class="literal">SUM</code> returns Long when applied to state-fields of integral
+types (other than BigInteger); Double when applied to state-fields of floating
+point types; BigInteger when applied to state-fields of type BigInteger; and
+BigDecimal when applied to state-fields of type BigDecimal.
+                </p>
+                        </li></ul></div><p>
+                </p>
+                <p>
+If <code class="literal">SUM
+</code>, <code class="literal">AVG</code>, <code class="literal">MAX</code>, or <code class="literal">MIN
+</code> is used, and there are no values to which the aggregate function can
+be applied, the result of the aggregate function is <code class="literal">NULL</code>.
+                </p>
+                <p>
+If <code class="literal">COUNT</code> is used, and there are no values to which <code class="literal">
+COUNT</code> can be applied, the result of the aggregate function is 0.
+                            </p>
+                <p>
+The argument to an aggregate function may be preceded by the keyword <code class="literal">
+DISTINCT</code> to specify that duplicate values are to be eliminated before
+the aggregate function is applied.
+It is legal to specify <code class="literal">DISTINCT</code> with <code class="literal">MAX</code>
+or <code class="literal">MIN</code>, but it does not affect the result.
+                </p>
+                <p>
+Null values are eliminated before the
+aggregate function is applied, regardless of whether the keyword <code class="literal">
+DISTINCT</code> is specified.
+                </p>
+                <p>
+The use of <code class="literal">DISTINCT</code> with <code class="literal">COUNT</code> is not supported for arguments of
+embeddable types or map entry types.
+                </p>
+                <div class="section" id="jpa_langref_agg_examples"><div class="titlepage"><div><div><h5 class="title">2.8.5.1.&nbsp;
+                        JPQL Aggregate Examples
+                    </h5></div></div></div>
+                    
+                    <p>
+The following query returns the average price of all magazines:
+</p><pre class="programlisting">SELECT AVG(mag.price) FROM Magazine mag</pre><p> The
+following query returns the sum of all the prices from all the
+magazines published by 'Larry': </p><pre class="programlisting">SELECT SUM(mag.price) FROM Publisher pub JOIN pub.magazines mag WHERE pub.firstName = 'Larry'
+</pre><p> The following query returns the total number of magazines:
+</p><pre class="programlisting">SELECT COUNT(mag) FROM Magazine mag</pre><p>
+                    </p>
+                </div>
+                <div class="section" id="jpa_langref_numeric_expressions_in_select"><div class="titlepage"><div><div><h5 class="title">2.8.5.2.&nbsp;
+                        JPQL Numeric Expressions in the SELECT Clause
+                    </h5></div></div></div>
+                    
+                    <p>
+The type of a numeric expression in the query result is determined as follows:
+                    </p>
+                    <p>
+An operand that corresponds to a persistent state-field is of the same type as that persistent state-field.
+                    </p>
+                    <p>
+An operand that corresponds to one of arithmetic functions described in
+<a class="xref" href="jpa_langref.html#jpa_langref_arithmetic" title="2.6.2.2.&nbsp; JPQL Arithmetic Functions">Section&nbsp;2.6.2.2, &#8220;
+                        JPQL Arithmetic Functions
+                    &#8221;</a> is of the type defined by
+<a class="xref" href="jpa_langref.html#jpa_langref_arithmetic" title="2.6.2.2.&nbsp; JPQL Arithmetic Functions">Section&nbsp;2.6.2.2, &#8220;
+                        JPQL Arithmetic Functions
+                    &#8221;</a>.
+                    </p>
+                    <p>
+An operand that corresponds to one of an aggregate functions described in
+<a class="xref" href="jpa_langref.html#jpa_langref_aggregates" title="2.8.5.&nbsp; JPQL Aggregate Functions">Section&nbsp;2.8.5, &#8220;
+                    JPQL Aggregate Functions
+                &#8221;</a> is of the type defined by
+<a class="xref" href="jpa_langref.html#jpa_langref_aggregates" title="2.8.5.&nbsp; JPQL Aggregate Functions">Section&nbsp;2.8.5, &#8220;
+                    JPQL Aggregate Functions
+                &#8221;</a>.
+                    </p>
+                    <p>
+The result of a case expression, coalesce expression, nullif expression, or arithmetic expression (+, -, *,
+/) is determined by applying the following rule to its operands.
+                    </p>
+                    <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                        <p>
+If there is an operand of type Double or double, the result of the operation is of type Double;
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+otherwise, if there is an operand of type Float or float, the result of the operation is of type
+Float;
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+otherwise, if there is an operand of type BigDecimal, the result of the operation is of type Big-
+Decimal;
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+otherwise, if there is an operand of type BigInteger, the result of the operation is of type BigInteger;
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+otherwise, if there is an operand of type Long or long, the result of the operation is of type
+Long;
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+otherwise, if there is an operand of integral type, the result of the operation is of type Integer.
+                        </p>
+                    </li></ul></div>
+                </div>
+            </div>
+        </div>
+        <div class="section" id="jpa_langref_orderby"><div class="titlepage"><div><div><h3 class="title">2.9.&nbsp;
+                JPQL ORDER BY Clause
+            </h3></div></div></div>
+            
+            <p>
+The <code class="literal">ORDER BY</code> clause allows the objects or values that are
+returned by the query to be ordered. The syntax of the <code class="literal">ORDER BY
+</code> clause is
+            </p>
+            <p>
+</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>orderby_clause ::= ORDER BY orderby_item {,
+orderby_item}*
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+orderby_item ::= { state_field_path_expression | result_variable } [ASC | DESC]
+                        </p>
+                    </li></ul></div><p>
+            </p>
+            <p>
+An orderby_item must be one of the following:
+            </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+    <p>
+    A <code class="literal">state_field_path_expression</code> that evaluates to an orderable state field of an entity or
+embeddable class abstract schema type designated in the SELECT clause by one of the following:
+    </p>
+    <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem">
+        <p>a <code class="literal">general_identification_variable</code></p>
+        </li><li class="listitem">
+        <p>a <code class="literal">single_valued_object_path_expression</code></p>
+        </li></ul></div>
+    </li><li class="listitem">
+        <p>
+A <code class="literal">state_field_path_expression</code> that evaluates to the same state field of the same entity or
+embeddable abstract schema type as a <code class="literal">state_field_path_expression</code>
+in the <code class="literal">SELECT</code> clause.
+        </p>
+    </li><li class="listitem">
+        <p>
+A <code class="literal">result_variable</code> that refers to an orderable item in the
+<code class="literal">SELECT</code> clause for which the same
+<code class="literal">result_variable</code> has been specified.
+This may be the result of an <code class="literal">aggregate_expression</code>, a
+<code class="literal">scalar_expression</code>,
+or a <code class="literal">state_field_path_expression</code> in the <code class="literal">SELECT</code> clause.
+        </p>
+    </li></ul></div>
+            <p>
+For example, the five queries below are legal.
+            </p>
+<pre class="programlisting">
+SELECT pub FROM Publisher pub ORDER BY pub.revenue, pub.name
+</pre>
+<pre class="programlisting">
+SELECT o
+FROM Customer c JOIN c.orders o JOIN c.address a
+WHERE a.state = &#8216;CA&#8217;
+ORDER BY o.quantity DESC, o.totalcost
+</pre>
+<pre class="programlisting">
+SELECT o.quantity, a.zipcode
+FROM Customer c JOIN c.orders o JOIN c.address a
+WHERE a.state = &#8216;CA&#8217;
+ORDER BY o.quantity, a.zipcode
+</pre>
+<pre class="programlisting">
+SELECT o.quantity, o.cost*1.08 AS taxedCost, a.zipcode
+FROM Customer c JOIN c.orders o JOIN c.address a
+WHERE a.state = &#8216;CA&#8217; AND a.county = &#8216;Santa Clara&#8217;
+ORDER BY o.quantity, taxedCost, a.zipcode
+</pre>
+<pre class="programlisting">
+SELECT AVG(o.quantity) as q, a.zipcode
+FROM Customer c JOIN c.orders o JOIN c.address a
+WHERE a.state = &#8216;CA&#8217;
+GROUP BY a.zipcode
+ORDER BY q DESC
+</pre>
+<p>
+The following two queries are not legal because the <code class="literal">orderby_item</code>
+is not reflected in the <code class="literal">SELECT</code>
+clause of the query.
+</p>
+<pre class="programlisting">
+SELECT p.product_name
+FROM Order o JOIN o.lineItems l JOIN l.product p JOIN o.customer c
+WHERE c.lastname = &#8216;Smith&#8217; AND c.firstname = &#8216;John&#8217;
+ORDER BY p.price
+</pre>
+<pre class="programlisting">
+SELECT p.product_name
+FROM Order o, IN(o.lineItems) l JOIN o.customer c
+WHERE c.lastname = &#8216;Smith&#8217; AND c.firstname = &#8216;John&#8217;
+ORDER BY o.quantity
+</pre>
+          <p>
+If more than one <code class="literal">orderby_item</code> is specified, the left-to-right
+sequence of the <code class="literal">orderby_item</code> elements determines the precedence, whereby the
+leftmost <code class="literal">orderby_item</code> has highest precedence.
+          </p>
+          <p>
+The keyword <code class="literal">ASC</code>
+specifies that ascending ordering be used; the keyword <code class="literal">DESC</code>
+specifies that descending ordering be used. Ascending ordering is the default.
+           </p>
+           <p>
+SQL rules for the ordering of null values apply: that is, all null values must
+appear before all non-null values in the ordering or all null values must appear
+after all non-null values in the ordering, but it is not specified which.
+           </p>
+           <p>
+The
+ordering of the query result is preserved in the result of the query method if
+the <code class="literal">ORDER BY</code> clause is used.
+            </p>
+        </div>
+        <div class="section" id="jpa_langref_bulk_ops"><div class="titlepage"><div><div><h3 class="title">2.10.&nbsp;
+                JPQL Bulk Update and Delete
+            </h3></div></div></div>
+            
+            <p>
+Bulk update and delete operations apply to entities of a single
+entity class (together with its subclasses, if any). Only one entity abstract
+schema type may be specified in the <code class="literal">FROM</code> or <code class="literal">UPDATE
+</code> clause. The syntax of these operations is as follows:
+            </p>
+            <p>
+</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>update_statement ::= update_clause [where_clause]
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+update_clause ::= UPDATE entity_name [[AS] identification_variable] SET
+update_item {, update_item}*
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+update_item ::= [identification_variable.]{state_field |
+single_valued_object_field} = new_value
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+new_value ::= scalar_expression |
+simple_entity_expression | NULL
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+delete_statement ::= delete_clause [where_clause]
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+delete_clause ::= DELETE FROM entity_name [[AS]
+identification_variable]
+                        </p>
+                    </li></ul></div><p>
+            </p>
+            <p>
+The syntax of the <code class="literal">WHERE</code> clause is described in
+<a class="xref" href="jpa_langref.html#jpa_langref_where" title="2.4.&nbsp; JPQL WHERE Clause">Section&nbsp;2.4, &#8220;
+                JPQL WHERE Clause
+            &#8221;</a>.
+            </p>
+            <p>
+A delete operation only applies to
+entities of the specified class and its subclasses. It does not cascade to
+related entities.
+            </p>
+            <p>
+The <code class="literal">new_value</code> specified for an update operation must be
+compatible in type with the state-field to which it is assigned.
+            </p>
+            <p>
+Bulk update
+maps directly to a database update operation, bypassing optimistic locking
+checks. Portable applications must manually update the value of the version
+column, if desired, and/or manually validate the value of the version column.
+            </p>
+            <p>
+The persistence context is not synchronized with the result of the bulk update
+or delete.
+            </p>
+            <p>
+Caution should be used when executing bulk update or delete
+operations because they may result in inconsistencies between the database and
+the entities in the active persistence context. In general, bulk update and
+delete operations should only be performed within a transaction in a new persistence context or at
+the beginning of a transaction (before entities have been accessed whose state
+might be affected by such operations).
+            </p>
+            <p>
+Examples: </p><pre class="programlisting">DELETE FROM Publisher pub WHERE pub.revenue &gt; 1000000.0
+</pre><pre class="programlisting">DELETE FROM Publisher pub WHERE pub.revenue = 0 AND pub.magazines IS EMPTY
+</pre><pre class="programlisting">UPDATE Publisher pub SET pub.status = 'outstanding'
+    WHERE pub.revenue &lt; 1000000 AND 20 &gt; (SELECT COUNT(mag) FROM pub.magazines mag)
+</pre><p>
+            </p>
+        </div>
+        <div class="section" id="jpa_langref_null_values"><div class="titlepage"><div><div><h3 class="title">2.11.&nbsp;
+                JPQL Null Values
+            </h3></div></div></div>
+            
+            <p>
+When the target of a reference does not exist in the database, its value is
+regarded as <code class="literal">NULL</code>. SQL 92 <code class="literal">NULL</code> semantics
+defines the evaluation of conditional expressions containing <code class="literal">NULL
+</code> values. The following is a brief description of these semantics:
+            </p>
+            <p>
+</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p> Comparison or arithmetic operations with a
+<code class="literal">NULL</code> value always yield an unknown value.
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+Two <code class="literal">NULL</code> values are not considered to be equal, the
+comparison yields an unknown value.
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+Comparison or arithmetic operations with an unknown value always yield an
+unknown value.
+                        </p>
+                    </li><li class="listitem">
+                        <p>
+The <code class="literal">IS NULL</code> and <code class="literal">IS NOT NULL</code> operators
+convert a <code class="literal">NULL</code> state-field or single-valued association-field
+value into the respective <code class="literal">TRUE</code> or <code class="literal">FALSE</code>
+value.
+                        </p>
+                    </li></ul></div><p>
+            </p>
+            <p>
+Note: The JPQL defines the empty string, "", as a string with 0 length, which is
+not equal to a <code class="literal">NULL</code> value. However, <code class="literal">NULL</code>
+values and empty strings may not always be distinguished when queries are mapped
+to some databases. Application developers should therefore not rely on the
+semantics of query comparisons involving the empty string and <code class="literal">NULL
+</code> value.
+            </p>
+        </div>
+        <div class="section" id="jpa_langref_equality"><div class="titlepage"><div><div><h3 class="title">2.12.&nbsp;
+                JPQL Equality and Comparison Semantics
+            </h3></div></div></div>
+            
+            <p>
+Only the values of <code class="literal">like</code> types are permitted to be compared. A type is <code class="literal">like</code>
+another type if they correspond to the same Java language type, or if one is a
+primitive Java language type and the other is the wrappered Java class type
+equivalent (e.g., <code class="literal">int</code> and <code class="literal">Integer</code> are like types in this sense). There is one
+exception to this rule: it is valid to compare numeric values for which the
+rules of numeric promotion apply. Conditional expressions attempting to compare
+non-like type values are disallowed except for this numeric case.
+            </p>
+            <p>
+Note that the
+arithmetic operators and comparison operators are permitted to be applied to
+state-fields and input parameters of the wrappered Java class equivalents to the
+primitive numeric Java types.
+            </p>
+            <p>
+Two entities of the same abstract schema type are
+equal if and only if they have the same primary key value.
+            </p>
+            <p>
+Equality/inequality comparisons over enums are supported.
+            </p>
+            <p>
+Comparisons over instances of embeddable class or map entry types are not supported.
+            </p>
+        </div>
+        <div class="section" id="jpa_langref_bnf"><div class="titlepage"><div><div><h3 class="title">2.13.&nbsp;
+                JPQL BNF
+            </h3></div></div></div>
+            
+            <p>
+BNF notation summary:
+            </p>
+            <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+{ ... } grouping
+                </li><li class="listitem">
+[ ... ] optional constructs
+                </li><li class="listitem">
+* zero or more
+                </li><li class="listitem">
++ one or more
+                </li><li class="listitem">
+| alternates
+                </li></ul></div>
+            <p>
+The following is the BNF for the Jakarta Persistence query language, from section
+4.14 of the Jarkata Persistence 3.1 specification.
+            </p>
+            <div class="itemizedlist"><p>
+select_item ::= select_expression [[AS] result_variable]
+                    </p><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+                    <p>
+QL_statement ::= select_statement | update_statement | delete_statement
+                    </p>
+                </li><li class="listitem">
+                    <p>
+select_statement ::= select_clause from_clause [where_clause] [groupby_clause]
+[having_clause] [orderby_clause]
+                    </p>
+                </li><li class="listitem">
+                    <p>
+update_statement ::= update_clause [where_clause]
+                    </p>
+                </li><li class="listitem">
+                    <p>
+delete_statement ::= delete_clause [where_clause]
+                    </p>
+                </li><li class="listitem">
+                    <p>
+from_clause ::= <code class="literal">FROM</code> identification_variable_declaration {,
+{identification_variable_declaration | collection_member_declaration}}*
+                    </p>
+                </li><li class="listitem">
+                    <p>
+identification_variable_declaration ::= range_variable_declaration { join |
+fetch_join }*
+                    </p>
+                </li><li class="listitem">
+                    <p>
+range_variable_declaration ::= entity_name [ <code class="literal">AS</code> ]
+identification_variable
+                    </p>
+                </li><li class="listitem">
+                    <p>
+join ::= join_spec join_association_path_expression [ <code class="literal">AS</code> ]
+identification_variable [join_conition]
+                    </p>
+                </li><li class="listitem">
+                    <p>
+fetch_join ::= join_spec <code class="literal">FETCH</code>
+join_association_path_expression
+                    </p>
+                </li><li class="listitem">
+                    <p>
+join_spec ::= [ <code class="literal">LEFT</code> [ <code class="literal">OUTER</code> ]| <code class="literal">
+INNER</code> ] <code class="literal">JOIN</code>
+                    </p>
+                </li><li class="listitem">
+                    <p>
+join_condition ::= ON conditional_expression
+                    </p>
+                </li><li class="listitem">
+                    <p>
+join_association_path_expression ::= join_collection_valued_path_expression |
+join_single_valued_path_expression | <code class="literal">TREAT</code>(join_collection_valued_path_expression AS subtype) | <code class="literal">TREAT</code>(join_single_valued_path_expression AS subtype)
+                    </p>
+                </li><li class="listitem">
+                    <p>
+join_collection_valued_path_expression ::=
+identification_variable.{single_valued_embeddable_object_field.}* collection_valued_field
+                    </p>
+                </li><li class="listitem">
+                    <p>
+join_single_valued_path_expression ::=
+identification_variable.{single_valued_embeddable_object_field.}* single_valued_object_field
+                    </p>
+                </li><li class="listitem">
+                    <p>
+collection_member_declaration ::= <code class="literal">IN</code>
+(join_collection_valued_path_expression) [ <code class="literal">AS</code> ]
+identification_variable
+                    </p>
+                </li><li class="listitem">
+                    <p>
+qualified_identification_variable ::=
+map_field_identification_variable | <code class="literal">ENTRY</code>(identification_variable)
+                    </p>
+                </li><li class="listitem">
+                    <p>
+map_field_identification_variable ::= 
+<code class="literal">KEY</code>(identification_variable) | 
+<code class="literal">VALUE</code>(identification_variable)
+                    </p>
+                </li><li class="listitem">
+                    <p>
+single_valued_path_expression ::=
+qualified_identification_variable |
+<code class="literal">TREAT</code>(qualified_identification_variable <code class="literal">AS</code> subtype) |
+state_field_path_expression |
+single_valued_object_path_expression
+                    </p>
+                </li><li class="listitem">
+                    <p>
+general_identification_variable ::=
+identification_variable |
+map_field_identification_variable
+                    </p>
+                </li><li class="listitem">
+                    <p>
+general_subpath ::= simple_subpath | treated_subpath{.single_valued_object_field}*
+                    </p>
+                </li><li class="listitem">
+                    <p>
+simple_subpath ::= 
+    general_identification_variable |
+    general_identification_variable{.single_valued_object_field}*
+                    </p>
+                </li><li class="listitem">
+                    <p>
+treated_subpath ::= <code class="literal">TREAT</code>(general_subpath AS subtype)
+                    </p>
+                </li><li class="listitem">
+                    <p>
+state_field_path_expression ::= general_subpath.state_field
+                    </p>
+                </li><li class="listitem">
+                    <p>
+state_valued_path_expression ::=
+    state_field_path_expression | general_identification_variable
+                    </p>
+                </li><li class="listitem">
+                    <p>
+single_valued_object_path_expression ::=
+    general_subpath.single_valued_object_field
+                    </p>
+                </li><li class="listitem">
+                    <p>
+collection_valued_path_expression ::= general_subpath.{collection_valued_field}
+                    </p>
+                </li><li class="listitem">
+                    <p>
+update_clause ::= <code class="literal">UPDATE</code> entity_name [[ <code class="literal">AS
+</code> ] identification_variable] <code class="literal">SET</code> update_item {,
+update_item}*
+                    </p>
+                </li><li class="listitem">
+                    <p>
+update_item ::= [identification_variable.]{single_valued_embeddable_object_field.}*
+    {state_field | single_valued_object_field} = new_value
+                    </p>
+                </li><li class="listitem">
+                    <p>
+new_value ::= scalar_expression |
+simple_entity_expression | <code class="literal">NULL</code>
+                    </p>
+                </li><li class="listitem">
+                    <p>
+delete_clause ::= <code class="literal">DELETE</code><code class="literal">FROM</code>
+entity_name [[ <code class="literal">AS</code> ] identification_variable]
+                    </p>
+                </li><li class="listitem">
+                    <p>
+select_clause ::= <code class="literal">SELECT</code> [ <code class="literal">DISTINCT</code> ]
+select_item {, select_item}*
+                    </p>
+                </li><li class="listitem">
+                </li><li class="listitem">
+                    <p>
+select_expression ::= 
+    single_valued_path_expression |
+    scalar_expression |
+    aggregate_expression |
+    identification_variable | 
+    <code class="literal">OBJECT</code> (identification_variable) |
+    constructor_expression
+                    </p>
+                </li><li class="listitem">
+                    <p>
+constructor_expression ::= <code class="literal">NEW</code> constructor_name(
+constructor_item {, constructor_item}*)
+                    </p>
+                </li><li class="listitem">
+                    <p>
+constructor_item ::= single_valued_path_expression |
+scalar_expression |
+aggregate_expression |
+identification_variable
+                    </p>
+                </li><li class="listitem">
+                    <p>
+aggregate_expression ::= { <code class="literal">AVG</code> | <code class="literal">MAX</code> |
+<code class="literal">MIN</code> | <code class="literal">SUM</code> }([ <code class="literal">DISTINCT</code>
+] state_field_path_expression) | <code class="literal">COUNT</code> ([ <code class="literal">DISTINCT
+</code> ] identification_variable | state_field_path_expression |
+single_valued_object_path_expression) | function_invocation
+                    </p>
+                </li><li class="listitem">
+                    <p>
+where_clause ::= <code class="literal">WHERE</code> conditional_expression
+                    </p>
+                </li><li class="listitem">
+                    <p>
+groupby_clause ::= <code class="literal">GROUP</code><code class="literal">BY</code> groupby_item {,
+groupby_item}*
+                    </p>
+                </li><li class="listitem">
+                    <p>
+groupby_item ::= single_valued_path_expression | identification_variable
+                    </p>
+                </li><li class="listitem">
+                    <p>
+having_clause ::= <code class="literal">HAVING</code> conditional_expression
+                    </p>
+                </li><li class="listitem">
+                    <p>
+orderby_clause ::= <code class="literal">ORDER</code><code class="literal">BY</code> orderby_item {,
+orderby_item}*
+                    </p>
+                </li><li class="listitem">
+                    <p>
+orderby_item ::= state_field_path_expression |
+    general_identification_variable | 
+    result_variable [ <code class="literal">ASC</code> |
+<code class="literal">DESC</code> ]
+                    </p>
+                </li><li class="listitem">
+                    <p>
+subquery ::= simple_select_clause subquery_from_clause [where_clause]
+[groupby_clause] [having_clause]
+                    </p>
+                </li><li class="listitem">
+                    <p>
+subquery_from_clause ::= <code class="literal">FROM</code>
+subselect_identification_variable_declaration {,
+subselect_identification_variable_declaration |
+collection_member_declaration}*
+                    </p>
+                </li><li class="listitem">
+                    <p>
+subselect_identification_variable_declaration ::=
+identification_variable_declaration | derived_path_expression [ <code class="literal">AS
+</code> ] identification_variable | derived_collection_member_declaration
+                    </p>
+                </li><li class="listitem">
+                    <p>
+derived_path_expression ::=
+    general_derived_path.single_valued_object_field |
+    general_derived_path.collection_valued_field
+                    </p>
+                </li><li class="listitem">
+                    <p>
+general_derived_path ::=
+    simple_derived_path |
+    treated_derived_path{.single_valued_object_field}*
+                    </p>
+                </li><li class="listitem">
+                    <p>
+simple_derived_path ::= superquery_identification_variable{.single_valued_object_field}*
+                    </p>
+                </li><li class="listitem">
+                    <p>
+treated_derived_path ::= <code class="literal">TREAT</code>(general_derived_path AS subtype)
+                    </p>
+                </li><li class="listitem">
+                    <p>
+derived_collection_member_declaration ::=
+<code class="literal">IN</code> superquery_identification_variable.{single_valued_object_field.}*collection_valued_field
+                    </p>
+                </li><li class="listitem">
+                    <p>
+simple_select_clause ::= <code class="literal">SELECT</code> [ <code class="literal">DISTINCT</code>
+] simple_select_expression
+                    </p>
+                </li><li class="listitem">
+                    <p>
+simple_select_expression ::= single_valued_path_expression |
+scalar_expression | aggregate_expression | identification_variable
+                    </p>
+                </li><li class="listitem">
+                    <p>
+scalar_expression ::=
+arithmetic_expression |
+string_expression |
+enum_expression |
+datetime_expression |
+boolean_expression |
+case_expression |
+entity_type_expression
+                    </p>
+                </li><li class="listitem">
+                    <p>
+conditional_expression ::= conditional_term | conditional_expression <code class="literal">
+OR</code> conditional_term
+                    </p>
+                </li><li class="listitem">
+                    <p>
+conditional_term ::= conditional_factor | conditional_term <code class="literal">AND
+</code> conditional_factor
+                    </p>
+                </li><li class="listitem">
+                    <p>
+conditional_factor ::= [ <code class="literal">NOT</code> ] conditional_primary
+                    </p>
+                </li><li class="listitem">
+                    <p>
+conditional_primary ::= simple_cond_expression | (conditional_expression)
+                    </p>
+                </li><li class="listitem">
+                    <p>
+simple_cond_expression ::= comparison_expression | between_expression |
+in_expression | like_expression | null_comparison_expression |
+empty_collection_comparison_expression | collection_member_expression |
+exists_expression
+                    </p>
+                </li><li class="listitem">
+                    <p>
+between_expression ::= arithmetic_expression [ <code class="literal">NOT</code> ]
+<code class="literal">BETWEEN</code> arithmetic_expression <code class="literal">AND</code>
+arithmetic_expression | string_expression [ <code class="literal">NOT</code> ] <code class="literal">
+BETWEEN</code> string_expression <code class="literal">AND</code> string_expression |
+datetime_expression [ <code class="literal">NOT</code> ] <code class="literal">BETWEEN</code>
+datetime_expression <code class="literal">AND</code> datetime_expression
+                    </p>
+                </li><li class="listitem">
+                    <p>
+in_expression ::= {state_field_path_expression | type_discriminator} [ <code class="literal">NOT</code> ]
+<code class="literal">IN</code> {( in_item {, in_item}*) | (subquery) | collection_valued_input_parameter }
+                    </p>
+                </li><li class="listitem">
+                    <p>
+in_item ::= literal | single_valued_input_parameter
+                    </p>
+                </li><li class="listitem">
+                    <p>
+like_expression ::= string_expression [ <code class="literal">NOT</code> ] <code class="literal">LIKE
+</code> pattern_value [ <code class="literal">ESCAPE</code> escape_character]
+                    </p>
+                </li><li class="listitem">
+                    <p>
+null_comparison_expression ::= {single_valued_path_expression | input_parameter}
+<code class="literal">IS</code> [ <code class="literal">NOT</code> ] <code class="literal">NULL</code>
+                    </p>
+                </li><li class="listitem">
+                    <p>
+empty_collection_comparison_expression ::= collection_valued_path_expression
+<code class="literal">IS</code> [ <code class="literal">NOT</code> ] <code class="literal">EMPTY</code>
+                    </p>
+                </li><li class="listitem">
+                    <p>
+collection_member_expression ::= entity_expression [ <code class="literal">NOT</code> ]
+<code class="literal">MEMBER</code> [ <code class="literal">OF</code> ]
+collection_valued_path_expression
+                    </p>
+                </li><li class="listitem">
+                    <p>
+entity_or_value_expression ::=
+single_valued_object_path_expression |
+state_field_path_expression |
+simple_entity_or_value_expression
+                    </p>
+                </li><li class="listitem">
+                    <p>
+simple_entity_or_value_expression ::=
+identification_variable |
+input_parameter |
+literal
+                    </p>
+                </li><li class="listitem">
+                    <p>
+exists_expression ::= [ <code class="literal">NOT</code> ] <code class="literal">EXISTS</code>
+(subquery)
+                    </p>
+                </li><li class="listitem">
+                    <p>
+all_or_any_expression ::= { <code class="literal">ALL</code> | <code class="literal">ANY</code> |
+<code class="literal">SOME</code> }(subquery)
+                    </p>
+                </li><li class="listitem">
+                    <p>
+comparison_expression ::=
+string_expression comparison_operator {string_expression | all_or_any_expression} | 
+boolean_expression {= | &lt;&gt;} {boolean_expression | all_or_any_expression} |
+enum_expression {= |&lt;&gt;} {enum_expression | all_or_any_expression} |
+datetime_expression comparison_operator {datetime_expression |
+all_or_any_expression} | entity_expression {= | &lt;&gt;} {entity_expression |
+all_or_any_expression} | arithmetic_expression comparison_operator
+{arithmetic_expression | all_or_any_expression} |
+entity_type_expression {= |&lt;&gt;} entity_type_expression}
+                    </p>
+                </li><li class="listitem">
+                    <p>
+comparison_operator ::= = | &gt; | &gt;= | &lt; | &lt;= | &lt;&gt;
+                    </p>
+                </li><li class="listitem">
+                    <p>
+arithmetic_expression ::= arithmetic_term | arithmetic_expression {+ | -} arithmetic_term
+                    </p>
+                </li><li class="listitem">
+                    <p>
+arithmetic_term ::= arithmetic_factor | arithmetic_term {* | /} arithmetic_factor
+                    </p>
+                </li><li class="listitem">
+                    <p>
+arithmetic_factor ::= [{+ | -}] arithmetic_primary
+                    </p>
+                </li><li class="listitem">
+                    <p>
+arithmetic_primary ::=
+    state_valued_path_expression | numeric_literal |
+    (arithmetic_expression) |
+    input_parameter |
+    functions_returning_numerics |
+    aggregate_expression |
+    case_expression |
+    function_invocation |
+    (subquery)
+                    </p>
+                </li><li class="listitem">
+                    <p>
+string_expression ::=
+    state_valued_path_expression |
+    string_literal |
+    input_parameter |
+    functions_returning_strings |
+    aggregate_expression |
+    case_expression |
+    function_invocation |
+    (subquery)
+                    </p>
+                </li><li class="listitem">
+                    <p>
+datetime_expression ::=
+    state_valued_path_expression |
+    input_parameter |
+    functions_returning_datetime |
+    aggregate_expression |
+    case_expression |
+    function_invocation |
+    date_time_timestamp_literal |
+    (subquery)
+                    </p>
+                </li><li class="listitem">
+                    <p>
+boolean_expression ::=
+    state_valued_path_expression |
+    boolean_literal |
+    input_parameter |
+    case_expression |
+    function_invocation |
+    (subquery)
+                    </p>
+                </li><li class="listitem">
+                    <p>
+enum_expression ::=
+    state_valued_path_expression |
+    enum_literal |
+    input_parameter |
+    case_expression |
+    (subquery)
+                    </p>
+                </li><li class="listitem">
+                    <p>
+entity_expression ::= single_valued_object_path_expression |
+simple_entity_expression
+                    </p>
+                </li><li class="listitem">
+                    <p>
+simple_entity_expression ::= identification_variable | input_parameter
+                    </p>
+                </li><li class="listitem">
+                    <p>
+entity_type_expression ::=
+type_discriminator |
+entity_type_literal |
+input_parameter
+                    </p>
+                </li><li class="listitem">
+                    <p>
+type_discriminator ::=
+<code class="literal">TYPE</code>(identification_variable |
+single_valued_object_path_expression |
+input_parameter)
+                    </p>
+                </li><li class="listitem">
+                    <p>
+functions_returning_numerics ::= <code class="literal">LENGTH</code> (string_primary)|
+<code class="literal">LOCATE</code> (string_primary,string_primary [,
+arithmetic_expression]) | <code class="literal">ABS</code>
+(arithmetic_expression) | <code class="literal">CEILING</code>
+(arithmetic_expression) | <code class="literal">EXP</code>
+(arithmetic_expression) | <code class="literal">FLOOR</code>
+(arithmetic_expression) | <code class="literal">LN</code>
+(arithmetic_expression) | <code class="literal">SIGN</code>
+(arithmetic_expression) | <code class="literal">SQRT</code>
+(arithmetic_expression) | <code class="literal">MOD</code>
+(arithmetic_expression, arithmetic_expression) | <code class="literal">POWER</code>
+(arithmetic_expression) | <code class="literal">ROUND</code>
+(arithmetic_expression, arithmetic_expression) | <code class="literal">SIZE
+</code> (collection_valued_path_expression) |
+<code class="literal">INDEX</code>(identification_variable) |
+extract_datetime_field
+                    </p>
+                </li><li class="listitem">
+                    <p>
+functions_returning_datetime ::= <code class="literal">CURRENT_DATE</code> | <code class="literal">
+CURRENT_TIME</code> | <code class="literal">CURRENT_TIMESTAMP</code> |
+<code class="literal">LOCAL DATE</code> |
+<code class="literal">LOCAL TIME</code> |
+<code class="literal">LOCAL DATETIME</code> |
+extract_datetime_part
+                    </p>
+                </li><li class="listitem">
+                    <p>
+functions_returning_strings ::= <code class="literal">CONCAT</code> (string_expression,
+string_expression) | <code class="literal">SUBSTRING</code> (string_expression,
+arithmetic_expression[,arithmetic_expression])| <code class="literal">TRIM
+</code> ([[trim_specification] [trim_character] <code class="literal">FROM</code> ]
+string_expression) | <code class="literal">LOWER</code> (string_expression) | <code class="literal">UPPER
+</code> (string_expression)
+                    </p>
+                </li><li class="listitem">
+                    <p>
+trim_specification ::= <code class="literal">LEADING</code> | <code class="literal">TRAILING</code>
+| <code class="literal">BOTH</code>
+                    </p>
+                </li><li class="listitem">
+                    <p>
+function_invocation ::= <code class="literal">FUNCTION</code>(function_name{, function_arg}*)
+                    </p>
+                </li><li class="listitem">
+                    <p>
+extract_datetime_field :=
+    <code class="literal">EXTRACT</code>(datetime_field FROM datetime_expression)
+                    </p>
+                </li><li class="listitem">
+                    <p>
+datetime_field := identification_variable
+                    </p>
+                </li><li class="listitem">
+                    <p>
+extract_datetime_part :=
+    <code class="literal">EXTRACT</code>(datetime_part FROM datetime_expression)
+                    </p>
+                </li><li class="listitem">
+                    <p>
+datetime_part := identification_variable
+                    </p>
+                </li><li class="listitem">
+                    <p>
+function_arg ::=
+    literal |
+    state_valued_path_expression |
+    input_parameter |
+    scalar_expression
+                    </p>
+                </li><li class="listitem">
+                    <p>
+case_expression ::=
+general_case_expression |
+simple_case_expression |
+coalesce_expression |
+nullif_expression
+                    </p>
+                </li><li class="listitem">
+                    <p>
+general_case_expression::=
+<code class="literal">CASE</code> when_clause {when_clause}* <code class="literal">ELSE</code> scalar_expression <code class="literal">END</code>
+                    </p>
+                </li><li class="listitem">
+                    <p>
+when_clause::= <code class="literal">WHEN</code> conditional_expression <code class="literal">THEN</code> scalar_expression
+                    </p>
+                </li><li class="listitem">
+                    <p>
+simple_case_expression::=
+<code class="literal">CASE</code> case_operand simple_when_clause {simple_when_clause}*
+<code class="literal">ELSE</code> scalar_expression
+<code class="literal">END</code>
+                    </p>
+                </li><li class="listitem">
+                    <p>
+case_operand::= state_field_path_expression | type_discriminator
+                    </p>
+                </li><li class="listitem">
+                    <p>
+simple_when_clause::= <code class="literal">WHEN</code> scalar_expression <code class="literal">THEN</code> scalar_expression
+                    </p>
+                </li><li class="listitem">
+                    <p>
+coalesce_expression::= <code class="literal">COALESCE</code>(scalar_expression {, scalar_expression}+)
+                    </p>
+                </li><li class="listitem">
+                    <p>
+nullif_expression::= <code class="literal">NULLIF</code>(scalar_expression, scalar_expression)
+                    </p>
+                </li></ul></div>
+        </div>
+    </div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="jpa_overview_query.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="jpa_overview_query.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="jpa_overview_criteria.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter&nbsp;10.&nbsp;
+        JPA Query
+    &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;11.&nbsp;
+        JPA Criteria
+    </td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/4.1.0/apache-openjpa/docs/jpa_overview.html b/4.1.0/apache-openjpa/docs/jpa_overview.html
new file mode 100644
index 000000000..feb157055
--- /dev/null
+++ b/4.1.0/apache-openjpa/docs/jpa_overview.html
@@ -0,0 +1,469 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+   <title>Part&nbsp;2.&nbsp;Java Persistence API</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 3.2 User's Guide"><link rel="up" href="manual.html" title="Apache OpenJPA 3.2 User's Guide"><link rel="prev" href="openjpa_legal_copyright.html" title="3.&nbsp; Copyrights"><link rel="next" href="jpa_overview_intro.html" title="Ch [...]
+        Introduction
+    </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_intro.html#jpa_overview_intro_audience">1. 
+            Intended Audience
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_intro_transpers.html">2. 
+            Lightweight Persistence
+        </a></span></dt></dl></dd><dt><span class="chapter"><a href="jpa_overview_why.html">2. 
+        Why JPA?
+    </a></span></dt><dt><span class="chapter"><a href="jpa_overview_arch.html">3. 
+        Java Persistence API Architecture
+    </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_arch.html#jpa_overview_arch_exceptions">1. 
+            JPA Exceptions
+        </a></span></dt></dl></dd><dt><span class="chapter"><a href="jpa_overview_pc.html">4. 
+        Entity
+    </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_pc.html#jpa_overview_pc_restrict">1. 
+            Restrictions on Persistent Classes
+        </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_pc.html#jpa_overview_pc_no_arg">1.1. 
+                Default or No-Arg Constructor
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_pc.html#jpa_overview_pc_final">1.2. 
+                Final
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_pc.html#jpa_overview_pc_id">1.3. 
+                Identity Fields
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_pc.html#jpa_overview_pc_version">1.4. 
+                Version Field
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_pc.html#jpa_overview_pc_restrict_inheritance">1.5. 
+                Inheritance
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_pc.html#jpa_overview_pc_restrict_fields">1.6. 
+                Persistent Fields
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_pc.html#jpa_overview_pc_restrict_conclusion">1.7. 
+                Conclusions
+            </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_overview_pc_identity.html">2. 
+            Entity Identity
+        </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_pc_identity.html#jpa_overview_pc_identitycls">2.1. 
+                Identity Class
+            </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_pc_identity.html#jpa_overview_pc_identity_hierarchy">2.1.1. 
+                    Identity Hierarchies
+                </a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="jpa_overview_pc_callbacks.html">3. 
+            Lifecycle Callbacks
+        </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_pc_callbacks.html#jpa_overview_pc_callbacks_methods">3.1. 
+                Callback Methods
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_pc_callbacks.html#jpa_overview_callbacks_using">3.2. 
+                Using Callback Methods
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_pc_callbacks.html#jpa_overview_entity_listeners_using">3.3. 
+                Using Entity Listeners
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_pc_callbacks.html#jpa_overview_entity_listeners_exclude">3.4. 
+                Entity Listeners Hierarchy
+            </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_overview_pc_conclusion.html">4. 
+            Conclusions
+        </a></span></dt></dl></dd><dt><span class="chapter"><a href="jpa_overview_meta.html">5. 
+        Metadata
+    </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_meta.html#jpa_overview_meta_class">1. 
+            Class Metadata
+        </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_meta.html#jpa_overview_meta_entity">1.1. 
+                Entity
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_meta.html#jpa_overview_meta_idclass">1.2. 
+                Id Class
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_meta.html#jpa_overview_meta_embeddablesuper">1.3. 
+                Mapped Superclass
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_meta.html#jpa_overview_meta_embeddable">1.4. 
+                Embeddable
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_meta.html#jpa_overview_meta_entity_listeners">1.5. 
+                EntityListeners
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_meta.html#jpa_overview_meta_classex">1.6. 
+                Example
+            </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_overview_meta_field.html">2. 
+            Field and Property Metadata
+        </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_meta_field.html#jpa_overview_explicit_access">2.1. 
+            Explicit Access
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_meta_field.html#jpa_overview_meta_transient">2.2. 
+                Transient
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_meta_field.html#jpa_overview_meta_id">2.3. 
+                Id
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_meta_field.html#jpa_overview_meta_gen">2.4. 
+                Generated Value
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_meta_field.html#jpa_overview_meta_embedid">2.5. 
+                Embedded Id
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_meta_field.html#jpa_overview_meta_version">2.6. 
+                Version
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_meta_field.html#jpa_overview_meta_basic">2.7. 
+                Basic
+            </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_meta_field.html#jpa_overview_meta_fetch">2.7.1. 
+                    Fetch Type
+                </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_overview_meta_field.html#jpa_overview_meta_embedded">2.8. 
+                Embedded
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_meta_field.html#jpa_overview_meta_manytoone">2.9. 
+                Many To One
+            </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_meta_field.html#jpa_overview_meta_cascade">2.9.1. 
+                    Cascade Type
+                </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_overview_meta_field.html#jpa_overview_meta_onetomany">2.10. 
+                One To Many
+            </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_meta_field.html#jpa_overview_meta_mappedby">2.10.1. 
+                    Bidirectional Relations
+                </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_overview_meta_field.html#jpa_overview_meta_onetoone">2.11. 
+                One To One
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_meta_field.html#jpa_overview_meta_manytomany">2.12. 
+                Many To Many
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_meta_field.html#jpa_overview_meta_orderby">2.13. 
+                Order By
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_meta_field.html#jpa_overview_meta_mapkey">2.14. 
+                Map Key
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_meta_field.html#jpa_overview_meta_fielddefaults">2.15. 
+                Persistent Field Defaults
+            </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_overview_meta_xml.html">3. 
+            XML Schema
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_meta_complete.html">4. 
+            Conclusion
+        </a></span></dt></dl></dd><dt><span class="chapter"><a href="jpa_overview_persistence.html">6. 
+        Persistence
+    </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_persistence.html#jpa_overview_persistence_xml">1. 
+            persistence.xml
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_persistence_use.html">2. 
+            Non-EE Use
+        </a></span></dt></dl></dd><dt><span class="chapter"><a href="jpa_overview_emfactory.html">7. 
+        EntityManagerFactory
+    </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_emfactory.html#jpa_overview_emfactory_obtain">1. 
+            Obtaining an EntityManagerFactory
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_emfactory_em.html">2. 
+            Obtaining EntityManagers
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_emfactory_perscontext.html">3. 
+            Persistence Context
+        </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_emfactory_perscontext.html#jpa_overview_emfactory_perscontext_trans">3.1. 
+                Transaction Persistence Context
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_emfactory_perscontext.html#jpa_overview_emfactory_perscontext_extend">3.2. 
+                Extended Persistence Context
+            </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_overview_emf_properties.html">4. 
+			Retrieving Properties Information
+		</a></span></dt><dt><span class="section"><a href="jpa_overview_emfactory_close.html">5. 
+            Closing the EntityManagerFactory
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_emfactory_puutil.html">6. 
+            PersistenceUnitUtil
+        </a></span></dt></dl></dd><dt><span class="chapter"><a href="jpa_overview_em.html">8. 
+        EntityManager
+    </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_em.html#jpa_overview_em_trans">1. 
+            Transaction Association
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_em_lifecycle.html">2. 
+            Entity Lifecycle Management
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_em_lifeexamples.html">3. 
+            Lifecycle Examples
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_em_identity.html">4. 
+            Entity Identity Management
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_em_cache.html">5. 
+            Cache Management
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_em_query.html">6. 
+            Query Factory
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_em_locking.html">7. 
+            Entity Locking
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_em_properties.html">8. 
+			Retrieving Properties Information
+		</a></span></dt><dt><span class="section"><a href="jpa_overview_em_closing.html">9. 
+            Closing
+        </a></span></dt></dl></dd><dt><span class="chapter"><a href="jpa_overview_trans.html">9. 
+        Transaction
+    </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_trans.html#jpa_overview_trans_types">1. 
+            Transaction Types
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_trans_local.html">2. 
+            The EntityTransaction Interface
+        </a></span></dt></dl></dd><dt><span class="chapter"><a href="jpa_overview_query.html">10. 
+        JPA Query
+    </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_query.html#jpa_query_api">1. 
+            JPQL API
+        </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_query.html#jpa_overview_query_basic">1.1. 
+                Query Basics
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_query.html#jpa_overview_query_relations">1.2. 
+                Relation Traversal
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_query.html#jpa_overview_query_embeddables">1.3. 
+                Embeddable Traversal
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_query.html#jpa_overview_join_fetch">1.4. 
+                Fetch Joins
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_query.html#jpa_overview_query_functions">1.5. 
+                JPQL Functions
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_query.html#jpa_overview_query_inheritance">1.6. 
+                Polymorphic Queries
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_query.html#jpa_overview_query_params">1.7. 
+                Query Parameters
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_query.html#jpa_overview_query_hints">1.8. 
+                Query Hints
+            </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_query.html#jpa_hints_locking">1.8.1. 
+                    Locking Hints
+                </a></span></dt><dt><span class="section"><a href="jpa_overview_query.html#jpa_hints_locktimeout">1.8.2. 
+                    Lock Timeout Hint
+                </a></span></dt><dt><span class="section"><a href="jpa_overview_query.html#jpa_hints_querytimeout">1.8.3. 
+                    Query Timeout Hint
+                </a></span></dt><dt><span class="section"><a href="jpa_overview_query.html#jpa_hints_resultset">1.8.4. 
+                    Result Set Size Hint
+                </a></span></dt><dt><span class="section"><a href="jpa_overview_query.html#jpa_hints_isolation">1.8.5. 
+                    Isolation Level Hint
+                </a></span></dt><dt><span class="section"><a href="jpa_overview_query.html#jpa_hints_fetchplan">1.8.6. 
+                    Other Fetchplan Hints
+                </a></span></dt><dt><span class="section"><a href="jpa_overview_query.html#d5e3458">1.8.7. 
+                    Database-Specific Hints
+                </a></span></dt><dt><span class="section"><a href="jpa_overview_query.html#jpa_hints_named">1.8.8. 
+                    Named Query Hints
+                </a></span></dt><dt><span class="section"><a href="jpa_overview_query.html#multi-hints-handling">1.8.9. 
+                    Handling of Multiple Similar Query Hints
+                </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_overview_query.html#jpa_overview_query_ordering">1.9. 
+                Ordering
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_query.html#jpa_overview_query_aggregates">1.10. 
+                Aggregates
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_query.html#jpa_overview_query_named">1.11. 
+                Named Queries
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_query.html#jpa_overview_query_delete">1.12. 
+                Delete By Query
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_query.html#jpa_overview_query_update">1.13. 
+                Update By Query
+            </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_langref.html">2. 
+            JPQL Language Reference
+        </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_langref.html#jpa_langref_stmnttypes">2.1. 
+                JPQL Statement Types
+            </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_langref.html#jpa_langref_select">2.1.1. 
+                    JPQL Select Statement
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_bulk">2.1.2. 
+                    JPQL Update and Delete Statements
+                </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_langref.html#jpa_langref_schematypes">2.2. 
+                JPQL Abstract Schema Types and Query Domains
+            </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_langref.html#jpa_langref_schemanaming">2.2.1. 
+                    JPQL Entity Naming
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_schemaexample">2.2.2. 
+                    JPQL Schema Example
+                </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_langref.html#jpa_langref_fromclause">2.3. 
+                JPQL FROM Clause and Navigational Declarations
+            </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_langref.html#jpa_langref_from_identifiers">2.3.1. 
+                    JPQL FROM Identifiers
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_from_vars">2.3.2. 
+                    JPQL Identification Variables
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_range">2.3.3. 
+                    JPQL Range Declarations
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_path">2.3.4. 
+                    JPQL Path Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_Joins">2.3.5. 
+                    JPQL Joins
+                </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_langref.html#jpa_langref_inner_joins">2.3.5.1. 
+                        JPQL Inner Joins (Relationship Joins)
+                    </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_outer_joins">2.3.5.2. 
+                        JPQL Outer Joins
+                    </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_fetch_joins">2.3.5.3. 
+                        JPQL Fetch Joins
+                    </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_langref.html#jpa_langref_collection_dec">2.3.6. 
+                    JPQL Collection Member Declarations
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_from_clause_and_sql">2.3.7. 
+                    JPQL FROM Clause and SQL
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_polymorph">2.3.8. 
+                    JPQL Polymorphism
+                </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_langref.html#jpa_langref_where">2.4. 
+                JPQL WHERE Clause
+            </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_cond">2.5. 
+                JPQL Conditional Expressions
+            </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_langref.html#jpa_langref_lit">2.5.1. 
+                    JPQL Literals
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_idvar">2.5.2. 
+                    JPQL Identification Variables
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_path_exp">2.5.3. 
+                    JPQL Path Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_input_params">2.5.4. 
+                    JPQL Input Parameters
+                </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_langref.html#jpa_langref_pos_params">2.5.4.1. 
+                        JPQL Positional Parameters
+                    </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_named_params">2.5.4.2. 
+                        JPQL Named Parameters
+                    </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_langref.html#jpa_langref_cond_comp">2.5.5. 
+                    JPQL Conditional Expression Composition
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_operators">2.5.6. 
+                    JPQL Operators and Operator Precedence
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_comparison_expressions">2.5.7. 
+                    JPQL Comparison Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_between">2.5.8. 
+                    JPQL Between Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_in_expressions">2.5.9. 
+                    JPQL In Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_like">2.5.10. 
+                    JPQL Like Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_null">2.5.11. 
+                    JPQL Null Comparison Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_empty_comp">2.5.12. 
+                    JPQL Empty Collection Comparison Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_collection_member">2.5.13. 
+                    JPQL Collection Member Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_exists">2.5.14. 
+                    JPQL Exists Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_all_any">2.5.15. 
+                    JPQL All or Any Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_subqueries">2.5.16. 
+                    JPQL Subqueries
+                </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_langref.html#jpa_langref_scalar_expressions">2.6. 
+                    JPQL Scalar Expressions
+                </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_langref.html#jpa_langref_math_expressions">2.6.1. 
+                    Arithmetic Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_functional_expressions">2.6.2. 
+                    String, Arithmetic, and Datetime Functional Expressions
+                </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_langref.html#jpa_langref_string_fun">2.6.2.1. 
+                        JPQL String Functions
+                    </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_arithmetic">2.6.2.2. 
+                        JPQL Arithmetic Functions
+                    </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_datetime">2.6.2.3. 
+                        JPQL Datetime Functions
+                    </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_langref.html#jpa_langref_case_expressions">2.6.3. 
+                    Case Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_entity_type_expressions">2.6.4. 
+                    Entity Type Expressions
+                </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_langref.html#jpa_langref_group">2.7. 
+                JPQL GROUP BY, HAVING
+            </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_select_clause">2.8. 
+                JPQL SELECT Clause
+            </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_langref.html#jpa_langref_resulttype">2.8.1. 
+                    JPQL Result Type of the SELECT Clause
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_constructor">2.8.2. 
+                    JPQL Constructor Expressions
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_null_select">2.8.3. 
+                    JPQL Null Values in the Query Result
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_embeddables">2.8.4. 
+                    JPQL Embeddables in the Query Result
+                </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_aggregates">2.8.5. 
+                    JPQL Aggregate Functions
+                </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_langref.html#jpa_langref_agg_examples">2.8.5.1. 
+                        JPQL Aggregate Examples
+                    </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_numeric_expressions_in_select">2.8.5.2. 
+                        JPQL Numeric Expressions in the SELECT Clause
+                    </a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="jpa_langref.html#jpa_langref_orderby">2.9. 
+                JPQL ORDER BY Clause
+            </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_bulk_ops">2.10. 
+                JPQL Bulk Update and Delete
+            </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_null_values">2.11. 
+                JPQL Null Values
+            </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_equality">2.12. 
+                JPQL Equality and Comparison Semantics
+            </a></span></dt><dt><span class="section"><a href="jpa_langref.html#jpa_langref_bnf">2.13. 
+                JPQL BNF
+            </a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="jpa_overview_criteria.html">11. 
+        JPA Criteria
+    </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_criteria.html#d5e5484">1. Constructing a CriteriaQuery</a></span></dt><dt><span class="section"><a href="ch13s02.html">2. Executing a CriteriaQuery</a></span></dt><dt><span class="section"><a href="ch13s03.html">3. Extension to Criteria API</a></span></dt><dt><span class="section"><a href="ch13s04.html">4. Generation of Canonical MetaModel classes</a></span></dt></dl></dd><dt><span class="chapter"><a href="jpa_ov [...]
+        SQL Queries
+    </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_sqlquery.html#jpa_overview_sqlquery_create">1. 
+            Creating SQL Queries
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_sqlquery_obj.html">2. 
+            Retrieving Persistent Objects with SQL
+        </a></span></dt></dl></dd><dt><span class="chapter"><a href="jpa_overview_mapping.html">13. 
+        Mapping Metadata
+    </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_mapping.html#jpa_overview_mapping_table">1. 
+            Table
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_mapping_unq.html">2. 
+            Unique Constraints
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_mapping_column.html">3. 
+            Column
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_mapping_id.html">4. 
+            Identity Mapping
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_mapping_sequence.html">5. 
+            Generators
+        </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_mapping_sequence.html#jpa_overview_mapping_sequence_seqgen">5.1. 
+                Sequence Generator
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_mapping_sequence.html#jpa_overview_mapping_sequence_tablegen">5.2. 
+                Table Generator
+            </a></span></dt><dt><span class="section"><a href="jpa_overview_mapping_sequence.html#jpa_overview_mapping_sequence_genex">5.3. 
+                Example
+            </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_overview_mapping_inher.html">6. 
+            Inheritance
+        </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_mapping_inher.html#jpa_overview_mapping_inher_single">6.1. 
+                Single Table
+            </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_mapping_inher.html#jpa_overview_mapping_inher_single_adv">6.1.1. 
+                    Advantages
+                </a></span></dt><dt><span class="section"><a href="jpa_overview_mapping_inher.html#jpa_overview_mapping_inher_single_disadv">6.1.2. 
+                    Disadvantages
+                </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_overview_mapping_inher.html#jpa_overview_mapping_inher_joined">6.2. 
+                Joined
+            </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_mapping_inher.html#jpa_overview_mapping_inher_joined_adv">6.2.1. 
+                    Advantages
+                </a></span></dt><dt><span class="section"><a href="jpa_overview_mapping_inher.html#jpa_overview_mapping_inher_joined_disadv">6.2.2. 
+                    Disadvantages
+                </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_overview_mapping_inher.html#jpa_overview_mapping_inher_tpc">6.3. 
+                Table Per Class
+            </a></span></dt><dd><dl><dt><span class="section"><a href="jpa_overview_mapping_inher.html#jpa_overview_mapping_inher_tpc_adv">6.3.1. 
+                    Advantages
+                </a></span></dt><dt><span class="section"><a href="jpa_overview_mapping_inher.html#jpa_overview_mapping_inher_tpc_disadv">6.3.2. 
+                    Disadvantages
+                </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_overview_mapping_inher.html#jpa_overview_mapping_inher_together">6.4. 
+                Putting it All Together
+            </a></span></dt></dl></dd><dt><span class="section"><a href="jpa_overview_mapping_discrim.html">7. 
+            Discriminator
+        </a></span></dt><dt><span class="section"><a href="jpa_overview_mapping_field.html">8. 
... 356534 lines suppressed ...