Added:
websites/production/openjpa/content/builds/2.4.2/apache-openjpa/docs/ref_guide.html
==============================================================================
---
websites/production/openjpa/content/builds/2.4.2/apache-openjpa/docs/ref_guide.html
(added)
+++
websites/production/openjpa/content/builds/2.4.2/apache-openjpa/docs/ref_guide.html
Fri Jan 6 19:19:20 2017
@@ -0,0 +1,709 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+ <title>Part 3. Reference Guide</title><base href="display"><link
rel="stylesheet" type="text/css" href="css/docbook.css"><meta name="generator"
content="DocBook XSL Stylesheets V1.79.1"><link rel="home" href="manual.html"
title="Apache OpenJPA 2.4 User's Guide"><link rel="up" href="manual.html"
title="Apache OpenJPA 2.4 User's Guide"><link rel="prev"
href="jpa_overview_conclusion.html" title="Chapter 14.
Conclusion"><link rel="next" href="ref_guide_intro.html"
title="Chapter 1. Introduction"></head><body bgcolor="white"
text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div
class="navheader"><table width="100%" summary="Navigation header"><tr><th
colspan="3" align="center">Part 3. Reference Guide</th></tr><tr><td
width="20%" align="left"><a accesskey="p"
href="jpa_overview_conclusion.html">Prev</a> </td><th width="60%"
align="center"> </th><td width="20%" align="right"> <a accesskey="n"
href="ref_guide_intro.html"
>Next</a></td></tr></table><hr></div><div class="part" id="ref_guide"><div
>class="titlepage"><div><div><h1 class="title">Part 3. Reference
>Guide</h1></div></div></div><div class="toc"><p><b>Table of
>Contents</b></p><dl class="toc"><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#d5e9425">8.1.
Configuration</a></span></dt><dt><span class="section"><a
href="ref_guide_audit.html#d5e9447">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</a></span></dt><dt><span class="section"><a
href="ref_guide_dbsetup_thirdparty.html#ref_guide_dbsetup_setDSLimitations">2.2.1.2.
Limitations</a></span></dt><dt><span class="section"><a
href="ref_guide_dbsetup_thirdparty.html#ref_guide_dbsetup_setDSError">2.2.1.3.
Error handling</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span
class="section"><a href="ref_guide_dbsetup_sqlconn.html">3.
+ 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_mapping_jpa.html#ref_guide_mapping_jpa_map_ex">7.8.4.
Examples</a></span></dt></dl></dd><dt><span class="section"><a
href="ref_guide_mapping_jpa.html#ref_guide_mapping_jpa_constraints">7.9.
+ 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#d5e16866">2.1.
Transparency</a></span></dt><dt><span class="section"><a
href="features_and_limitations.html#d5e16872">2.2.
Scaling</a></span></dt><dt><span class="section"><a
href="features_and_limitations.html#d5e16878">2.3. Distributed
Query</a></span></dt><dt><span class="section"><a
href="features_and_limitations.html#d5e16901">2.4. Data
Distribution</a></span></dt><dt><span class="section"><a
href="features_and_limitations.html#d5e16920">2.5. Data
Replication</a></span></dt><dt><span class="section"><a
href="features_and_limitations.html#d5e16929">2.6. Heterogeneous
Database</a></span></dt><dt><span class="section"><a
href="features_and_limitations.html#d5e16932">2.7. Distributed Tran
saction</a></span></dt><dt><span class="section"><a
href="features_and_limitations.html#collocation_constraint">2.8. Collocation
Constraint</a></span></dt></dl></dd><dt><span class="section"><a
href="slice_configuration.html">3. Usage</a></span></dt><dd><dl><dt><span
class="section"><a href="slice_configuration.html#d5e16949">3.1. How to
activate Slice Runtime?</a></span></dt><dt><span class="section"><a
href="slice_configuration.html#d5e16953">3.2. How to configure each database
slice?</a></span></dt><dt><span class="section"><a
href="slice_configuration.html#distribution_policy">3.3. Implement
DistributionPolicy interface</a></span></dt><dt><span class="section"><a
href="slice_configuration.html#replication_policy">3.4. Implement
ReplicationPolicy interface</a></span></dt></dl></dd><dt><span
class="section"><a href="ch29s04.html">4. Configuration
Properties</a></span></dt><dd><dl><dt><span class="section"><a
href="ch29s04.html#d5e17012">4.1. Global Properties</a></span></dt><dd><d
l><dt><span class="section"><a href="ch29s04.html#d5e17014">4.1.1.
openjpa.slice.DistributionPolicy</a></span></dt><dt><span class="section"><a
href="ch29s04.html#d5e17020">4.1.2.
openjpa.slice.Lenient</a></span></dt><dt><span class="section"><a
href="ch29s04.html#d5e17027">4.1.3.
openjpa.slice.Master</a></span></dt><dt><span class="section"><a
href="ch29s04.html#d5e17035">4.1.4.
openjpa.slice.Names</a></span></dt><dt><span class="section"><a
href="ch29s04.html#d5e17043">4.1.5.
openjpa.slice.ThreadingPolicy</a></span></dt><dt><span class="section"><a
href="ch29s04.html#d5e17069">4.1.6.
openjpa.slice.TransactionPolicy</a></span></dt></dl></dd><dt><span
class="section"><a href="ch29s04.html#d5e17087">4.2. Per-Slice
Properties</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a
href="ref_guide_integration.html">14.
+ 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></div>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </div><div class="navfooter"><hr><table width="100%" summary="Navigation
footer"><tr><td width="40%" align="left"><a accesskey="p"
href="jpa_overview_conclusion.html">Prev</a> </td><td width="20%"
align="center"> </td><td width="40%" align="right"> <a accesskey="n"
href="ref_guide_intro.html">Next</a></td></tr><tr><td width="40%" align="left"
valign="top">Chapter 14.
+ Conclusion
+ </td><td width="20%" align="center"><a accesskey="h"
href="manual.html">Home</a></td><td width="40%" align="right"
valign="top"> Chapter 1.
+ Introduction
+ </td></tr></table></div></body></html>
\ No newline at end of file
Added:
websites/production/openjpa/content/builds/2.4.2/apache-openjpa/docs/ref_guide_audit.html
==============================================================================
---
websites/production/openjpa/content/builds/2.4.2/apache-openjpa/docs/ref_guide_audit.html
(added)
+++
websites/production/openjpa/content/builds/2.4.2/apache-openjpa/docs/ref_guide_audit.html
Fri Jan 6 19:19:20 2017
@@ -0,0 +1,103 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+ <title>8. OpenJPA Audit</title><base href="display"><link
rel="stylesheet" type="text/css" href="css/docbook.css"><meta name="generator"
content="DocBook XSL Stylesheets V1.79.1"><link rel="home" href="manual.html"
title="Apache OpenJPA 2.4 User's Guide"><link rel="up"
href="ref_guide_logging.html" title="Chapter 3. Logging and
Auditing"><link rel="prev" href="ref_guide_logging_custom.html" title="7.
Custom Log"><link rel="next" href="ref_guide_dbsetup.html"
title="Chapter 4. JDBC"></head><body bgcolor="white" text="black"
link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table
width="100%" summary="Navigation header"><tr><th colspan="3"
align="center">8. OpenJPA Audit</th></tr><tr><td width="20%"
align="left"><a accesskey="p"
href="ref_guide_logging_custom.html">Prev</a> </td><th width="60%"
align="center">Chapter 3.
+ Logging and Auditing
+ </th><td width="20%" align="right"> <a accesskey="n"
href="ref_guide_dbsetup.html">Next</a></td></tr></table><hr></div><div
class="section" id="ref_guide_audit"><div class="titlepage"><div><div><h2
class="title" style="clear: both">8. OpenJPA
Audit</h2></div></div></div><div class="toc"><dl class="toc"><dt><span
class="section"><a href="ref_guide_audit.html#d5e9425">8.1.
Configuration</a></span></dt><dt><span class="section"><a
href="ref_guide_audit.html#d5e9447">8.2. Developing custom
auditing</a></span></dt></dl></div>
+
+ Transactional applications often require to audit changes in persistent
objects.
+ OpenJPA can enable audit facility for all persistent entities in few
simple steps.
+ <div class="section" id="d5e9425"><div class="titlepage"><div><div><h3
class="title">8.1. Configuration</h3></div></div></div>
+
+ <p><span class="emphasis"><em>Annotate Persistent Entity</em></span>
+ Any persistence entity can be enabled for audit by annotating with
+ <code class="literal">org.apache.openjpa.audit.Auditable</code>.
+ </p>
+ <pre class="programlisting">
+ @javax.persistence.Entity
+ @org.apache.openjpa.audit.Auditable
+ public class MyDomainObject { ...}
+ </pre>
+ <p>
+ This <code class="literal">Auditable</code> annotation enables auditing of
creation, update or delete of
+ <code class="literal">MyDomainObject</code> instances. The <code
class="literal">Auditable</code> annotation accepts
+ list of enumerated values <code
class="literal">org.apache.openjpa.audit.AuditableOperation</code> namely
+ <code class="literal">CREATE</code>, <code class="literal">UPDATE</code>
and <code class="literal">DELETE</code> to customize
+ only appropriate operations be audited. By deafult, all of the above
operations are audited.
+ </p>
+ <p><span class="emphasis"><em>Configure Persistence
Configuration</em></span>
+ The audit facility is invoked at runtime via configuration of <code
class="literal">META-INF/persistence.xml</code>.
+ The following property configures auditing via a default auditor
+ </p>
+ <pre class="programlisting"><property name="openjpa.Auditor"
value="default"/></pre>
+ <p>
+ The default auditor does not do much. It simply prints each auditable
instance with its latest and original
+ states on a standard console (or to a designated file).
+ </p>
+ <p>The <span class="emphasis"><em>latest</em></span> state of an instance
designates the state which is commited to the
+ database.
+ The <span class="emphasis"><em>original</em></span>state designates the
state when the instance entered the managed persistent
+ context. For example, when a new instance is persisted or a existing
instance is loaded from the database.
+ </p>
+ </div>
+ <div class="section" id="d5e9447"><div class="titlepage"><div><div><h3
class="title">8.2. Developing custom auditing</h3></div></div></div>
+
+
+ <p>
+ For real use case, an application will prefer more than printing the
changed instances. The application, in
+ such case, needs to implement <code
class="literal">org.apache.openjpa.audit.Auditor</code> interface.
+ This simple interface has the following method:
+ </p>
+ <pre class="programlisting">
+ /**
+ * OpenJPA runtime will invoke this method with the given parameters
+ * within a transaction.
+ *
+ * @param broker the active persistence context.
+ * @param newObjects the set of auditable objects being created. Can be
empty, but never null.
+ * @param updates the set of auditable objects being updated. Can be
empty, but never null.
+ * @param deletes the set of auditable objects being deleted. Can be
empty, but never null.
+ */
+ public void audit(Broker broker, Collection<Audited> newObjects,
Collection<Audited> updates,
+ Collection<Audited> deletes);
+ </pre>
+ <p>
+ OpenJPA runtime will invoke this method <span
class="emphasis"><em>before</em></span> database commit. Via this callback
method,
+ the application receives
+ the auditable instances in three separate collections of <code
class="literal">org.apache.openjpa.audit.Auditable</code>.
+ An <code class="literal">Auditable</code> instance provides the latest and
original state of a persistent object.
+ The latest object is
+ the same persistent instance to be committed. The original instance is a
transient instance holding the
+ original state of the instance when it entered the managed context. The
active persistence context
+ is also supplied in this callback method, so that an application may
decide to persist the audit log
+ in the same database.
+ </p>
+ <p>
+ It is important to note that the original object can not be persisted in
the same transaction, because
+ it has the same persistent identity of the latest object.
+ </p>
+ <p>
+ A single instance of implemented <code
class="literal">org.apache.openjpa.audit.Auditor</code> interface
+ is available for a persistence unit. However, an application's own
implementation of this interface
+ need not be thread-safe, because OpenJPA runtime guards against concurrent
invocation of the
+ callback method.
+ </p>
+ <p>
+ The <code class="literal">org.apache.openjpa.audit.Auditor</code>
interface is configurable. Hence any bean style
+ getter and setter method on its implementation will be populated as usual
for any other OpenJPA plugin.
+ In the following example,
+ </p>
+ <pre class="programlisting">
+ <property name="openjpa.Auditor"
value="com.acme.Auditor(param2=10,param2='hello')"/>
+ </pre>
+ <p>
+ An instance of <code class="literal">com.acme.Auditor</code> will be
instantiated and if it has been style getter and
+ setter methods for <code class="literal">param1</code> and <code
class="literal">param2</code>, then the respective setters
+ will be called with <code class="literal">10</code> and <code
class="literal">"hello"</code> before the instance being used.
+ </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_logging_custom.html">Prev</a> </td><td width="20%"
align="center"><a accesskey="u" href="ref_guide_logging.html">Up</a></td><td
width="40%" align="right"> <a accesskey="n"
href="ref_guide_dbsetup.html">Next</a></td></tr><tr><td width="40%"
align="left" valign="top">7.
+ Custom Log
+ </td><td width="20%" align="center"><a accesskey="h"
href="manual.html">Home</a></td><td width="40%" align="right"
valign="top"> Chapter 4.
+ JDBC
+ </td></tr></table></div></body></html>
\ No newline at end of file
Added:
websites/production/openjpa/content/builds/2.4.2/apache-openjpa/docs/ref_guide_cache_querycomp.html
==============================================================================
---
websites/production/openjpa/content/builds/2.4.2/apache-openjpa/docs/ref_guide_cache_querycomp.html
(added)
+++
websites/production/openjpa/content/builds/2.4.2/apache-openjpa/docs/ref_guide_cache_querycomp.html
Fri Jan 6 19:19:20 2017
@@ -0,0 +1,54 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+ <title>2. Query Compilation 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 2.4 User's Guide"><link rel="up"
href="ref_guide_caching.html" title="Chapter 10. Caching"><link
rel="prev" href="ref_guide_caching.html" title="Chapter 10.
Caching"><link rel="next" href="ref_guide_cache_querysql.html"
title="3. Prepared SQL Cache"></head><body bgcolor="white" text="black"
link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table
width="100%" summary="Navigation header"><tr><th colspan="3"
align="center">2.
+ Query Compilation Cache
+ </th></tr><tr><td width="20%" align="left"><a accesskey="p"
href="ref_guide_caching.html">Prev</a> </td><th width="60%"
align="center">Chapter 10.
+ Caching
+ </th><td width="20%" align="right"> <a accesskey="n"
href="ref_guide_cache_querysql.html">Next</a></td></tr></table><hr></div><div
class="section" id="ref_guide_cache_querycomp"><div
class="titlepage"><div><div><h2 class="title" style="clear: both">2.
+ Query Compilation Cache
+ </h2></div></div></div>
+
+ <a class="indexterm" name="d5e16387"></a>
+ <p>
+The query compilation cache is a <code class="classname">Map</code> used to
cache
+parsed query strings. As a result, most queries are only parsed once in
+OpenJPA, and cached thereafter. You can control the compilation cache through
+the <a class="link"
href="ref_guide_conf_openjpa.html#openjpa.QueryCompilationCache"
title="5.59. openjpa.QueryCompilationCache"><code class="literal">
+openjpa.QueryCompilationCache</code></a> configuration property. This
+property accepts a plugin string (see <a class="xref"
href="ref_guide_conf_plugins.html" title="4. Plugin
Configuration">Section 4, “
+ Plugin Configuration
+ ”</a>)
+describing the <code class="classname">Map</code> used to associate query
strings and
+their parsed form. This property accepts the following aliases:
+ </p>
+ <div class="table" id="d5e16396"><p
class="title"><b>Table 10.2.
+ Pre-defined aliases
+ </b></p><div class="table-contents">
+
+ <table class="table" summary="

Pre-defined aliases
 " border="1"><colgroup><col align="left"
class="alias"><col align="left" class="value"><col align="left"
class="notes"></colgroup><thead><tr><th align="left">Alias</th><th
align="left">Value</th><th align="left">Notes</th></tr></thead><tbody><tr><td
align="left">
+<code class="literal">true</code>
+ </td><td align="left">
+<code class="literal">org.apache.openjpa.util.CacheMap</code>
+ </td><td align="left">
+The default option. Uses a
+<a class="ulink" href="../javadoc/org/apache/openjpa/util/CacheMap.html"
target="_top">
+<code class="literal">CacheMap</code></a> to store compilation data.
+<code class="literal">CacheMap</code> maintains a fixed number of cache
entries, and an
+optional soft reference map for entries that are moved out of the LRU space.
+So, for applications that have a monotonically increasing number of distinct
+queries, this option can be used to ensure that a fixed amount of memory is
+used by the cache.
+ </td></tr><tr><td
align="left"><code class="literal">all</code></td><td align="left">
+<code class="literal">org.apache.openjpa.lib.util.ConcurrentHashMap</code>
+ </td><td align="left">
+This is the fastest option, but compilation data is never dropped from the
+cache, so if you use a large number of dynamic queries, this option may result
+in ever-increasing memory usage. Note that if your queries only differ in the
+values of the parameters, this should not be an issue.
+ </td></tr><tr><td
align="left"><code class="literal">false</code></td><td align="left"><span
class="emphasis"><em>none</em></span></td><td align="left">
+Disables the compilation cache.
+ </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="ref_guide_caching.html">Prev</a> </td><td width="20%"
align="center"><a accesskey="u" href="ref_guide_caching.html">Up</a></td><td
width="40%" align="right"> <a accesskey="n"
href="ref_guide_cache_querysql.html">Next</a></td></tr><tr><td width="40%"
align="left" valign="top">Chapter 10.
+ Caching
+ </td><td width="20%" align="center"><a accesskey="h"
href="manual.html">Home</a></td><td width="40%" align="right"
valign="top"> 3. Prepared SQL
Cache</td></tr></table></div></body></html>
\ No newline at end of file
Added:
websites/production/openjpa/content/builds/2.4.2/apache-openjpa/docs/ref_guide_cache_querysql.html
==============================================================================
---
websites/production/openjpa/content/builds/2.4.2/apache-openjpa/docs/ref_guide_cache_querysql.html
(added)
+++
websites/production/openjpa/content/builds/2.4.2/apache-openjpa/docs/ref_guide_cache_querysql.html
Fri Jan 6 19:19:20 2017
@@ -0,0 +1,172 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+ <title>3. Prepared SQL 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 2.4 User's Guide"><link rel="up"
href="ref_guide_caching.html" title="Chapter 10. Caching"><link
rel="prev" href="ref_guide_cache_querycomp.html" title="2. Query
Compilation Cache"><link rel="next" href="ref_guide_encryption.html"
title="Chapter 11. Encryption Provider"></head><body bgcolor="white"
text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div
class="navheader"><table width="100%" summary="Navigation header"><tr><th
colspan="3" align="center">3. Prepared SQL Cache</th></tr><tr><td
width="20%" align="left"><a accesskey="p"
href="ref_guide_cache_querycomp.html">Prev</a> </td><th width="60%"
align="center">Chapter 10.
+ Caching
+ </th><td width="20%" align="right"> <a accesskey="n"
href="ref_guide_encryption.html">Next</a></td></tr></table><hr></div><div
class="section" id="ref_guide_cache_querysql"><div
class="titlepage"><div><div><h2 class="title" style="clear:
both">3. Prepared SQL Cache</h2></div></div></div>
+
+ <a class="indexterm" name="d5e16431"></a>
+ <p>
+Prepared SQL Cache caches SQL statements corresponding to JPQL queries.
+If a query is executed more than once in the same or different persistence
+contexts, the SQL statement generated during the first execution is cached and
+executed directly for subsequent execution. Direct execution of SQL offers
+significant performance gain as it saves the cost of parsing query string and,
+more importantly, populating the query expression tree during every execution.
+Relative performance gain becomes higher as the complexity of forming a SQL
+query from a JPQL string increases. For example, a JPQL query <code
class="code">Q1</code>
+that involves multiple joins across tables takes more computation to translate
+into a SQL statement than a JPQL query <code class="code">Q2</code> to select
by simple
+primary key identifier. Correspondingly, repeated execution of <code
class="code">Q1</code>
+will gain more performance advantage than <code class="code">Q2</code> with
Prepared SQL
+Cache.
+</p>
+<p>
+Prepared SQL Cache is configured by the <a class="link"
href="ref_guide_conf_jdbc.html#openjpa.jdbc.QuerySQLCache" title="6.10.
openjpa.jdbc.QuerySQLCache">
+<code class="literal">openjpa.jdbc.QuerySQLCache</code></a> configuration
property. This
+property accepts a plugin string (see <a class="xref"
href="ref_guide_conf_plugins.html" title="4. Plugin
Configuration">Section 4, “
+ Plugin Configuration
+ ”</a>)
+with value of <code class="literal">true</code> or <code
class="literal">false</code>. The default
+is <code class="literal">true</code>. The execution statistics of the cached
queries can be
+optionally collected as
+</p><pre class="programlisting">
+ <property name="openjpa.jdbc.QuerySQLCache"
value="true(EnableStatistics=true)">
+</pre><p>
+The <a class="ulink"
href="../javadoc/org/apache/openjpa/kernel/QueryStatistics.html" target="_top">
+<code class="code">QueryStatistics</code></a> can be accessed via <code
class="code">PreparedQueryCache.getStatistics()</code>.
+
+</p>
+ <div class="table" id="d5e16450"><p
class="title"><b>Table 10.3.
+ Pre-defined aliases
+ </b></p><div class="table-contents">
+
+ <table class="table" summary="
 Pre-defined
aliases
 " border="1"><colgroup><col align="left"
class="alias"><col align="left" class="value"><col align="left"
class="notes"></colgroup><thead><tr><th align="left">Alias</th><th
align="left">Value</th><th align="left">Notes</th></tr></thead><tbody><tr><td
align="left">
+<code class="literal">true</code>
+ </td><td align="left">
+<code class="literal">org.apache.openjpa.util.CacheMap</code>
+ </td><td align="left">
+The default option. Uses a
+<a class="ulink" href="../javadoc/org/apache/openjpa/util/CacheMap.html"
target="_top">
+<code class="literal">CacheMap</code></a> to store SQL string.
+<code class="literal">CacheMap</code> maintains a fixed number of cache
entries, and an
+optional soft reference map for entries that are moved out of the LRU space.
+So, for applications that have a monotonically increasing number of distinct
+queries, this option can be used to ensure that a fixed amount of memory is
+used by the cache.
+ </td></tr><tr><td align="left"><code
class="literal">false</code></td><td align="left"><span
class="emphasis"><em>none</em></span></td><td align="left">
+Disables the SQL cache.
+ </td></tr></tbody></table>
+ </div></div><br class="table-break">
+<p>
+Following salient points to be noted regarding usage of Prepared Query Cache.
+</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type:
disc; "><li class="listitem">
+ <p>
+ Prepared Query Cache uses the original JPQL string as the key to index
the
+ corresponding SQL statement. Hence the JPQL strings that are
semantically
+ identical but differ by character case or identification variables are
+ considered as different by this cache. One of the implications is that
the
+ applications can gain better advantage from the Prepared Query Cache by
+ using parameters in their JPQL query rather than concatenating the
parameter
+ values in the query string itself .
+ </p>
+ <p>
+ For example, contrast the following two examples of executing JPQL
queries.
+ </p><div class="example" id="jpa_caching_hardcode_jpql"><p
class="title"><b>Example 10.26. Hardcoded Selection Value in JPQL
Query</b></p><div class="example-contents">
+
+ <pre class="programlisting">
+ String jpql = "SELECT p FROM Person p WHERE p.name='John'";
+ List johns = em.createQuery(jpql).getResultList();
+ jpql = "SELECT p FROM Person p WHERE p.name='Tom'";
+ List toms = em.createQuery(jpql).getResultList();
+ </pre>
+ </div></div><p><br class="example-break">
+ In <a class="xref"
href="ref_guide_cache_querysql.html#jpa_caching_hardcode_jpql"
title="Example 10.26. Hardcoded Selection Value in JPQL
Query">Example 10.26, “Hardcoded Selection Value in JPQL
Query”</a>, the queries have
+ <span class="emphasis"><em>hardcoded</em></span> the selection value
for the <code class="code">p.name</code>
+ field. Prepared Query Cache will not recognize the second execution as
+ same as the first, though both will result in same SQL statement.
+ </p>
+ <p>
+ While in <a class="xref"
href="ref_guide_cache_querysql.html#jpa_caching_parametrize_jpql"
title="Example 10.27. Parameterized Selection Value in JPQL
Query">Example 10.27, “Parameterized Selection Value in JPQL
Query”</a>, the
+ selection value for the <code class="code">p.name</code> field is
parameterized.
+ Prepared Query Cache will recognize the second execution as
+ same as the first, and will execute the cached SQL statement directly.
+
+ </p><div class="example" id="jpa_caching_parametrize_jpql"><p
class="title"><b>Example 10.27. Parameterized Selection Value in JPQL
Query</b></p><div class="example-contents">
+
+ <pre class="programlisting">
+ String jpql = "SELECT p FROM Person p WHERE p.name=:name";
+ List johns =
em.createQuery(jpql).setParameter("name","John").getResultList();
+ List toms =
em.createQuery(jpql).setParameter("name","Tom").getResultList();
+ </pre>
+ </div></div><p><br class="example-break">
+ </p>
+ </li><li class="listitem">
+ A JPQL query may not always translate into a <span
class="emphasis"><em>single</em></span>
+ SQL query. The JPQL queries that require multiple select statements are
+ never cached.
+ </li><li class="listitem">
+ Same JPQL query may result into different SQL statements under different
+ execution context. Execution context parameters such as fetch
configuration
+ or locking mode determine the resultant SQL. However, Prepared SQL Cache
+ <span class="emphasis"><em>does not</em></span> capture the execution
context parameters
+ while caching a generated SQL.
+ </li><li class="listitem">
+ The named or positional parameters of a JPQL query can be set to
different
+ values across executions. In general, the corresponding cached SQL
statement
+ will be re-parameterized accordingly. However, the parameter value
itself can
+ determine the SQL query. For example, when a JPQL query compares a
relation
+ field for equality against a parameter <code class="code">p</code>,
whether the actual
+ value of <code class="code">p</code> is <code class="code">null</code>
or not will determine the
+ generated SQL statement. Another example is collection valued parameter
for
+ <code class="code">IN</code> expression. Each element of a collection
valued parameter
+ results into a SQL parameter. If a collection valued parameter across
+ executions are set to different number of elements, then the parameters
of
+ the cached SQL do not correspond. If such situations are encountered
while
+ re-parameterizing the cached SQL, the cached version is not reused and
the
+ original JPQL query is used to generate a new SQL statement for
execution.
+ </li><li class="listitem">
+ JPQL query that returns a <span
class="emphasis"><em>numeric</em></span> value such as
+ <code class="code">SELECT count(p) FROM PObject p</code> is never
cached.
+ </li></ul></div><p>
+</p>
+<p>
+Several mechanisms are available to the application to bypass SQL caching
+for a JPQL query.
+</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type:
disc; "><li class="listitem">A user application can disable Prepared SQL Cache
+ for entire lifetime of a persistence context by invoking the following
+ method on OpenJPA's EntityManager SPI interface:
+ <pre class="programlisting">
+ <code
class="methodname">OpenJPAEntityManagerSPI.setQuerySQLCache(boolean)</code>
+ </pre>
+ </li><li class="listitem">
+ A user application can instruct particular execution of a JPQL query to
+ ignore any cached SQL query, by setting
+ <code class="literal">QueryHints.HINT_IGNORE_PREPARED_QUERY</code> or
+ <code class="literal">"openjpa.hint.IgnorePreparedQuery"</code> to
<code class="literal">true</code>
+ via standard <code
class="literal">javax.persistence.Query.setHint(String, Object)</code> method.
If a
+ SQL query has been cached corresponding to the JPQL query prior to this
+ execution, then the cached SQL remains in the cache and will be reused
+ for any subsequent execution of the same JPQL query.
+ </li><li class="listitem">
+ A user application can instruct all subsequent execution of a JPQL
query to
+ ignore any cached SQL query, by setting
+ <code class="literal">QueryHints.HINT_INVALIDATE_PREPARED_QUERY</code>
or
+ <code class="literal">"openjpa.hint.InvalidatePreparedQuery"</code> to
<code class="literal">true</code>
+ The SQL query is removed from the cache. Also the JPQL query will never
be
+ cached again during the lifetime of the entire persistence unit.
+ </li><li class="listitem">
+ Plug-in property <code
class="literal">openjpa.jdbc.QuerySQLCache</code> can be
+ configured to exclude certain JPQL queries as shown below.
+ <pre class="programlisting">
+ <property name="openjpa.jdbc.QuerySQLCache"
value="true(excludes='select c from Company c;select d from Department d')"/>
+ </pre>
+ will never cache JPQL queries <code class="code">select c from Company
c</code> and
+ <code class="code">select d from Department d</code>.
+ </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="ref_guide_cache_querycomp.html">Prev</a> </td><td width="20%"
align="center"><a accesskey="u" href="ref_guide_caching.html">Up</a></td><td
width="40%" align="right"> <a accesskey="n"
href="ref_guide_encryption.html">Next</a></td></tr><tr><td width="40%"
align="left" valign="top">2.
+ Query Compilation Cache
+ </td><td width="20%" align="center"><a accesskey="h"
href="manual.html">Home</a></td><td width="40%" align="right"
valign="top"> Chapter 11.
+ Encryption Provider
+ </td></tr></table></div></body></html>
\ No newline at end of file