blob: 4b17bfd5638171516944a384b87b1b5992f27aa3 [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>MapKeyColumn</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="MapKeyColumn";
}
}
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="../../jakarta/persistence/MapKeyClass.html" title="annotation in jakarta.persistence"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../jakarta/persistence/MapKeyEnumerated.html" title="annotation in jakarta.persistence"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?jakarta/persistence/MapKeyColumn.html" target="_top">Frames</a></li>
<li><a href="MapKeyColumn.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>Required&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">jakarta.persistence</div>
<h2 title="Annotation Type MapKeyColumn" class="title">Annotation Type MapKeyColumn</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>@Target(value={METHOD,FIELD})
@Retention(value=RUNTIME)
public @interface <span class="memberNameLabel">MapKeyColumn</span></pre>
<div class="block">Specifies the mapping for the key column of a map whose
map key is a basic type. If the <code>name</code> element is not specified, it
defaults to the concatenation of the following: the name of the
referencing relationship field or property; "_"; "KEY".
<pre>
Example:
&#064;Entity
public class Item {
&#064;Id int id;
...
&#064;ElementCollection
&#064;MapKeyColumn(name="IMAGE_NAME")
&#064;Column(name="IMAGE_FILENAME")
&#064;CollectionTable(name="IMAGE_MAPPING")
Map&#060;String, String&#062; images; // map from image name to filename
...
}
</pre></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.0</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== 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>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/persistence/MapKeyColumn.html#columnDefinition--">columnDefinition</a></span></code>
<div class="block">(Optional) The SQL fragment that is used when generating the DDL for the
column.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/persistence/MapKeyColumn.html#insertable--">insertable</a></span></code>
<div class="block">(Optional) Whether the column is included in SQL INSERT statements
generated by the persistence provider.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/persistence/MapKeyColumn.html#length--">length</a></span></code>
<div class="block">(Optional) The column length.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/persistence/MapKeyColumn.html#name--">name</a></span></code>
<div class="block">(Optional) The name of the map key column.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/persistence/MapKeyColumn.html#nullable--">nullable</a></span></code>
<div class="block">(Optional) Whether the database column is nullable.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/persistence/MapKeyColumn.html#precision--">precision</a></span></code>
<div class="block">(Optional) The precision for a decimal (exact numeric) column.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/persistence/MapKeyColumn.html#scale--">scale</a></span></code>
<div class="block">(Optional) The scale for a decimal (exact numeric) column.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/persistence/MapKeyColumn.html#table--">table</a></span></code>
<div class="block">(Optional) The name of the table that contains the column.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/persistence/MapKeyColumn.html#unique--">unique</a></span></code>
<div class="block">(Optional) Whether the column is a unique key.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/persistence/MapKeyColumn.html#updatable--">updatable</a></span></code>
<div class="block">(Optional) Whether the column is included in SQL UPDATE statements
generated by the persistence provider.</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="blockList">
<li class="blockList">
<h4>name</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;name</pre>
<div class="block">(Optional) The name of the map key column. The table in which it is found
depends upon the context. If the map key is for an element collection,
the map key column is in the collection table for the map value. If the
map key is for a ManyToMany entity relationship or for a OneToMany entity
relationship using a join table, the map key column is in a join table.
If the map key is for a OneToMany entity relationship using a foreign key
mapping strategy, the map key column is in the table of the entity that
is the value of the map.
<p> Defaults to the concatenation of the following: the name of
the referencing relationship field or property; "_"; "<code>KEY</code>".</div>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="unique--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unique</h4>
<pre>public abstract&nbsp;boolean&nbsp;unique</pre>
<div class="block">(Optional) Whether the column is a unique key. This is a
shortcut for the <code>UniqueConstraint</code> annotation
at the table level and is useful for when the unique key
constraint corresponds to only a single column. This
constraint applies in addition to any constraint entailed
by primary key mapping and to constraints specified at the
table level.</div>
<dl>
<dt>Default:</dt>
<dd>false</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="nullable--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nullable</h4>
<pre>public abstract&nbsp;boolean&nbsp;nullable</pre>
<div class="block">(Optional) Whether the database column is nullable.</div>
<dl>
<dt>Default:</dt>
<dd>false</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="insertable--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>insertable</h4>
<pre>public abstract&nbsp;boolean&nbsp;insertable</pre>
<div class="block">(Optional) Whether the column is included in SQL INSERT statements
generated by the persistence provider.</div>
<dl>
<dt>Default:</dt>
<dd>true</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="updatable--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updatable</h4>
<pre>public abstract&nbsp;boolean&nbsp;updatable</pre>
<div class="block">(Optional) Whether the column is included in SQL UPDATE statements
generated by the persistence provider.</div>
<dl>
<dt>Default:</dt>
<dd>true</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="columnDefinition--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>columnDefinition</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;columnDefinition</pre>
<div class="block">(Optional) The SQL fragment that is used when generating the DDL for the
column.
<p> Defaults to the generated SQL to create a
column of the inferred type.</div>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<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) The name of the table that contains the column.
<p> Defaults: If the map key is for an element collection,
the name of the collection table for the map value. If the
map key is for a OneToMany or ManyToMany entity
relationship using a join table, the name of the join table
for the map. If the map key is for a OneToMany entity
relationship using a foreign key mapping strategy, the name
of the primary table of the entity that is the value of the
map.</div>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="length--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>length</h4>
<pre>public abstract&nbsp;int&nbsp;length</pre>
<div class="block">(Optional) The column length. (Applies only if a string-valued column is
used.)</div>
<dl>
<dt>Default:</dt>
<dd>255</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="precision--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>precision</h4>
<pre>public abstract&nbsp;int&nbsp;precision</pre>
<div class="block">(Optional) The precision for a decimal (exact numeric) column. (Applies
only if a decimal column is used.)
<p> Default: 0. (The value must be set by the developer.)</div>
<dl>
<dt>Default:</dt>
<dd>0</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="scale--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>scale</h4>
<pre>public abstract&nbsp;int&nbsp;scale</pre>
<div class="block">(Optional) The scale for a decimal (exact numeric) column. (Applies only
if a decimal column is used.)</div>
<dl>
<dt>Default:</dt>
<dd>0</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="../../jakarta/persistence/MapKeyClass.html" title="annotation in jakarta.persistence"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../jakarta/persistence/MapKeyEnumerated.html" title="annotation in jakarta.persistence"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?jakarta/persistence/MapKeyColumn.html" target="_top">Frames</a></li>
<li><a href="MapKeyColumn.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>Required&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>