EclipseLink/UserGuide/JPA/Advanced JPA Development/Schema Generation/Index

From Eclipsepedia

Jump to: navigation, search

EclipseLink JPA

Mailing ListForumsIRC
Help Wanted
Bug Day
Browse Source

@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 desciptor 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.

// Need code sample.
@Index Attributes
Attribute Description Default Required?
catalog The catalog of the INDEX. ? 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. ? 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">

Version: 2.2.0 DRAFT
Other versions...