|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 必須 | オプション | 詳細: 要素 | |||||||||
@Target(value=PARAMETER) @Retention(value=RUNTIME) public @interface ResultSet
ストアドファンクションやストアドプロシージャーから返される結果セットにマッピングされることを示します。
ResultSet
をカーソルとしてOUTパラメータで返すRDBMSにおいては、注釈されたパラメータは実質的にOUTパラメータとして扱われます
。そうでないRDBMSにおいては、IN、INOUT、OUTのいずれのパラメータにもみなされません。
Statement.getResultSet()で取得される結果セットにマッピングされます。
このアノテーションが注釈されるパラメータは、 Function もしくは Procedure
が注釈されたメソッドのパラメータでなければいけません。
注釈されるパラメータは、次の制約を満たす必要があります。
List である。 List の実型引数は、基本型、 ドメインクラス 、エンティティクラス、もしくは
Map<String, Object> のいずれかでなければならない。
@Dao(config = AppConfig.class)
public interface EmployeeDao {
@Procedure
void fetchEmployees(@In Integer departmentId,
@ResultSet List<Employee> employees);
}
EmployeeDao dao = new EmployeeDaoImpl();
List<Employee> employees = new ArrayList<Employee>();
dao.fetchEmployees(10, employees);
for (Employee e : employees) {
...
}
| 任意要素の概要 | |
|---|---|
boolean |
ensureResultMapping
結果がエンティティやエンティティのリストの場合、エンティティのすべてのプロパティに結果セットのカラムがマッピングされることを保証します。 |
public abstract boolean ensureResultMapping
true の場合、マッピングされないプロパティが存在すれば、このアノテーションが注釈されたパラメータを持つメソッドから
ResultMappingException がスローされます。
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 必須 | オプション | 詳細: 要素 | |||||||||