org.seasar.doma
注釈型 Select


@Target(value=METHOD)
@Retention(value=RUNTIME)
public @interface Select

検索処理を示します。

このアノテーションが注釈されるメソッドは、Dao が注釈されたインタフェースのメンバでなければいけません。

注釈されるメソッドは、次の制約を満たす必要があります。

注釈されるメソッドのパラメータの役割は次のとおりです。

例:
 @Entity
 public interface Employee {
     ...
 }
 
 @Dao(config = AppConfig.class)
 public interface EmployeeDao {
 
     @Select
     StringDomain selectNameById(IntegerDomain id);
     
     @Select
     List<StringDomain> selectNamesByAgeAndSalary(IntegerDomain age, BigDecimalDomain salary);
 
     @Select
     Employee selectById(IntegerDomain id);
     
     @Select
     List<Employee> selectByExample(Employee example);
     
     @Select(iterate = true)
     <R> R selectSalary(IntegerDomain departmentId, IterationCallback<R, SalaryDomain> callback);
 }
 
注釈されるメソッドは、次の例外をスローすることがあります。

作成者:
taedium

任意要素の概要
 int fetchSize
          フェッチサイズです。
 boolean iterate
          結果のインスタンスを1件ずつ処理するかどうかを示します。
 int maxRows
          最大行数の制限値です。
 int queryTimeout
          クエリタイムアウト(秒)です。
 

queryTimeout

public abstract int queryTimeout
クエリタイムアウト(秒)です。

指定しない場合、 Config.queryTimeout() が使用されます。

関連項目:
Statement.setQueryTimeout(int)
デフォルト:
-1

fetchSize

public abstract int fetchSize
フェッチサイズです。

指定しない場合、 Config.fetchSize() が使用されます。

関連項目:
Statement.setFetchSize(int)
デフォルト:
-1

maxRows

public abstract int maxRows
最大行数の制限値です。

指定しない場合、 Config.maxRows() が使用されます。

関連項目:
Statement.setMaxRows(int)
デフォルト:
-1

iterate

public abstract boolean iterate
結果のインスタンスを1件ずつ処理するかどうかを示します。

true の場合、注釈されたメソッドのパラメータに IterationCallback 型のパラメータを含める必要があります。

デフォルト:
false


Copyright © 2009 The Seasar Foundation. All Rights Reserved.