blob: c1b4ad0a51ebc633ccc5483276ad89a20ce6ffc1 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>EntityGraph</title>
<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="EntityGraph";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract 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>
<div class="subNav">
<ul class="navList">
<li><a href="../../javax/persistence/EntityExistsException.html" title="class in javax.persistence"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../javax/persistence/EntityListeners.html" title="annotation in javax.persistence"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?javax/persistence/EntityGraph.html" target="_top">Frames</a></li>
<li><a href="EntityGraph.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>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&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">javax.persistence</div>
<h2 title="Interface EntityGraph" class="title">Interface EntityGraph&lt;T&gt;</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - The type of the root entity.</dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">EntityGraph&lt;T&gt;</span></pre>
<div class="block">This type represents the root of an entity graph that will be used
as a template to define the attribute nodes and boundaries of a
graph of entities and entity relationships. The root must be an
entity type.
<p>
The methods to add subgraphs implicitly create the
corresponding attribute nodes as well; such attribute nodes
should not be redundantly specified.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>Java Persistence 2.1</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javax/persistence/AttributeNode.html" title="interface in javax.persistence"><code>AttributeNode</code></a>,
<a href="../../javax/persistence/Subgraph.html" title="interface in javax.persistence"><code>Subgraph</code></a>,
<a href="../../javax/persistence/NamedEntityGraph.html" title="annotation in javax.persistence"><code>NamedEntityGraph</code></a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== 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="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract 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>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/persistence/EntityGraph.html#addAttributeNodes-javax.persistence.metamodel.Attribute...-">addAttributeNodes</a></span>(<a href="../../javax/persistence/metamodel/Attribute.html" title="interface in javax.persistence.metamodel">Attribute</a>&lt;<a href="../../javax/persistence/EntityGraph.html" title="type parameter in EntityGraph">T</a>,?&gt;...&nbsp;attribute)</code>
<div class="block">Add one or more attribute nodes to the entity graph.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/persistence/EntityGraph.html#addAttributeNodes-java.lang.String...-">addAttributeNodes</a></span>(java.lang.String...&nbsp;attributeName)</code>
<div class="block">Add one or more attribute nodes to the entity graph.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>&lt;X&gt;&nbsp;<a href="../../javax/persistence/Subgraph.html" title="interface in javax.persistence">Subgraph</a>&lt;X&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/persistence/EntityGraph.html#addKeySubgraph-javax.persistence.metamodel.Attribute-">addKeySubgraph</a></span>(<a href="../../javax/persistence/metamodel/Attribute.html" title="interface in javax.persistence.metamodel">Attribute</a>&lt;<a href="../../javax/persistence/EntityGraph.html" title="type parameter in EntityGraph">T</a>,X&gt;&nbsp;attribute)</code>
<div class="block">Add a node to the graph that corresponds to a map key
that is a managed type.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>&lt;X&gt;&nbsp;<a href="../../javax/persistence/Subgraph.html" title="interface in javax.persistence">Subgraph</a>&lt;? extends X&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/persistence/EntityGraph.html#addKeySubgraph-javax.persistence.metamodel.Attribute-java.lang.Class-">addKeySubgraph</a></span>(<a href="../../javax/persistence/metamodel/Attribute.html" title="interface in javax.persistence.metamodel">Attribute</a>&lt;<a href="../../javax/persistence/EntityGraph.html" title="type parameter in EntityGraph">T</a>,X&gt;&nbsp;attribute,
java.lang.Class&lt;? extends X&gt;&nbsp;type)</code>
<div class="block">Add a node to the graph that corresponds to a map key
that is a managed type with inheritance.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>&lt;X&gt;&nbsp;<a href="../../javax/persistence/Subgraph.html" title="interface in javax.persistence">Subgraph</a>&lt;X&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/persistence/EntityGraph.html#addKeySubgraph-java.lang.String-">addKeySubgraph</a></span>(java.lang.String&nbsp;attributeName)</code>
<div class="block">Add a node to the graph that corresponds to a map key
that is a managed type.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>&lt;X&gt;&nbsp;<a href="../../javax/persistence/Subgraph.html" title="interface in javax.persistence">Subgraph</a>&lt;X&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/persistence/EntityGraph.html#addKeySubgraph-java.lang.String-java.lang.Class-">addKeySubgraph</a></span>(java.lang.String&nbsp;attributeName,
java.lang.Class&lt;X&gt;&nbsp;type)</code>
<div class="block">Add a node to the graph that corresponds to a map key
that is a managed type with inheritance.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../javax/persistence/Subgraph.html" title="interface in javax.persistence">Subgraph</a>&lt;? extends T&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/persistence/EntityGraph.html#addSubclassSubgraph-java.lang.Class-">addSubclassSubgraph</a></span>(java.lang.Class&lt;? extends T&gt;&nbsp;type)</code>
<div class="block">Add additional attributes to this entity graph that
correspond to attributes of subclasses of this EntityGraph's
entity type.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>&lt;X&gt;&nbsp;<a href="../../javax/persistence/Subgraph.html" title="interface in javax.persistence">Subgraph</a>&lt;X&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/persistence/EntityGraph.html#addSubgraph-javax.persistence.metamodel.Attribute-">addSubgraph</a></span>(<a href="../../javax/persistence/metamodel/Attribute.html" title="interface in javax.persistence.metamodel">Attribute</a>&lt;<a href="../../javax/persistence/EntityGraph.html" title="type parameter in EntityGraph">T</a>,X&gt;&nbsp;attribute)</code>
<div class="block">Add a node to the graph that corresponds to a managed
type.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>&lt;X&gt;&nbsp;<a href="../../javax/persistence/Subgraph.html" title="interface in javax.persistence">Subgraph</a>&lt;? extends X&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/persistence/EntityGraph.html#addSubgraph-javax.persistence.metamodel.Attribute-java.lang.Class-">addSubgraph</a></span>(<a href="../../javax/persistence/metamodel/Attribute.html" title="interface in javax.persistence.metamodel">Attribute</a>&lt;<a href="../../javax/persistence/EntityGraph.html" title="type parameter in EntityGraph">T</a>,X&gt;&nbsp;attribute,
java.lang.Class&lt;? extends X&gt;&nbsp;type)</code>
<div class="block">Add a node to the graph that corresponds to a managed
type with inheritance.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>&lt;X&gt;&nbsp;<a href="../../javax/persistence/Subgraph.html" title="interface in javax.persistence">Subgraph</a>&lt;X&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/persistence/EntityGraph.html#addSubgraph-java.lang.String-">addSubgraph</a></span>(java.lang.String&nbsp;attributeName)</code>
<div class="block">Add a node to the graph that corresponds to a managed
type.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>&lt;X&gt;&nbsp;<a href="../../javax/persistence/Subgraph.html" title="interface in javax.persistence">Subgraph</a>&lt;X&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/persistence/EntityGraph.html#addSubgraph-java.lang.String-java.lang.Class-">addSubgraph</a></span>(java.lang.String&nbsp;attributeName,
java.lang.Class&lt;X&gt;&nbsp;type)</code>
<div class="block">Add a node to the graph that corresponds to a managed
type with inheritance.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../../javax/persistence/AttributeNode.html" title="interface in javax.persistence">AttributeNode</a>&lt;?&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/persistence/EntityGraph.html#getAttributeNodes--">getAttributeNodes</a></span>()</code>
<div class="block">Return the attribute nodes of this entity that are included in
the entity graph.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/persistence/EntityGraph.html#getName--">getName</a></span>()</code>
<div class="block">Return the name of a named EntityGraph (an entity graph
defined by means of the <code>NamedEntityGraph</code>
annotation, XML descriptor element, or added by means of the
<code>addNamedEntityGraph</code> method.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getName--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getName</h4>
<pre>java.lang.String&nbsp;getName()</pre>
<div class="block">Return the name of a named EntityGraph (an entity graph
defined by means of the <code>NamedEntityGraph</code>
annotation, XML descriptor element, or added by means of the
<code>addNamedEntityGraph</code> method. Returns null if the
EntityGraph is not a named EntityGraph.</div>
</li>
</ul>
<a name="addAttributeNodes-java.lang.String...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addAttributeNodes</h4>
<pre>void&nbsp;addAttributeNodes(java.lang.String...&nbsp;attributeName)</pre>
<div class="block">Add one or more attribute nodes to the entity graph.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>attributeName</code> - name of the attribute</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if the attribute is not an
attribute of this entity.</dd>
<dd><code>java.lang.IllegalStateException</code> - if the EntityGraph has been
statically defined</dd>
</dl>
</li>
</ul>
<a name="addAttributeNodes-javax.persistence.metamodel.Attribute...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addAttributeNodes</h4>
<pre>void&nbsp;addAttributeNodes(<a href="../../javax/persistence/metamodel/Attribute.html" title="interface in javax.persistence.metamodel">Attribute</a>&lt;<a href="../../javax/persistence/EntityGraph.html" title="type parameter in EntityGraph">T</a>,?&gt;...&nbsp;attribute)</pre>
<div class="block">Add one or more attribute nodes to the entity graph.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>attribute</code> - attribute</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalStateException</code> - if the EntityGraph has been
statically defined</dd>
</dl>
</li>
</ul>
<a name="addSubgraph-javax.persistence.metamodel.Attribute-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addSubgraph</h4>
<pre>&lt;X&gt;&nbsp;<a href="../../javax/persistence/Subgraph.html" title="interface in javax.persistence">Subgraph</a>&lt;X&gt;&nbsp;addSubgraph(<a href="../../javax/persistence/metamodel/Attribute.html" title="interface in javax.persistence.metamodel">Attribute</a>&lt;<a href="../../javax/persistence/EntityGraph.html" title="type parameter in EntityGraph">T</a>,X&gt;&nbsp;attribute)</pre>
<div class="block">Add a node to the graph that corresponds to a managed
type. This allows for construction of multi-node entity graphs
that include related managed types.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>attribute</code> - attribute</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>subgraph for the attribute</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if the attribute's target type
is not a managed type</dd>
<dd><code>java.lang.IllegalStateException</code> - if the EntityGraph has been
statically defined</dd>
</dl>
</li>
</ul>
<a name="addSubgraph-javax.persistence.metamodel.Attribute-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addSubgraph</h4>
<pre>&lt;X&gt;&nbsp;<a href="../../javax/persistence/Subgraph.html" title="interface in javax.persistence">Subgraph</a>&lt;? extends X&gt;&nbsp;addSubgraph(<a href="../../javax/persistence/metamodel/Attribute.html" title="interface in javax.persistence.metamodel">Attribute</a>&lt;<a href="../../javax/persistence/EntityGraph.html" title="type parameter in EntityGraph">T</a>,X&gt;&nbsp;attribute,
java.lang.Class&lt;? extends X&gt;&nbsp;type)</pre>
<div class="block">Add a node to the graph that corresponds to a managed
type with inheritance. This allows for multiple subclass
subgraphs to be defined for this node of the entity
graph. Subclass subgraphs will automatically include the
specified attributes of superclass subgraphs.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>attribute</code> - attribute</dd>
<dd><code>type</code> - entity subclass</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>subgraph for the attribute</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if the attribute's target
type is not a managed type</dd>
<dd><code>java.lang.IllegalStateException</code> - if the EntityGraph has been
statically defined</dd>
</dl>
</li>
</ul>
<a name="addSubgraph-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addSubgraph</h4>
<pre>&lt;X&gt;&nbsp;<a href="../../javax/persistence/Subgraph.html" title="interface in javax.persistence">Subgraph</a>&lt;X&gt;&nbsp;addSubgraph(java.lang.String&nbsp;attributeName)</pre>
<div class="block">Add a node to the graph that corresponds to a managed
type. This allows for construction of multi-node entity graphs
that include related managed types.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>attributeName</code> - name of the attribute</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>subgraph for the attribute</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if the attribute is not an
attribute of this entity.</dd>
<dd><code>java.lang.IllegalArgumentException</code> - if the attribute's target type
is not a managed type</dd>
<dd><code>java.lang.IllegalStateException</code> - if the EntityGraph has been
statically defined</dd>
</dl>
</li>
</ul>
<a name="addSubgraph-java.lang.String-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addSubgraph</h4>
<pre>&lt;X&gt;&nbsp;<a href="../../javax/persistence/Subgraph.html" title="interface in javax.persistence">Subgraph</a>&lt;X&gt;&nbsp;addSubgraph(java.lang.String&nbsp;attributeName,
java.lang.Class&lt;X&gt;&nbsp;type)</pre>
<div class="block">Add a node to the graph that corresponds to a managed
type with inheritance. This allows for multiple subclass
subgraphs to be defined for this node of the entity graph.
Subclass subgraphs will automatically include the specified
attributes of superclass subgraphs.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>attributeName</code> - name of the attribute</dd>
<dd><code>type</code> - entity subclass</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>subgraph for the attribute</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if the attribute is not an
attribute of this managed type.</dd>
<dd><code>java.lang.IllegalArgumentException</code> - if the attribute's target type
is not a managed type</dd>
<dd><code>java.lang.IllegalStateException</code> - if this EntityGraph has been
statically defined</dd>
</dl>
</li>
</ul>
<a name="addKeySubgraph-javax.persistence.metamodel.Attribute-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addKeySubgraph</h4>
<pre>&lt;X&gt;&nbsp;<a href="../../javax/persistence/Subgraph.html" title="interface in javax.persistence">Subgraph</a>&lt;X&gt;&nbsp;addKeySubgraph(<a href="../../javax/persistence/metamodel/Attribute.html" title="interface in javax.persistence.metamodel">Attribute</a>&lt;<a href="../../javax/persistence/EntityGraph.html" title="type parameter in EntityGraph">T</a>,X&gt;&nbsp;attribute)</pre>
<div class="block">Add a node to the graph that corresponds to a map key
that is a managed type. This allows for construction of
multi-node entity graphs that include related managed types.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>attribute</code> - attribute</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>subgraph for the key attribute</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if the attribute's target type
is not an entity</dd>
<dd><code>java.lang.IllegalStateException</code> - if this EntityGraph has been
statically defined</dd>
</dl>
</li>
</ul>
<a name="addKeySubgraph-javax.persistence.metamodel.Attribute-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addKeySubgraph</h4>
<pre>&lt;X&gt;&nbsp;<a href="../../javax/persistence/Subgraph.html" title="interface in javax.persistence">Subgraph</a>&lt;? extends X&gt;&nbsp;addKeySubgraph(<a href="../../javax/persistence/metamodel/Attribute.html" title="interface in javax.persistence.metamodel">Attribute</a>&lt;<a href="../../javax/persistence/EntityGraph.html" title="type parameter in EntityGraph">T</a>,X&gt;&nbsp;attribute,
java.lang.Class&lt;? extends X&gt;&nbsp;type)</pre>
<div class="block">Add a node to the graph that corresponds to a map key
that is a managed type with inheritance. This allows for
construction of multi-node entity graphs that include related
managed types. Subclass subgraphs will include the specified
attributes of superclass subgraphs.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>attribute</code> - attribute</dd>
<dd><code>type</code> - entity subclass</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>subgraph for the key attribute</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if the attribute's target type
is not an entity</dd>
<dd><code>java.lang.IllegalStateException</code> - if this EntityGraph has been
statically defined</dd>
</dl>
</li>
</ul>
<a name="addKeySubgraph-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addKeySubgraph</h4>
<pre>&lt;X&gt;&nbsp;<a href="../../javax/persistence/Subgraph.html" title="interface in javax.persistence">Subgraph</a>&lt;X&gt;&nbsp;addKeySubgraph(java.lang.String&nbsp;attributeName)</pre>
<div class="block">Add a node to the graph that corresponds to a map key
that is a managed type. This allows for construction of
multi-node entity graphs that include related managed types.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>attributeName</code> - name of the attribute</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>subgraph for the key attribute</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if the attribute is not an
attribute of this entity.</dd>
<dd><code>java.lang.IllegalArgumentException</code> - if the attribute's target type
is not an entity</dd>
<dd><code>java.lang.IllegalStateException</code> - if this EntityGraph has been
statically defined</dd>
</dl>
</li>
</ul>
<a name="addKeySubgraph-java.lang.String-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addKeySubgraph</h4>
<pre>&lt;X&gt;&nbsp;<a href="../../javax/persistence/Subgraph.html" title="interface in javax.persistence">Subgraph</a>&lt;X&gt;&nbsp;addKeySubgraph(java.lang.String&nbsp;attributeName,
java.lang.Class&lt;X&gt;&nbsp;type)</pre>
<div class="block">Add a node to the graph that corresponds to a map key
that is a managed type with inheritance. This allows for
construction of multi-node entity graphs that include related
managed types. Subclass subgraphs will automatically include
the specified attributes of superclass subgraphs</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>attributeName</code> - name of the attribute</dd>
<dd><code>type</code> - entity subclass</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>subgraph for the key attribute</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if the attribute is not an
attribute of this entity.</dd>
<dd><code>java.lang.IllegalArgumentException</code> - if the attribute's target type
is not a managed type</dd>
<dd><code>java.lang.IllegalStateException</code> - if this EntityGraph has been
statically defined</dd>
</dl>
</li>
</ul>
<a name="addSubclassSubgraph-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addSubclassSubgraph</h4>
<pre>&lt;T&gt;&nbsp;<a href="../../javax/persistence/Subgraph.html" title="interface in javax.persistence">Subgraph</a>&lt;? extends T&gt;&nbsp;addSubclassSubgraph(java.lang.Class&lt;? extends T&gt;&nbsp;type)</pre>
<div class="block">Add additional attributes to this entity graph that
correspond to attributes of subclasses of this EntityGraph's
entity type. Subclass subgraphs will automatically include the
specified attributes of superclass subgraphs.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>type</code> - entity subclass</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>subgraph for the subclass</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if the type is not an entity type</dd>
<dd><code>java.lang.IllegalStateException</code> - if the EntityGraph has been
statically defined</dd>
</dl>
</li>
</ul>
<a name="getAttributeNodes--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getAttributeNodes</h4>
<pre>java.util.List&lt;<a href="../../javax/persistence/AttributeNode.html" title="interface in javax.persistence">AttributeNode</a>&lt;?&gt;&gt;&nbsp;getAttributeNodes()</pre>
<div class="block">Return the attribute nodes of this entity that are included in
the entity graph.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>attribute nodes for the annotated entity type or empty
list if none have been defined</dd>
</dl>
</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>
<div class="subNav">
<ul class="navList">
<li><a href="../../javax/persistence/EntityExistsException.html" title="class in javax.persistence"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../javax/persistence/EntityListeners.html" title="annotation in javax.persistence"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?javax/persistence/EntityGraph.html" target="_top">Frames</a></li>
<li><a href="EntityGraph.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>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>