|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 必須 | オプション | 詳細: 要素 | |||||||||
@Target(value=METHOD) @Retention(value=RUNTIME) public @interface Function
ストアドファンクションの呼び出しを示します。
このアノテーションが注釈されるメソッドは、Daoインタフェースのメンバでなければいけません。 注釈されるメソッドは、次の制約を満たす必要があります。
In 、 InOut 、 Out 、
ResultSet のいずれかのアノテーションが指定される。これらは、ストアドファンクションの定義に合わせて注釈しなければいけない。
Inは、INパラメータを表す。
InOutは、INOUTパラメータを表す。
Outは、 OUTパラメータを表す。
ResultSet は、カーソルのOUTパラメータ、もしくはストアドファンクションが返す結果セットを表す。
void
List。実型引数は、基本型、ドメインクラス、エンティティクラス、もしくは @code{MapList
にできるのは、ストアドファンクションがカーソルをファンクションの実行結果として返す場合のみである。
@Dao(config = AppConfig.class)
public interface EmployeeDao {
@Function
BigDecimal getSalary(@In Integer id, @Out Reference<String> name);
}
注釈されるメソッドは、次の例外をスローすることがあります。
DomaNullPointerException パラメータに nullを渡した場合
MappedPropertyNotFoundException ResultSet
を使用していて結果セットに含まれるカラムにマッピングされたプロパティが見つからなかった場合
JdbcException JDBCに関する例外が発生した場合
In,
InOut,
Out,
ResultSet| 任意要素の概要 | |
|---|---|
String |
catalog
カタログ名です。 |
boolean |
ensureResultMapping
結果がエンティティやエンティティのリストの場合、エンティティのすべてのプロパティに結果セットのカラムがマッピングされることを保証します。 |
MapKeyNamingType |
mapKeyNaming
結果セットを @code{Map |
String |
name
ストアドファンクションの名前です。 |
int |
queryTimeout
クエリタイムアウト(秒)です。 |
String |
schema
スキーマ名です。 |
public abstract String catalog
public abstract String schema
public abstract String name
指定しない場合、注釈されたメソッドの名前が使用されます。
public abstract int queryTimeout
指定しない場合、Config.getQueryTimeout()が使用されます。
Statement.setQueryTimeout(int)public abstract MapKeyNamingType mapKeyNaming
public abstract boolean ensureResultMapping
true の場合、マッピングされないプロパティが存在すれば、このアノテーションが注釈されたメソッドから
ResultMappingException がスローされます。
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 必須 | オプション | 詳細: 要素 | |||||||||