OrderBy (Java EE 5)

Java EE API


javax.persistence Annotation Type OrderBy


@Target(value={METHOD,FIELD})
@Retention(value=RUNTIME)
public @interface OrderBy

Implements: Annotation
@Target(value={METHOD, FIELD})
@Retention(value=RUNTIME)

此注释指定获取关联时,使用 Collection 定义了值的关联元素的排列顺序。

value 排序元素的语法为 orderby_list,如下所示:

orderby_list::= orderby_item [,orderby_item]*
orderby_item::= property_or_field_name [ASC | DESC]
 

如果没有指定 ASCDESC,则假定为 ASC(升序)。

如果没有指定排序元素,则假定使用关联实体的主键进行排序。

属性或字段名称必须对应于关联类的持久属性或字段名称。排序中使用的属性或字段必须对应于支持比较运算符的列。

示例:
    
    @Entity public class Course {
     ...
     @ManyToMany
     @OrderBy("lastname ASC")
     public List getStudents() {...};
     ...
    }
    
    @Entity public class Student {
      ...
      @ManyToMany(mappedBy="students")
      @OrderBy // PK is assumed
      public List getCourses() {...};
      ...
    }
 
英文文档:

This annotation specifies the ordering of the elements of a collection valued association at the point when the association is retrieved.

The syntax of the value ordering element is an orderby_list, as follows:

    orderby_list::= orderby_item [,orderby_item]*
    orderby_item::= property_or_field_name [ASC | DESC]
 

If ASC or DESC is not specified, ASC (ascending order) is assumed.

If the ordering element is not specified, ordering by the primary key of the associated entity is assumed.

The property or field name must correspond to that of a persistent property or field of the associated class. The properties or fields used in the ordering must correspond to columns for which comparison operators are supported.

    Example:
    
    @Entity public class Course {
     ...
     @ManyToMany
     @OrderBy("lastname ASC")
     public List getStudents() {...};
     ...
    }
    
    @Entity public class Student {
      ...
      @ManyToMany(mappedBy="students")
      @OrderBy // PK is assumed
      public List getCourses() {...};
      ...
    }
 

Since:
Java Persistence 1.0

Optional Element Summary
 String
 

abstract public String value()
orderby_list,指定如下:
orderby_list::= orderby_item [,orderby_item]*
orderby_item::= property_or_field_name [ASC | DESC]
 

如果没有指定 ASCDESC,则假定为 ASC(升序)。

如果没有指定排序元素,则假定使用关联实体的主键进行排序。

英文文档:

value

public abstract String value
An orderby_list, specified as follows:
    orderby_list::= orderby_item [,orderby_item]*
    orderby_item::= property_or_field_name [ASC | DESC]
 

If ASC or DESC is not specified, ASC (ascending order) is assumed.

If the ordering element is not specified, ordering by the primary key of the associated entity is assumed.

Default:
""


Submit a bug or feature

Copyright 2007 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.

一看就知道只有菜鸟才干这么无知的事啦。

PS : 未经我党受权你也可自由散发此文档。 如有任何错误请自行修正;若因此而造成任何损失请直接找人民主席,请勿与本人联系。谢谢!