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;
...
}
- Since:
- 2.0
- See Also:
-
Optional Element Summary
Modifier and TypeOptional ElementDescription(Optional) The SQL fragment that is used when generating the DDL for the column.boolean
(Optional) Whether the column is included in SQL INSERT statements generated by the persistence provider.(Optional) The name of the ordering column.boolean
(Optional) Whether the database column is nullable.(Optional) A SQL fragment appended to the generated DDL which declares this column.boolean
(Optional) Whether the column is included in SQL UPDATE statements generated by the persistence provider.
-
Element Details
-
name
String name(Optional) The name of the ordering column. Defaults to the concatenation of the name of the referencing property or field; "_
"; "ORDER
".- Default:
""
-
nullable
boolean nullable(Optional) Whether the database column is nullable.- Default:
true
-
insertable
boolean insertable(Optional) Whether the column is included in SQL INSERT statements generated by the persistence provider.- Default:
true
-
updatable
boolean updatable(Optional) Whether the column is included in SQL UPDATE statements generated by the persistence provider.- Default:
true
-
columnDefinition
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.- Default:
""
-
options
String options(Optional) A SQL fragment appended to the generated DDL which declares this column. May not be used in conjunction withcolumnDefinition()
.- Since:
- 3.2
- Default:
""
-