blob: 00bfd2d9bf0f548b6203723d27e216502a7d37e2 [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>TableGenerator</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="TableGenerator";
}
}
catch(err) {
}
//-->
</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/Table.html" title="annotation in javax.persistence"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../javax/persistence/TableGenerators.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/TableGenerator.html" target="_top">Frames</a></li>
<li><a href="TableGenerator.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>Field&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.required.element.summary">Required</a>&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.optional.element.summary">Optional</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.element.detail">Element</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="Annotation Type TableGenerator" class="title">Annotation Type TableGenerator</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>@Repeatable(value=<a href="../../javax/persistence/TableGenerators.html" title="annotation in javax.persistence">TableGenerators.class</a>)
@Target(value={TYPE,METHOD,FIELD})
@Retention(value=RUNTIME)
public @interface <span class="memberNameLabel">TableGenerator</span></pre>
<div class="block">Defines a primary key generator that may be
referenced by name when a generator element is specified for
the <a href="../../javax/persistence/GeneratedValue.html" title="annotation in javax.persistence"><code>GeneratedValue</code></a> annotation. A table generator
may be specified on the entity class or on the primary key
field or property. The scope of the generator name is global
to the persistence unit (across all generator types).
<pre>
Example 1:
&#064;Entity public class Employee {
...
&#064;TableGenerator(
name="empGen",
table="ID_GEN",
pkColumnName="GEN_KEY",
valueColumnName="GEN_VALUE",
pkColumnValue="EMP_ID",
allocationSize=1)
&#064;Id
&#064;GeneratedValue(strategy=TABLE, generator="empGen")
int id;
...
}
Example 2:
&#064;Entity public class Address {
...
&#064;TableGenerator(
name="addressGen",
table="ID_GEN",
pkColumnName="GEN_KEY",
valueColumnName="GEN_VALUE",
pkColumnValue="ADDR_ID")
&#064;Id
&#064;GeneratedValue(strategy=TABLE, generator="addressGen")
int id;
...
}
</pre></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>Java Persistence 1.0</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javax/persistence/GeneratedValue.html" title="annotation in javax.persistence"><code>GeneratedValue</code></a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== ANNOTATION TYPE REQUIRED MEMBER SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="annotation.type.required.element.summary">
<!-- -->
</a>
<h3>Required Element Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Required Element Summary table, listing required elements, and an explanation">
<caption><span>Required Elements</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Required Element and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/persistence/TableGenerator.html#name--">name</a></span></code>
<div class="block">(Required) A unique generator name that can be referenced
by one or more classes to be the generator for id values.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- =========== ANNOTATION TYPE OPTIONAL MEMBER SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="annotation.type.optional.element.summary">
<!-- -->
</a>
<h3>Optional Element Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Optional Element Summary table, listing optional elements, and an explanation">
<caption><span>Optional Elements</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Optional Element and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/persistence/TableGenerator.html#allocationSize--">allocationSize</a></span></code>
<div class="block">(Optional) The amount to increment by when allocating id
numbers from the generator.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/persistence/TableGenerator.html#catalog--">catalog</a></span></code>
<div class="block">(Optional) The catalog of the table.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../javax/persistence/Index.html" title="annotation in javax.persistence">Index</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/persistence/TableGenerator.html#indexes--">indexes</a></span></code>
<div class="block">(Optional) Indexes for the table.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/persistence/TableGenerator.html#initialValue--">initialValue</a></span></code>
<div class="block">(Optional) The initial value to be used to initialize the column
that stores the last value generated.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/persistence/TableGenerator.html#pkColumnName--">pkColumnName</a></span></code>
<div class="block">(Optional) Name of the primary key column in the table.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/persistence/TableGenerator.html#pkColumnValue--">pkColumnValue</a></span></code>
<div class="block">(Optional) The primary key value in the generator table
that distinguishes this set of generated values from others
that may be stored in the table.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/persistence/TableGenerator.html#schema--">schema</a></span></code>
<div class="block">(Optional) The schema of the table.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/persistence/TableGenerator.html#table--">table</a></span></code>
<div class="block">(Optional) Name of table that stores the generated id values.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../javax/persistence/UniqueConstraint.html" title="annotation in javax.persistence">UniqueConstraint</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/persistence/TableGenerator.html#uniqueConstraints--">uniqueConstraints</a></span></code>
<div class="block">(Optional) Unique constraints that are to be placed on the
table.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/persistence/TableGenerator.html#valueColumnName--">valueColumnName</a></span></code>
<div class="block">(Optional) Name of the column that stores the last value generated.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ ANNOTATION TYPE MEMBER DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="annotation.type.element.detail">
<!-- -->
</a>
<h3>Element Detail</h3>
<a name="name--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>name</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;name</pre>
<div class="block">(Required) A unique generator name that can be referenced
by one or more classes to be the generator for id values.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ ANNOTATION TYPE MEMBER DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="table--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>table</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;table</pre>
<div class="block">(Optional) Name of table that stores the generated id values.
<p> Defaults to a name chosen by persistence provider.</div>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="catalog--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>catalog</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;catalog</pre>
<div class="block">(Optional) The catalog of the table.
<p> Defaults to the default catalog.</div>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="schema--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>schema</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;schema</pre>
<div class="block">(Optional) The schema of the table.
<p> Defaults to the default schema for user.</div>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="pkColumnName--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>pkColumnName</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;pkColumnName</pre>
<div class="block">(Optional) Name of the primary key column in the table.
<p> Defaults to a provider-chosen name.</div>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="valueColumnName--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>valueColumnName</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;valueColumnName</pre>
<div class="block">(Optional) Name of the column that stores the last value generated.
<p> Defaults to a provider-chosen name.</div>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="pkColumnValue--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>pkColumnValue</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;pkColumnValue</pre>
<div class="block">(Optional) The primary key value in the generator table
that distinguishes this set of generated values from others
that may be stored in the table.
<p> Defaults to a provider-chosen value to store in the
primary key column of the generator table</div>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="initialValue--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initialValue</h4>
<pre>public abstract&nbsp;int&nbsp;initialValue</pre>
<div class="block">(Optional) The initial value to be used to initialize the column
that stores the last value generated.</div>
<dl>
<dt>Default:</dt>
<dd>0</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="allocationSize--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>allocationSize</h4>
<pre>public abstract&nbsp;int&nbsp;allocationSize</pre>
<div class="block">(Optional) The amount to increment by when allocating id
numbers from the generator.</div>
<dl>
<dt>Default:</dt>
<dd>50</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="uniqueConstraints--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>uniqueConstraints</h4>
<pre>public abstract&nbsp;<a href="../../javax/persistence/UniqueConstraint.html" title="annotation in javax.persistence">UniqueConstraint</a>[]&nbsp;uniqueConstraints</pre>
<div class="block">(Optional) Unique constraints that are to be placed on the
table. These are only used if table generation is in effect.
These constraints apply in addition to primary key constraints.
<p> Defaults to no additional constraints.</div>
<dl>
<dt>Default:</dt>
<dd>{}</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="indexes--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>indexes</h4>
<pre>public abstract&nbsp;<a href="../../javax/persistence/Index.html" title="annotation in javax.persistence">Index</a>[]&nbsp;indexes</pre>
<div class="block">(Optional) Indexes for the table. These are only used if
table generation is in effect. Note that it is not necessary
to specify an index for a primary key, as the primary key
index will be created automatically.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>Java Persistence 2.1</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>{}</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/Table.html" title="annotation in javax.persistence"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../javax/persistence/TableGenerators.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/TableGenerator.html" target="_top">Frames</a></li>
<li><a href="TableGenerator.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>Field&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.required.element.summary">Required</a>&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.optional.element.summary">Optional</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.element.detail">Element</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>