org.seasar.kuina.dao
注釈タイプ Orderby


@Target(value={PARAMETER,METHOD})
@Retention(value=RUNTIME)
public @interface Orderby

この注釈は二つの用途で使われます.

DAOのメソッドに注釈された場合,この注釈は注釈されたメソッドによるJPQL問い合わせのORDER BY句を指定します.

 interface EmpDao {
     @Orderby("e.salary DESC, e.name ASC")
     List findEmpOrderbySalary();
     ...
 }
 

DAOのメソッド引数またはDTOプロパティのgetterメソッドに注釈された場合は,メソッド引数またはDTOのプロパティがORDER BY句に含まれることを指定します. デフォルトでは,メソッド引数またはDTOプロパティの名前がorderbyであれば注釈する必要はありません. ORDER BY句を指定するメソッド引数またはDTOプロパティ名がorderby以外の場合にこの注釈を使用します.

DAOメソッドにこの注釈が付けられ,メソッド引数またはDTOのプロパティでもORDER BYが指定された場合は,DAOメソッドの注釈で指定されたorder_by_specの後ろにメソッド引数またはDTOプロパティで指定されたorder_by_specが続くJPQLが生成されます.

 interface EmpDao {
     @Orderby("e.salary DESC")
     List findEmpOrderbySalary(OrderbySpec... orderby);
     ...
 }
 
 dao.findEmpOrderbySalary(new OrderbySpec("name", OrderingSpec.ASC));
 
 SELECT e FROM Emp e ... ORDER BY e.salary DESC, e.name ASC
 

作成者:
koichik

任意要素の概要
 String value
          ORDER BY句に含めるorder_by_spec (DAOメソッドに注釈する場合のみ)
 

value

public abstract String value
ORDER BY句に含めるorder_by_spec (DAOメソッドに注釈する場合のみ)

デフォルト:
""


Copyright © 2006-2009 The Seasar Foundation. All Rights Reserved.