blob: 546b21cef7ffbdc6bf12e0ed3f93632f1bbb58f4 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0) on Fri Nov 27 12:46:11 EST 2009 -->
<TITLE>
CollectionTable (EclipseLink 2.0.0, build 'v20091127-r5931' API Reference)
</TITLE>
<META NAME="date" CONTENT="2009-11-27">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="CollectionTable (EclipseLink 2.0.0, build 'v20091127-r5931' API Reference)";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../serialized-form.html"><FONT CLASS="NavBarFont1"><B>Serialized</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
EclipseLink 2.0.0, build 'v20091127-r5931' API Reference</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../javax/persistence/CascadeType.html" title="enum in javax.persistence"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../javax/persistence/Column.html" title="annotation in javax.persistence"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../index.html?javax/persistence/CollectionTable.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="CollectionTable.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;REQUIRED&nbsp;|&nbsp;<A HREF="#annotation_type_optional_element_summary">OPTIONAL</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#annotation_type_element_detail">ELEMENT</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
javax.persistence</FONT>
<BR>
Annotation Type CollectionTable</H2>
<HR>
<DL>
<DT><PRE><FONT SIZE="-1">@Target(value={METHOD,FIELD})
@Retention(value=RUNTIME)
</FONT>public @interface <B>CollectionTable</B></DL>
</PRE>
<P>
Specifies the table that is used for the mapping of
collections of basic or embeddable types. Applied
to the collection-valued field or property.
<p>By default, the columns of the collection table that correspond
to the embeddable class or basic type are derived from the
attributes of the embeddable class or from the basic type according
to the default values of the <code>Column</code> annotation. In the case
of a basic type, the column name is derived from the name of the
collection-valued field or property. In the case of an embeddable
class, the column names are derived from the field or property
names of the embeddable class.
<ul>
<li> To override the default properties of the column used for a
basic type, the <code>Column</code> annotation is used on the
collection-valued attribute in addition to the
<code>ElementCollection</code> annotation.
<li> To override these defaults for an embeddable class, the
<code>AttributeOverride</code> and/or
<code>AttributeOverrides</code> annotations can be used in
addition to the <code>ElementCollection</code> annotation. If the
embeddable class contains references to other entities, the default
values for the columns corresponding to those references may be
overridden by means of the <code>AssociationOverride</code> and/or
<code>AssociationOverrides</code> annotations.
</ul>
<p> If the <code>CollectionTable</code> annotation is missing, the
default values of the <code>CollectionTable</code> annotation
elements apply.
<pre>
Example:
&#064;Embeddable public class Address {
protected String street;
protected String city;
protected String state;
...
}
&#064;Entity public class Person {
&#064;Id protected String ssn;
protected String name;
protected Address home;
...
&#064;ElementCollection // use default table (PERSON_NICKNAMES)
&#064;Column(name="name", length=50)
protected Set&#060;String&#062; nickNames = new HashSet();
...
}
&#064;Entity public class WealthyPerson extends Person {
&#064;ElementCollection
&#064;CollectionTable(name="HOMES") // use default join column name
&#064;AttributeOverrides({
&#064;AttributeOverride(name="street",
column=&#064;Column(name="HOME_STREET")),
&#064;AttributeOverride(name="city",
column=&#064;Column(name="HOME_CITY")),
&#064;AttributeOverride(name="state",
column=&#064;Column(name="HOME_STATE"))
})
protected Set&#060;Address&#062; vacationHomes = new HashSet();
...
}
</pre>
<P>
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../javax/persistence/ElementCollection.html" title="annotation in javax.persistence"><CODE>ElementCollection</CODE></A>,
<A HREF="../../javax/persistence/AttributeOverride.html" title="annotation in javax.persistence"><CODE>AttributeOverride</CODE></A>,
<A HREF="../../javax/persistence/AssociationOverride.html" title="annotation in javax.persistence"><CODE>AssociationOverride</CODE></A>,
<A HREF="../../javax/persistence/Column.html" title="annotation in javax.persistence"><CODE>Column</CODE></A><DT><B>Since:</B></DT>
<DD>Java Persistence 2.0</DD>
</DL>
<HR>
<P>
<!-- =========== ANNOTATION TYPE OPTIONAL MEMBER SUMMARY =========== -->
<A NAME="annotation_type_optional_element_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Optional Element Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/persistence/CollectionTable.html#catalog()">catalog</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Optional) The catalog of the table.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../javax/persistence/JoinColumn.html" title="annotation in javax.persistence">JoinColumn</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/persistence/CollectionTable.html#joinColumns()">joinColumns</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Optional) The foreign key columns of the collection table
which reference the primary table of the entity.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/persistence/CollectionTable.html#name()">name</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Optional) The name of the collection table.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/persistence/CollectionTable.html#schema()">schema</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Optional) The schema of the table.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../javax/persistence/UniqueConstraint.html" title="annotation in javax.persistence">UniqueConstraint</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/persistence/CollectionTable.html#uniqueConstraints()">uniqueConstraints</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Optional) Unique constraints that are to be placed on the
table.</TD>
</TR>
</TABLE>
&nbsp;
<P>
<A NAME="name()"><!-- --></A><H3>
name</H3>
<PRE>
public abstract java.lang.String <B>name</B></PRE>
<DL>
<DD>(Optional) The name of the collection table. If not specified,
it defaults to the concatenation of the name of the containing
entity and the name of the collection attribute, separated by
an underscore.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
<DL>
<DT><B>Default:</B><DD>""</DD>
</DL>
</DL>
<HR>
<A NAME="catalog()"><!-- --></A><H3>
catalog</H3>
<PRE>
public abstract java.lang.String <B>catalog</B></PRE>
<DL>
<DD>(Optional) The catalog of the table. If not specified, the
default catalog is used.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
<DL>
<DT><B>Default:</B><DD>""</DD>
</DL>
</DL>
<HR>
<A NAME="schema()"><!-- --></A><H3>
schema</H3>
<PRE>
public abstract java.lang.String <B>schema</B></PRE>
<DL>
<DD>(Optional) The schema of the table. If not specified, the
default schema for the user is used.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
<DL>
<DT><B>Default:</B><DD>""</DD>
</DL>
</DL>
<HR>
<A NAME="joinColumns()"><!-- --></A><H3>
joinColumns</H3>
<PRE>
public abstract <A HREF="../../javax/persistence/JoinColumn.html" title="annotation in javax.persistence">JoinColumn</A>[] <B>joinColumns</B></PRE>
<DL>
<DD>(Optional) The foreign key columns of the collection table
which reference the primary table of the entity. The default
only applies if a single join column is used. The default is
the same as for <code>JoinColumn</code> (i.e., the
concatenation of the following: the name of the entity; "_";
the name of the referenced primary key column.) However, if
there is more than one join column, a <code>JoinColumn</code>
annotation must be specified for each join column using the
<code>JoinColumns</code> annotation. In this case, both the
<code>name</code> and the <code>referencedColumnName</code>
elements must be specified in each such
<code>JoinColumn</code> annotation.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
<DL>
<DT><B>Default:</B><DD>{}</DD>
</DL>
</DL>
<HR>
<A NAME="uniqueConstraints()"><!-- --></A><H3>
uniqueConstraints</H3>
<PRE>
public abstract <A HREF="../../javax/persistence/UniqueConstraint.html" title="annotation in javax.persistence">UniqueConstraint</A>[] <B>uniqueConstraints</B></PRE>
<DL>
<DD>(Optional) Unique constraints that are to be placed on the
table. These are only used if table generation is in effect.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
<DL>
<DT><B>Default:</B><DD>{}</DD>
</DL>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../serialized-form.html"><FONT CLASS="NavBarFont1"><B>Serialized</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
EclipseLink 2.0.0, build 'v20091127-r5931' API Reference</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../javax/persistence/CascadeType.html" title="enum in javax.persistence"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../javax/persistence/Column.html" title="annotation in javax.persistence"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../index.html?javax/persistence/CollectionTable.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="CollectionTable.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;REQUIRED&nbsp;|&nbsp;<A HREF="#annotation_type_optional_element_summary">OPTIONAL</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#annotation_type_element_detail">ELEMENT</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>