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