Top Description Methods
jakarta.persistence

public @Interface OrderColumn

extends Annotation
Annotations
@Target:METHOD, FIELD
@Retention:RUNTIME
Imports
java.lang.annotation.Target, .Retention

Specifies a column that is used to maintain the persistent order of a list. The persistence provider is responsible for maintaining the order upon retrieval and in the database. The persistence provider is responsible for updating the ordering upon flushing to the database to reflect any insertion, deletion, or reordering affecting the list.

The OrderColumn annotation is specified on a OneToMany or ManyToMany relationship or on an element collection. The OrderColumn annotation is specified on the side of the relationship that references the collection that is to be ordered. The order column is not visible as part of the state of the entity or embeddable class.

The OrderBy annotation should be used for ordering that is visible as persistent state and maintained by the application. The OrderBy annotation is not used when OrderColumn is specified.

The order column must be of integral type. The persistence provider maintains a contiguous (non-sparse) ordering of the values of the order column when updating the association or element collection. The order column value for the first element is 0.

Example:

@Entity public class CreditCard { @Id long ccNumber; @OneToMany // unidirectional @OrderColumn List<CardTransaction> transactionHistory; ... }
@Entity
public class CreditCard {

    @Id
    long ccNumber;

    @OneToMany  // unidirectional
    @OrderColumn
    List<CardTransaction> transactionHistory;
    ...
}
Since
2.0
See Also
OrderBy

Method Summary

Modifier and TypeMethod and Description
public String
columnDefinition()

(Optional) The SQL fragment that is used when generating the DDL for the column.

public boolean
insertable()

(Optional) Whether the column is included in SQL INSERT statements generated by the persistence provider.

public String
name()

(Optional) The name of the ordering column.

public boolean
nullable()

(Optional) Whether the database column is nullable.

public String
options()

(Optional) A SQL fragment appended to the generated DDL which declares this column.

public boolean
updatable()

(Optional) Whether the column is included in SQL UPDATE statements generated by the persistence provider.

Inherited from java.lang.annotation.Annotation:
annotationTypeequalshashCodetoString

Method Detail

columnDefinitionback to summary
public String columnDefinition()

(Optional) The SQL fragment that is used when generating the DDL for the column. Defaults to generated SQL to create a column of the inferred type.

insertableback to summary
public boolean insertable()

(Optional) Whether the column is included in SQL INSERT statements generated by the persistence provider.

nameback to summary
public String name()

(Optional) The name of the ordering column. Defaults to the concatenation of the name of the referencing property or field; "_"; "ORDER".

nullableback to summary
public boolean nullable()

(Optional) Whether the database column is nullable.

optionsback to summary
public String options()

(Optional) A SQL fragment appended to the generated DDL which declares this column. May not be used in conjunction with columnDefinition().

Since
3.2
updatableback to summary
public boolean updatable()

(Optional) Whether the column is included in SQL UPDATE statements generated by the persistence provider.