|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 必須 | オプション | 詳細: 要素 |
@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
がスローされます。
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 必須 | オプション | 詳細: 要素 |