|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 必須 | オプション | 詳細: 要素 |
@Target(value={PARAMETER,METHOD}) @Retention(value=RUNTIME) public @interface Orderby
この注釈は二つの用途で使われます.
DAOのメソッドに注釈された場合,この注釈は注釈されたメソッドによるJPQL問い合わせのORDER BY句を指定します.
interface EmpDao { @Orderby("e.salary DESC, e.name ASC") ListfindEmpOrderbySalary(); ... }
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") ListfindEmpOrderbySalary(OrderbySpec... orderby); ... }
dao.findEmpOrderbySalary(new OrderbySpec("name", OrderingSpec.ASC));
SELECT e FROM Emp e ... ORDER BY e.salary DESC, e.name ASC
任意要素の概要 | |
---|---|
String |
value
ORDER BY句に含めるorder_by_spec (DAOメソッドに注釈する場合のみ) |
public abstract String value
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 必須 | オプション | 詳細: 要素 |