パッケージ jakarta.persistence
アノテーション型 OrderBy
@TargetSE({METHODSE,FIELDSE}) @RetentionSE(RUNTIMESE) public @interface OrderBy
関連付けまたはコレクションが取得される時点で、コレクション値の関連付けまたは要素コレクションの要素の順序を指定します。value
順序付け要素の構文は、次のようにorderby_list
です。orderby_list::= orderby_item [,orderby_item]* orderby_item::= [property_or_field_name] [ASC | DESC]
ASC
またはDESC
が指定されていない場合、ASC
(昇順)が想定されます。エンティティの関連付けに順序付け要素が指定されていない場合、関連付けられたエンティティの主キーによる順序付けが想定されます。
プロパティまたはフィールド名は、関連するクラスまたはその中の埋め込みクラスの永続的なプロパティまたはフィールドの名前に対応している必要があります。順序付けで使用されるプロパティまたはフィールドは、比較演算子がサポートされている列に対応している必要があります。
ドット("." )表記は、埋め込まれた属性内の属性を参照するために使用されます。ドット表記で使用される各識別子の値は、それぞれの埋め込みフィールドまたはプロパティの名前です。
OrderBy
アノテーションは、要素コレクションに適用できます。OrderBy
が基本型の要素コレクションに適用される場合、順序付けは基本オブジェクトの値によって行われ、プロパティまたはフィールド名は使用されません。埋め込み可能な型の要素コレクションの順序を指定する場合は、ドット表記を使用して、順序を決定する 1 つまたは複数の属性を指定する必要があります。オーダー列が指定されている場合、
OrderBy
アノテーションは使用されません。Example 1: @Entity public class Course { ... @ManyToMany @OrderBy("lastname ASC") public List<Student> getStudents() {...}; ... } Example 2: @Entity public class Student { ... @ManyToMany(mappedBy="students") @OrderBy // ordering by primary key is assumed public List<Course> getCourses() {...}; ... } Example 3: @Entity public class Person { ... @ElementCollection @OrderBy("zipcode.zip, zipcode.plusFour") public Set<Address> getResidences() {...}; ... } @Embeddable public class Address { protected String street; protected String city; protected String state; @Embedded protected Zipcode zipcode; } @Embeddable public class Zipcode { protected String zip; protected String plusFour; }
- 導入:
- 1.0
- 関連事項:
OrderColumn
要素の詳細
value
StringSE value
orderby_list
。次のように指定されます。orderby_list::= orderby_item [,orderby_item]* orderby_item::= [property_or_field_name] [ASC | DESC]
ASC
またはDESC
が指定されていない場合、ASC
(昇順)が想定されます。ordering 要素が指定されていない場合、関連付けられたエンティティの主キーによる順序付けが想定されます。
- デフォルト:
- ""