<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_252) on Thu Apr 08 02:07:19 UTC 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>EntityManagerProperties (EclipseLink 3.0.1, API Reference)</title>
<meta name="date" content="2021-04-08">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="EntityManagerProperties (EclipseLink 3.0.1, API Reference)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage">EclipseLink 3.0.1, API Reference</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/eclipse/persistence/config/DescriptorCustomizer.html" title="interface in org.eclipse.persistence.config"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/eclipse/persistence/config/ExclusiveConnectionMode.html" title="class in org.eclipse.persistence.config"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/eclipse/persistence/config/EntityManagerProperties.html" target="_top">Frames</a></li>
<li><a href="EntityManagerProperties.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.eclipse.persistence.config</div>
<h2 title="Class EntityManagerProperties" class="title">Class EntityManagerProperties</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.eclipse.persistence.config.EntityManagerProperties</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">EntityManagerProperties</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">The class defines EclipseLink properties' names for use at the EntityManager level.

 This properties are specific to an EnityManger and should be
 passed to createEntityManager methods of EntityManagerFactory.

 Property values are usually case-insensitive with some common sense exceptions,
 for instance class names.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/EntityManagerProperties.html#COMPOSITE_UNIT_PROPERTIES">COMPOSITE_UNIT_PROPERTIES</a></span></code>
<div class="block">The property may be passed to createEntityManager method of a composite persistence unit
 to pass properties to member persistence units.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/EntityManagerProperties.html#CONNECTION_POLICY">CONNECTION_POLICY</a></span></code>
<div class="block">ConnectionPolicy
 Allows to specify an entire ConnectionPolicy.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/EntityManagerProperties.html#EXCLUSIVE_CONNECTION_IS_LAZY">EXCLUSIVE_CONNECTION_IS_LAZY</a></span></code>
<div class="block">Determines when write connection is acquired lazily.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/EntityManagerProperties.html#EXCLUSIVE_CONNECTION_MODE">EXCLUSIVE_CONNECTION_MODE</a></span></code>
<div class="block">Determines when reads are performed through the write connection.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/EntityManagerProperties.html#FLUSH_CLEAR_CACHE">FLUSH_CLEAR_CACHE</a></span></code>
<div class="block">Defines EntityManager cache behavior after a call to flush method
 followed by a call to clear method.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/EntityManagerProperties.html#JDBC_DRIVER">JDBC_DRIVER</a></span></code>
<div class="block">JDBC Driver class name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/EntityManagerProperties.html#JDBC_PASSWORD">JDBC_PASSWORD</a></span></code>
<div class="block">DataSource or JDBC DriverManager password.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/EntityManagerProperties.html#JDBC_URL">JDBC_URL</a></span></code>
<div class="block">JDBC Connection String.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/EntityManagerProperties.html#JDBC_USER">JDBC_USER</a></span></code>
<div class="block">DataSource or JDBC DriverManager user name.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/EntityManagerProperties.html#JOIN_EXISTING_TRANSACTION">JOIN_EXISTING_TRANSACTION</a></span></code>
<div class="block">Set to "true" this property forces persistence context to read through JTA-managed ("write") connection
 in case there is an active transaction.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/EntityManagerProperties.html#JTA_DATASOURCE">JTA_DATASOURCE</a></span></code>
<div class="block">JTA DataSource.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/EntityManagerProperties.html#MULTITENANT_PROPERTY_DEFAULT">MULTITENANT_PROPERTY_DEFAULT</a></span></code>
<div class="block">The <code>"eclipselink.tenant-id"</code> property specifies the
 default context property used to populate multitenant entities.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/EntityManagerProperties.html#MULTITENANT_SCHEMA_PROPERTY_DEFAULT">MULTITENANT_SCHEMA_PROPERTY_DEFAULT</a></span></code>
<div class="block">The "<code>eclipselink.tenant-schema-id</code>" property specifies the
 context property used to distinguish tenants when using global schema per tenant
 multitenant strategy.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/EntityManagerProperties.html#NON_JTA_DATASOURCE">NON_JTA_DATASOURCE</a></span></code>
<div class="block">NON JTA DataSource.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/EntityManagerProperties.html#ORACLE_PROXY_TYPE">ORACLE_PROXY_TYPE</a></span></code>
<div class="block">This property is used to specify proxy type that should be passed to OarcleConnection.openProxySession method.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/EntityManagerProperties.html#ORDER_UPDATES">ORDER_UPDATES</a></span></code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">since 2.6 replaced by PERSISTENCE_CONTEXT_COMMIT_ORDER</span></div>
</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/EntityManagerProperties.html#PERSISTENCE_CONTEXT_CLOSE_ON_COMMIT">PERSISTENCE_CONTEXT_CLOSE_ON_COMMIT</a></span></code>
<div class="block">Specifies that the EntityManager will be closed or not used after commit (not extended).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/EntityManagerProperties.html#PERSISTENCE_CONTEXT_COMMIT_ORDER">PERSISTENCE_CONTEXT_COMMIT_ORDER</a></span></code>
<div class="block">Defines the ordering of updates and deletes of a set of the same entity type during a commit or flush operation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/EntityManagerProperties.html#PERSISTENCE_CONTEXT_COMMIT_WITHOUT_PERSIST_RULES">PERSISTENCE_CONTEXT_COMMIT_WITHOUT_PERSIST_RULES</a></span></code>
<div class="block">Specifies that the EntityManager will search all managed objects and persist any related non-managed
 new objects that are found ignoring any absence of CascadeType.PERSIST settings.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/EntityManagerProperties.html#PERSISTENCE_CONTEXT_FLUSH_MODE">PERSISTENCE_CONTEXT_FLUSH_MODE</a></span></code>
<div class="block">Allows the EntityManager FlushMode to be set as a persistence property.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/EntityManagerProperties.html#PERSISTENCE_CONTEXT_PERSIST_ON_COMMIT">PERSISTENCE_CONTEXT_PERSIST_ON_COMMIT</a></span></code>
<div class="block">Specifies that the EntityManager will search all managed objects and persist any related non-managed
 new objects that are cascade persist.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/EntityManagerProperties.html#PERSISTENCE_CONTEXT_REFERENCE_MODE">PERSISTENCE_CONTEXT_REFERENCE_MODE</a></span></code>
<div class="block">Specifies whether there should be hard or soft references used within the Persistence Context.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/EntityManagerProperties.html#VALIDATE_EXISTENCE">VALIDATE_EXISTENCE</a></span></code>
<div class="block">Configures if the existence of an object should be verified on persist(),
 otherwise it will assume to be new if not in the persistence context.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/EntityManagerProperties.html#EntityManagerProperties--">EntityManagerProperties</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/config/EntityManagerProperties.html#getSupportedProperties--">getSupportedProperties</a></span>()</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="JOIN_EXISTING_TRANSACTION">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>JOIN_EXISTING_TRANSACTION</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> JOIN_EXISTING_TRANSACTION</pre>
<div class="block">Set to "true" this property forces persistence context to read through JTA-managed ("write") connection
 in case there is an active transaction.
 Valid values are case-insensitive "false" and "true"; "false" is default.
 The property could also be set in persistence.xml or passed to createEntityManagerFactory,
 Note that if the property set to "true" then objects read during transaction won't be placed into the
 shared cache unless they have been updated.
 in that case it affects all EntityManagers created by the factory.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.config.EntityManagerProperties.JOIN_EXISTING_TRANSACTION">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="PERSISTENCE_CONTEXT_REFERENCE_MODE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PERSISTENCE_CONTEXT_REFERENCE_MODE</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> PERSISTENCE_CONTEXT_REFERENCE_MODE</pre>
<div class="block">Specifies whether there should be hard or soft references used within the Persistence Context.
 Default is "HARD".  With soft references entities no longer referenced by the application
 may be garbage collected freeing resources.  Any changes that have not been flushed in these
 entities will be lost.
 The property could also be set in persistence.xml or passed to createEntityManagerFactory,
 in that case it affects all EntityManagers created by the factory.
 The property cannot be applied to existing active persistence unit context.
 The context could be removed by calling clear method on the EntityManager when there is no active transaction.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/eclipse/persistence/config/ReferenceMode.html" title="enum in org.eclipse.persistence.config"><code>ReferenceMode</code></a>, 
<a href="../../../../constant-values.html#org.eclipse.persistence.config.EntityManagerProperties.PERSISTENCE_CONTEXT_REFERENCE_MODE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="MULTITENANT_PROPERTY_DEFAULT">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MULTITENANT_PROPERTY_DEFAULT</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> MULTITENANT_PROPERTY_DEFAULT</pre>
<div class="block">The <code>"eclipselink.tenant-id"</code> property specifies the
 default context property used to populate multitenant entities.

 NOTE: This is merely a default multitenant property than can be used on
 its own or with other properties defined by the user. Users are not
 obligated to use this property and are free to specify their own.

 Example: persistence.xml file <code>
 &lt;property name="eclipselink.tenant-id" value="Oracle"/&gt;
 </code> Example: property Map <code>
 propertiesMap.put(PersistenceUnitProperties.MULTITENANT_PROPERTY_DEFAULT, "Oracle");
 </code></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/eclipse/persistence/annotations/Multitenant.html" title="annotation in org.eclipse.persistence.annotations"><code>Multitenant</code></a>, 
<a href="../../../../org/eclipse/persistence/annotations/TenantDiscriminatorColumn.html" title="annotation in org.eclipse.persistence.annotations"><code>TenantDiscriminatorColumn</code></a>, 
<a href="../../../../constant-values.html#org.eclipse.persistence.config.EntityManagerProperties.MULTITENANT_PROPERTY_DEFAULT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="MULTITENANT_SCHEMA_PROPERTY_DEFAULT">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MULTITENANT_SCHEMA_PROPERTY_DEFAULT</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> MULTITENANT_SCHEMA_PROPERTY_DEFAULT</pre>
<div class="block">The "<code>eclipselink.tenant-schema-id</code>" property specifies the
 context property used to distinguish tenants when using global schema per tenant
 multitenant strategy. It is expected to be set by user when creating an <code>EntityManager</code>.
 <p>
 <b>Java example:</b><pre>
 <code> props.put(PersistenceUnitProperties.MULTITENANT_SCHEMA_PROPERTY_DEFAULT, "Oracle");</code></pre></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/eclipse/persistence/config/PersistenceUnitProperties.html#MULTITENANT_STRATEGY"><code>PersistenceUnitProperties.MULTITENANT_STRATEGY</code></a>, 
<a href="../../../../org/eclipse/persistence/descriptors/SchemaPerMultitenantPolicy.html" title="class in org.eclipse.persistence.descriptors"><code>SchemaPerMultitenantPolicy</code></a>, 
<a href="../../../../constant-values.html#org.eclipse.persistence.config.EntityManagerProperties.MULTITENANT_SCHEMA_PROPERTY_DEFAULT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="PERSISTENCE_CONTEXT_CLOSE_ON_COMMIT">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PERSISTENCE_CONTEXT_CLOSE_ON_COMMIT</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> PERSISTENCE_CONTEXT_CLOSE_ON_COMMIT</pre>
<div class="block">Specifies that the EntityManager will be closed or not used after commit (not extended).
 In general this is normally always the case for a container managed EntityManager,
 and common for application managed.
 This can be used to avoid additional performance overhead of resuming the persistence context
 after a commit().
 The property set in persistence.xml or passed to createEntityManagerFactory affects all EntityManagers
 created by the factory.
 Alternatively, to apply the property only to some EntityManagers pass it to createEntityManager method.
 Either "true" or "false.  "false" is the default.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.config.EntityManagerProperties.PERSISTENCE_CONTEXT_CLOSE_ON_COMMIT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="PERSISTENCE_CONTEXT_PERSIST_ON_COMMIT">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PERSISTENCE_CONTEXT_PERSIST_ON_COMMIT</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> PERSISTENCE_CONTEXT_PERSIST_ON_COMMIT</pre>
<div class="block">Specifies that the EntityManager will search all managed objects and persist any related non-managed
 new objects that are cascade persist.
 This can be used to avoid the cost of performing this search if persist is always used for new objects.
 The property set in persistence.xml or passed to createEntityManagerFactory affects all EntityManagers
 created by the factory.
 Alternatively, to apply the property only to some EntityManagers pass it to createEntityManager method.
 Either "true" or "false.  "true" is the default.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.config.EntityManagerProperties.PERSISTENCE_CONTEXT_PERSIST_ON_COMMIT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="PERSISTENCE_CONTEXT_COMMIT_WITHOUT_PERSIST_RULES">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PERSISTENCE_CONTEXT_COMMIT_WITHOUT_PERSIST_RULES</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> PERSISTENCE_CONTEXT_COMMIT_WITHOUT_PERSIST_RULES</pre>
<div class="block">Specifies that the EntityManager will search all managed objects and persist any related non-managed
 new objects that are found ignoring any absence of CascadeType.PERSIST settings.
 Also the Entity lifecycle Persist operation will not be cascaded to related entities.
 This setting replicates the traditional EclipseLink native functionality.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.config.EntityManagerProperties.PERSISTENCE_CONTEXT_COMMIT_WITHOUT_PERSIST_RULES">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="PERSISTENCE_CONTEXT_FLUSH_MODE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PERSISTENCE_CONTEXT_FLUSH_MODE</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> PERSISTENCE_CONTEXT_FLUSH_MODE</pre>
<div class="block">Allows the EntityManager FlushMode to be set as a persistence property.
 This can be set to either "AUTO" or "COMMIT".
 By default the flush mode is AUTO, which requires an automatic flush before all query execution.
 This can be used to avoid any flushing until commit.
 The property set in persistence.xml or passed to createEntityManagerFactory affects all EntityManagers
 created by the factory.
 Alternatively, to apply the property only to some EntityManagers pass it to createEntityManager method.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>EntityManager.setFlushMode(jakarta.persistence.FlushModeType)</code>, 
<code>FlushModeType</code>, 
<a href="../../../../constant-values.html#org.eclipse.persistence.config.EntityManagerProperties.PERSISTENCE_CONTEXT_FLUSH_MODE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="ORACLE_PROXY_TYPE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ORACLE_PROXY_TYPE</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ORACLE_PROXY_TYPE</pre>
<div class="block">This property is used to specify proxy type that should be passed to OarcleConnection.openProxySession method.
 Requires Oracle jdbc version 10.1.0.2 or later.
 Requires Oracle9Platform or later as a database platform
 (TARGET_DATABASE property value should be TargetDatabase.Oracle9 or later).
 The valid values are:
 OracleConnection.PROXYTYPE_USER_NAME, OracleConnection.PROXYTYPE_DISTINGUISHED_NAME, OracleConnection.PROXYTYPE_CERTIFICATE.
 Property property corresponding to the specified type should be also provided:
 OracleConnection.PROXY_USER_NAME, OracleConnection.PROXY_DISTINGUISHED_NAME, OracleConnection.PROXY_CERTIFICATE.
 Typically these properties should be set into EntityManager (either through createEntityManager method or
 using proprietary setProperties method on EntityManagerImpl) - that causes EntityManager to use proxy connection for
 writing and reading inside transaction.
 If proxy-type and the corresponding proxy property set into EntityManagerFactory then all connections
 created by the factory will be proxy connections.
 The property cannot be applied to existing active persistence unit context.
 The context could be removed by calling clear method on the EntityManager when there is no active transaction.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.config.EntityManagerProperties.ORACLE_PROXY_TYPE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="EXCLUSIVE_CONNECTION_MODE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>EXCLUSIVE_CONNECTION_MODE</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> EXCLUSIVE_CONNECTION_MODE</pre>
<div class="block">Determines when reads are performed through the write connection.
 This property alters ConnectionPolicy.
 The property cannot be applied to existing active persistence unit context.
 The context could be removed by calling clear method on the EntityManager when there is no active transaction.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/eclipse/persistence/config/ExclusiveConnectionMode.html" title="class in org.eclipse.persistence.config"><code>ExclusiveConnectionMode</code></a>, 
<a href="../../../../constant-values.html#org.eclipse.persistence.config.EntityManagerProperties.EXCLUSIVE_CONNECTION_MODE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="EXCLUSIVE_CONNECTION_IS_LAZY">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>EXCLUSIVE_CONNECTION_IS_LAZY</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> EXCLUSIVE_CONNECTION_IS_LAZY</pre>
<div class="block">Determines when write connection is acquired lazily.
 Valid values are case-insensitive "false" and "true"; "true" is default.
 This property alters ConnectionPolicy.
 The property cannot be applied to existing active persistence unit context.
 The context could be removed by calling clear method on the EntityManager when there is no active transaction.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.config.EntityManagerProperties.EXCLUSIVE_CONNECTION_IS_LAZY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="JTA_DATASOURCE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>JTA_DATASOURCE</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> JTA_DATASOURCE</pre>
<div class="block">JTA DataSource.
 The value may be either data source or its name.
 Note that this property will be ignore in case persistence unit was setup to NOT use JTA:
 persistence.xml or createEntityManagerFactory had property "jakarta.persistence.transactionType" with RESOURCE_LOCAL value.
 To avoid a conflict resulting in exception don't specify this property together with either JDBC_DRIVER or JDBC_URL;
 however this property may override JDBC_DRIVER or JDBC_URL specified in persistence.xml or in createEntityManagerFactory method.
 This property alters ConnectionPolicy.
 The property cannot be applied to existing active persistence unit context.
 The context could be removed by calling clear method on the EntityManager when there is no active transaction.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.config.EntityManagerProperties.JTA_DATASOURCE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="NON_JTA_DATASOURCE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>NON_JTA_DATASOURCE</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> NON_JTA_DATASOURCE</pre>
<div class="block">NON JTA DataSource.
 The value may be either data source or its name.
 Note that this property will be ignore in case persistence unit was setup to use JTA:
 persistence.xml or createEntityManagerFactory had property "jakarta.persistence.transactionType" with JTA value.
 To avoid a conflict resulting in exception don't specify this property together with either JDBC_DRIVER or JDBC_URL;
 however this property may override JDBC_DRIVER or JDBC_URL specified in persistence.xml or in createEntityManagerFactory method.
 This property alters ConnectionPolicy.
 The property cannot be applied to existing active persistence unit context.
 The context could be removed by calling clear method on the EntityManager when there is no active transaction.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.config.EntityManagerProperties.NON_JTA_DATASOURCE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="JDBC_DRIVER">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>JDBC_DRIVER</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> JDBC_DRIVER</pre>
<div class="block">JDBC Driver class name.
 To avoid a conflict resulting in exception don't specify this property together with either JTA_DATASOURCE or JTA_DATASOURCE;
 however this property may override JTA_DATASOURCE or JTA_DATASOURCE specified in persistence.xml or in createEntityManagerFactory method.
 This property alters ConnectionPolicy.
 The property cannot be applied to existing active persistence unit context.
 The context could be removed by calling clear method on the EntityManager when there is no active transaction.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.config.EntityManagerProperties.JDBC_DRIVER">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="JDBC_URL">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>JDBC_URL</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> JDBC_URL</pre>
<div class="block">JDBC Connection String.
 To avoid a conflict resulting in exception don't specify this property together with either JTA_DATASOURCE or JTA_DATASOURCE;
 however this property may override JTA_DATASOURCE or JTA_DATASOURCE specified in persistence.xml or in createEntityManagerFactory method.
 This property alters ConnectionPolicy.
 The property cannot be applied to existing active persistence unit context.
 The context could be removed by calling clear method on the EntityManager when there is no active transaction.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.config.EntityManagerProperties.JDBC_URL">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="JDBC_USER">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>JDBC_USER</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> JDBC_USER</pre>
<div class="block">DataSource or JDBC DriverManager user name.
 Non-empty value overrides the value assigned in persistence.xml or in createEntityManagerFactory;
 empty string value causes removal this property and JDBC_PASSWORD property
 specified in persistence.xml or in createEntityManagerFactory method.
 This property alters ConnectionPolicy.
 The property cannot be applied to existing active persistence unit context.
 The context could be removed by calling clear method on the EntityManager when there is no active transaction.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.config.EntityManagerProperties.JDBC_USER">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="JDBC_PASSWORD">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>JDBC_PASSWORD</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> JDBC_PASSWORD</pre>
<div class="block">DataSource or JDBC DriverManager password.
 Non-empty value overrides the value assigned in persistence.xml or in createEntityManagerFactory;
 empty string value causes removal this property
 specified in persistence.xml or in createEntityManagerFactory method.
 This property alters ConnectionPolicy.
 The property cannot be applied to existing active persistence unit context.
 The context could be removed by calling clear method on the EntityManager when there is no active transaction.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.config.EntityManagerProperties.JDBC_PASSWORD">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="CONNECTION_POLICY">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CONNECTION_POLICY</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CONNECTION_POLICY</pre>
<div class="block">ConnectionPolicy
 Allows to specify an entire ConnectionPolicy.
 Note that in case any other ConnectionPolicy-altering properties are present
 they will be applied to this ConnectionPolicy.
 The property cannot be applied to existing active persistence unit context.
 The context could be removed by calling clear method on the EntityManager when there is no active transaction.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.config.EntityManagerProperties.CONNECTION_POLICY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="VALIDATE_EXISTENCE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>VALIDATE_EXISTENCE</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> VALIDATE_EXISTENCE</pre>
<div class="block">Configures if the existence of an object should be verified on persist(),
 otherwise it will assume to be new if not in the persistence context.
 If checked and existing and not in the persistence context and error will be thrown.
 "false" by default.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.config.EntityManagerProperties.VALIDATE_EXISTENCE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="ORDER_UPDATES">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ORDER_UPDATES</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ORDER_UPDATES</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">since 2.6 replaced by PERSISTENCE_CONTEXT_COMMIT_ORDER</span></div>
<div class="block">Configures if updates should be ordered by primary key.
 This can be used to avoid possible database deadlocks from concurrent threads
 updating the same objects in different order.
 If not set to true, the order of updates is not guaranteed.
 "false" by default.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.config.EntityManagerProperties.ORDER_UPDATES">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="PERSISTENCE_CONTEXT_COMMIT_ORDER">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PERSISTENCE_CONTEXT_COMMIT_ORDER</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> PERSISTENCE_CONTEXT_COMMIT_ORDER</pre>
<div class="block">Defines the ordering of updates and deletes of a set of the same entity type during a commit or flush operation.
 The commit order of entities is defined by their foreign key constraints, and then sorted alphabetically.\
 <p>
 By default the commit of a set of the same entity type is ordered by its Id.
 <p>
 Entity type commit order can be modified using a DescriptorCustomizer and the ClassDescriptor.addConstraintDependency() API.
 Commit order can also be controlled using the EntityManager.flush() API.
 <p>
 Values (case insensitive):
 <ul>
 <li>"Id" (DEFAULT) : Updates and deletes are ordered by the object's id.  This can help avoid deadlocks on highly concurrent systems.
 <li>"Changes": Updates are ordered by the object's changes, then by id.  This can improve batch writing efficiency.
 <li>"None": No ordering is done.
 </ul></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/eclipse/persistence/config/CommitOrderType.html" title="class in org.eclipse.persistence.config"><code>CommitOrderType</code></a>, 
<a href="../../../../constant-values.html#org.eclipse.persistence.config.EntityManagerProperties.PERSISTENCE_CONTEXT_COMMIT_ORDER">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="FLUSH_CLEAR_CACHE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>FLUSH_CLEAR_CACHE</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> FLUSH_CLEAR_CACHE</pre>
<div class="block">Defines EntityManager cache behavior after a call to flush method
 followed by a call to clear method.
 This property could be specified while creating either EntityManagerFactory
 (either in the map passed to createEntityManagerFactory method or in persistence.xml)
 or EntityManager (in the map passed to createEntityManager method);
 the latter overrides the former.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/eclipse/persistence/config/FlushClearCache.html" title="class in org.eclipse.persistence.config"><code>FlushClearCache</code></a>, 
<a href="../../../../constant-values.html#org.eclipse.persistence.config.EntityManagerProperties.FLUSH_CLEAR_CACHE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="COMPOSITE_UNIT_PROPERTIES">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>COMPOSITE_UNIT_PROPERTIES</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> COMPOSITE_UNIT_PROPERTIES</pre>
<div class="block">The property may be passed to createEntityManager method of a composite persistence unit
 to pass properties to member persistence units.
 The value is a map:
 the key is a member persistence unit's name,
 the value is a map of properties to be passed to this persistence unit.
 <p>
 "eclipselink.composite-unit.properties" -&gt; (<br>
  &nbsp;("memberPu1" -&gt; (<br>
  &nbsp;&nbsp;&nbsp;"jakarta.persistence.jdbc.user" -&gt; "user1",<br>
  &nbsp;&nbsp;&nbsp;"jakarta.persistence.jdbc.password" -&gt; "password1",<br>
  &nbsp;&nbsp;&nbsp;"jakarta.persistence.jdbc.driver" -&gt; "oracle.jdbc.OracleDriver",<br>
  &nbsp;&nbsp;&nbsp;"jakarta.persistence.jdbc.url" -&gt; "jdbc:oracle:thin:@oracle_db_url:1521:db",<br>
  &nbsp;&nbsp;) ,<br>
  &nbsp;("memberPu2" -&gt; (<br>
  &nbsp;&nbsp;&nbsp;"jakarta.persistence.jdbc.user" -&gt; "user2",<br>
  &nbsp;&nbsp;&nbsp;"jakarta.persistence.jdbc.password" -&gt; "password2"<br>
  &nbsp;&nbsp;&nbsp;"jakarta.persistence.jdbc.driver" -&gt; "com.mysql.jdbc.Driver",<br>
  &nbsp;&nbsp;&nbsp;"jakarta.persistence.jdbc.url" -&gt; "jdbc:mysql://my_sql_db_url:3306/user2",<br>
  &nbsp;&nbsp;)<br>
 )</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.config.EntityManagerProperties.COMPOSITE_UNIT_PROPERTIES">Constant Field Values</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="EntityManagerProperties--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>EntityManagerProperties</h4>
<pre>public&nbsp;EntityManagerProperties()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getSupportedProperties--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getSupportedProperties</h4>
<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;getSupportedProperties()</pre>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage">EclipseLink 3.0.1, API Reference</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/eclipse/persistence/config/DescriptorCustomizer.html" title="interface in org.eclipse.persistence.config"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/eclipse/persistence/config/ExclusiveConnectionMode.html" title="class in org.eclipse.persistence.config"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/eclipse/persistence/config/EntityManagerProperties.html" target="_top">Frames</a></li>
<li><a href="EntityManagerProperties.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2021 <a href="http://www.eclipse.org/eclipselink">Eclipse.org - EclipseLink Project</a>. All rights reserved.</small></p>
</body>
</html>
