パッケージ 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
    • オプション要素のサマリー

      オプション要素  
      修飾子と型 オプションの要素 説明
      StringSEvalue
      orderby_list
    • 要素の詳細

      • value

        StringSE value
        orderby_list。次のように指定されます。
            orderby_list::= orderby_item [,orderby_item]*
            orderby_item::= [property_or_field_name] [ASC | DESC]
         

        ASC または DESC が指定されていない場合、ASC (昇順)が想定されます。

        ordering 要素が指定されていない場合、関連付けられたエンティティの主キーによる順序付けが想定されます。

        デフォルト:
        ""