Use @Array to define object-relational data types supported by specific databases, such as Oracle VARRAY types or PostgreSQL JDBC Array types.
Annotation Elements
Table 2-2 describes this annotation's elements.
Table 2-2 @Array Annotation Elements
| Annotation Element | Description | Default | 
|---|---|---|
| 
 | (Required) The name of the database array structure type. | |
| 
 | (Optional only if the collection field or property is defined using Java generics; otherwise Required) The class (basic or embeddable) that is the element type of the collection. | Parameterized type of the collection. | 
Usage
Use @Array on a collection attribute that is persisted to an Array type. The collection can be of basic types or embeddable class mapped using a Struct.
Examples
Example 2-5 shows how to use this annotation with an Oracle VARRAY type.
Example 2-5 Using @Array with Oracle VARRAY
VARRAY DDL: CREATE TYPE TASKS_TYPE AS VARRAY(10) OF VARCHAR(100)
@Struct
@Entity
public class Employee {
    @Id
    private long id;
    @Array(databaseType="TASKS_TYPE")
    private List<String> tasks;
}
Example 2-6 shows how to use this annotation with an PostgreSQL Struct type.
Example 2-6 Using @Array with PostgreSQL Struct
DDL: CREATE TABLE EMPLOYEE (ID BIGINT, TASKS TEXT[])
@Struct
@Entity
public class Employee {
    @Id
    private long id;
    @Array(databaseType="TEXT[]")
    private List<String> tasks;
}
See Also
For more information, see the following:
Understanding EclipseLink
Solutions Guide for EclispeLink