@Target(value={METHOD,FIELD})
@Retention(value=RUNTIME)
public @interface OrderBy
orderby_list
のvalue
順序要素の構文は以下の通りです。
orderby_list::= orderby_item [,orderby_item]* orderby_item::= [property_or_field_name] [ASC | DESC]
ASC
もDESC
も指定されていない場合、ASC
(昇順)が指定されます。
エンティティの関連に順序要素が指定されていない場合、関連したエンティティの主キーによる順序付けが想定されます。
プロパティーまたはフィールド名は、関連するクラスまたはその内部の組み込みクラスの永続化プロパティーまたはフィールドの名前に対応する必要があります。 順序付けで使用されるプロパティーまたはフィールドは、比較演算子がサポートされるカラムに対応していなければなりません。
ドット(".")表記は、組み込み属性内の属性を参照するために使用されます。 ドット表記で使用される各識別子の値は、それぞれの組み込みフィールドまたはプロパティの名前です。
OrderBy
アノテーションは要素コレクションに適用することができます。
OrderBy
が基本型の要素コレクションに適用された場合、順序付けは基本型の値で行われ、プロパティーやフィールド名は使用されないでしょう。
順序付けが組み込み型の要素コレクションに順序付けを指定する時には、順序を決定する属性を指定するためにドット表記を使用する必要があります。
OrderBy
アノテーションはOrderColumn
が指定されている場合は使用しません。
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; }
OrderColumn
修飾子とタイプ | 任意要素と説明 |
---|---|
java.lang.String |
value
orderby_list 。 |
Translated by @megascus.