@Target(value=PARAMETER)
@Retention(value=RUNTIME)
public @interface ResultSet
ResultSet
をカーソルとしてOUTパラメータで返すRDBMSにおいては、注釈されたパラメータは実質的にOUTパラメータとして扱われます
。そうでないRDBMSにおいては、IN、INOUT、OUTのいずれのパラメータにもみなされません。
Statement.getResultSet()
で取得される結果セットにマッピングされます。
このアノテーションが注釈されるパラメータは、 Function
もしくは Procedure
が注釈されたメソッドのパラメータでなければいけません。
@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
がスローされます。