Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "EclipseLink/UserGuide/JPA/Advanced JPA Development/Schema Generation/Index"
< EclipseLink | UserGuide | JPA | Advanced JPA Development | Schema Generation
Line 21: | Line 21: | ||
{{EclipseLink_AttributeTable | {{EclipseLink_AttributeTable | ||
− | |caption= | + | |caption=Index Attributes |
|content= | |content= | ||
<tr> | <tr> | ||
<td>'''<tt>catalog</tt>'''</td> | <td>'''<tt>catalog</tt>'''</td> | ||
<td>The catalog of the INDEX.</td> | <td>The catalog of the INDEX.</td> | ||
− | <td> | + | <td>Default catalog </td> |
<td>No</td> | <td>No</td> | ||
</tr> | </tr> | ||
Line 44: | Line 44: | ||
<td>'''<tt>schema</tt>'''</td> | <td>'''<tt>schema</tt>'''</td> | ||
<td>The schema of the INDEX.</td> | <td>The schema of the INDEX.</td> | ||
− | <td><tt> | + | <td><tt>Default schema</tt></td> |
<td>No</td> | <td>No</td> | ||
</tr> | </tr> |
Revision as of 15:33, 1 February 2011
EclipseLink JPA
EclipseLink | |
Website | |
Download | |
Community | |
Mailing List • Forums • IRC • mattermost | |
Issues | |
Open • Help Wanted • Bug Day | |
Contribute | |
Browse Source |
Key API
@Index Annotation and <index> XML
>>>>>>THIS PAGE IS IN PROGRESS. PLEASE SEE DISCUSSION PAGE.<<<<<<
An index is a database structure defined for a table, to improve query and look-up performance for a set of columns. Use the @Index annotation in code or the <index> element in the orm.xml descriptor to create an index on a table.
An index can be defined on an Entity or on an attribute. For the Entity it must define a set of columns to index.
Attribute | Description | Default | Required? |
---|---|---|---|
catalog | The catalog of the INDEX. | Default catalog | No |
columnNames | Specify the set of columns to define the index on. | For an Entity , the table. For an attribute, the table and column. | Not required when annotated on a field or method. |
name | The name of the INDEX. | _<column>_INDEX (but a name should be provided) | No |
schema | The schema of the INDEX. | Default schema | No |
table | The table to define the index on, defaults to entities primary table. | The entity's primary table. | No |
unique | Specify whether the index is unique or non-unique. | false | No |
Configuration File
Create an index in orm.xml using <index>, as follows:
<index name="EMP_NAME_INDEX" table="EMPLOYEE" unique="true"> <column>F_NAME</column> <column>L_NAME</column> </index>
Example
Java
@Entity @Index(name="EMP_NAME_INDEX", columns={"F_NAME","L_NAME"}) public class Employee{ @Id private long id; @Index @Column(name="F_NAME") private String firstName; @Index @Column(name="L_NAME") private String lastName; ... }