public interface StoredProcedureQuery extends Query
ストアドプロシージャーのクエリーの実行は、以下のように制御されるでしょう。
setParameterメソッドはすべての必須なINパラメーターとINOUTパラメーターの値を設定するために使用されます。
ストアドプロシージャーによってデフォルト値が定義されているストアドプロシージャーのパラメーターの値を設定する必要はありません。StoredProcedureQueryオブジェクトのgetResultListやgetSingleResultが呼び出されると、
実行されていないストアドプロシージャーのクエリーに対して
プロバイダはgetResultListまたはgetSingleResultを処理する前に、
executeを呼び出すでしょう。StoredProcedureQueryオブジェクトのexecuteUpdateが呼び出されると、
プロバイダは実行されていないストアドプロシージャーのexecuteの実行に続いてgetUpdateCountを実行します。
executeUpdateの結果はgetUpdateCountの結果になるでしょう。executeメソッドは、最も一般的なケース
(複数の結果セットおよび/または更新件数、場合によっては出力パラメータ値とも組み合わされる)だけでなく、
スカラー結果がINOUTおよびOUTパラメータを介して戻される単純なケースもサポートします。executeメソッドは、最初の結果が結果セットの場合はtrueを返し、
更新件数の場合や、INOUTおよびOUTパラメーターがあったとしても、それ以外の結果がない場合はfalseを返します。executeメソッドがtrueを返した場合、保留された結果セットはgetResultListやgetSingleResultを呼び出すことで取得できます。hasMoreResultsメソッドはさらに結果があるかどうかの確認に使用することができます。executeまたはhasMoreResultsがfalseを返した場合、
getUpdateCountメソッドを呼び出して、更新件数の場合は保留中の結果を取得できます。
getUpdateCountメソッドは更新件数(ゼロ以上)を、更新件数が存在しない場合(つまり、次の結果が結果セットである場合、もしくは次の更新件数がない場合)は-1を返します。INOUTやOUTパラメータの値が抽出される前に、
JDBC結果セットおよび更新件数に対応する結果を処理する必要があります。getResultListやgetUpdateCountで返された結果が枯渇した後、
INOUTおよびOUTパラメーターによって返される結果を取得できます。getOutputParameterValueメソッドは、プロシージャーからINOUTおよびOUTパラメーターを介して戻された値を取得するために使用されます。REF_CURSORパラメータを使用する場合、getResultListを呼び出して結果セットを取得する前に更新件数を枯渇させる必要があります。
代わりにREF_CURSOR結果セットはgetOutputParameterValueを使用して取得できます。
結果セットのマッピングはREF_CURSORパラメーターがクエリに登録された順序でREF_CURSORパラメーターに対応する結果に適用されます。INOUTおよびOUTパラメータを介してのみ返される最も単純なケースでは、
executeに続けてすぐにgetOutputParameterValueを呼び出すことができます。| 修飾子とタイプ | メソッドと説明 |
|---|---|
boolean |
execute()
最初の結果が結果セットに対応する場合はtrueを返し、更新件数の場合や、INOUTおよびOUTパラメーター以外の結果が存在しない場合はfalseを返します。
|
int |
executeUpdate()
保留中の結果がない場合や最初の結果が更新件数でない場合は、更新件数-1を返します。
|
java.lang.Object |
getOutputParameterValue(int position)
プロシージャーからINOUTまたはOUTパラメーターを介して戻された値を戻します。
|
java.lang.Object |
getOutputParameterValue(java.lang.String parameterName)
プロシージャーからINOUTまたはOUTパラメーターを介して戻された値を戻します。
|
java.util.List |
getResultList()
次の結果セットから結果のリストを取得します。
|
java.lang.Object |
getSingleResult()
次の結果セットから単一の結果を取得します。
|
int |
getUpdateCount()
更新件数を返すか、保留している結果が存在しない場合や次の結果が更新件数でない場合は-1を返します。
|
boolean |
hasMoreResults()
次の結果が結果セットに対応する場合はtrueを返し、更新件数の場合や、INOUTおよびOUTパラメーター以外の結果が存在しない場合はfalseを返します。
|
StoredProcedureQuery |
registerStoredProcedureParameter(int position,
java.lang.Class type,
ParameterMode mode)
位置指定のパラメーターのを登録します。
|
StoredProcedureQuery |
registerStoredProcedureParameter(java.lang.String parameterName,
java.lang.Class type,
ParameterMode mode)
名前付きパラメーターを登録します。
|
StoredProcedureQuery |
setFlushMode(FlushModeType flushMode)
クエリーの実行に使用されるフラッシュモードタイプを設定します。
|
StoredProcedureQuery |
setHint(java.lang.String hintName,
java.lang.Object value)
クエリーのプロパティもしくはヒントを設定します。
|
StoredProcedureQuery |
setParameter(int position,
java.util.Calendar value,
TemporalType temporalType)
位置指定のパラメーターに
java.util.Calendarのインスタンスをバインドします。 |
StoredProcedureQuery |
setParameter(int position,
java.util.Date value,
TemporalType temporalType)
位置指定のパラメーターに
java.util.Dateのインスタンスをバインドします。 |
StoredProcedureQuery |
setParameter(int position,
java.lang.Object value)
位置指定のパラメーターに引数の値をバインドします。
|
StoredProcedureQuery |
setParameter(Parameter<java.util.Calendar> param,
java.util.Calendar value,
TemporalType temporalType)
Parameterオブジェクトにjava.util.Calendarのインスタンスをバインドします。 |
StoredProcedureQuery |
setParameter(Parameter<java.util.Date> param,
java.util.Date value,
TemporalType temporalType)
Parameterオブジェクトにjava.util.Dateのインスタンスをバインドします。 |
<T> StoredProcedureQuery |
setParameter(Parameter<T> param,
T value)
Parameterオブジェクトの値をバインドします。 |
StoredProcedureQuery |
setParameter(java.lang.String name,
java.util.Calendar value,
TemporalType temporalType)
名前付きパラメーターに
java.util.Calendarのインスタンスをバインドします。 |
StoredProcedureQuery |
setParameter(java.lang.String name,
java.util.Date value,
TemporalType temporalType)
名前付きパラメーターに
java.util.Dateのインスタンスをバインドします。 |
StoredProcedureQuery |
setParameter(java.lang.String name,
java.lang.Object value)
名前付きパラメーターに引数の値をバインドします。
|
getFirstResult, getFlushMode, getHints, getLockMode, getMaxResults, getParameter, getParameter, getParameter, getParameter, getParameters, getParameterValue, getParameterValue, getParameterValue, getResultStream, isBound, setFirstResult, setLockMode, setMaxResults, unwrapStoredProcedureQuery setHint(java.lang.String hintName, java.lang.Object value)
<T> StoredProcedureQuery setParameter(Parameter<T> param, T value)
Parameterオブジェクトの値をバインドします。setParameter インタフェース内 Queryparam - パラメーターオブジェクトvalue - パラメーターの値java.lang.IllegalArgumentException - クエリーのパラメーターに対応するパラメーターが存在しない場合StoredProcedureQuery setParameter(Parameter<java.util.Calendar> param, java.util.Calendar value, TemporalType temporalType)
Parameterオブジェクトにjava.util.Calendarのインスタンスをバインドします。setParameter インタフェース内 Queryparam - パラメーターオブジェクトvalue - パラメーターの値temporalType - 時制の型java.lang.IllegalArgumentException - クエリーのパラメーターに対応するパラメーターが存在しない場合StoredProcedureQuery setParameter(Parameter<java.util.Date> param, java.util.Date value, TemporalType temporalType)
Parameterオブジェクトにjava.util.Dateのインスタンスをバインドします。setParameter インタフェース内 Queryparam - パラメーターオブジェクトvalue - パラメーターの値temporalType - 時制の型java.lang.IllegalArgumentException - クエリーのパラメーターに対応するパラメーターが存在しない場合StoredProcedureQuery setParameter(java.lang.String name, java.lang.Object value)
setParameter インタフェース内 Queryname - パラメーターの名前value - パラメーターの値java.lang.IllegalArgumentException - パラメーター名に適合するパラメーターがクエリーに存在しないか、引数が不正な型の場合StoredProcedureQuery setParameter(java.lang.String name, java.util.Calendar value, TemporalType temporalType)
java.util.Calendarのインスタンスをバインドします。setParameter インタフェース内 Queryname - パラメーターの名前value - パラメーターの値temporalType - 時制の型java.lang.IllegalArgumentException - パラメーター名に適合するパラメーターがクエリーに存在しないか、引数が不正な型の場合StoredProcedureQuery setParameter(java.lang.String name, java.util.Date value, TemporalType temporalType)
java.util.Dateのインスタンスをバインドします。setParameter インタフェース内 Queryname - パラメーターの名前value - パラメーターの値temporalType - 時制の型java.lang.IllegalArgumentException - パラメーター名に適合するパラメーターがクエリーに存在しないか、引数が不正な型の場合StoredProcedureQuery setParameter(int position, java.lang.Object value)
setParameter インタフェース内 Queryposition - 位置value - パラメーターの値java.lang.IllegalArgumentException - 位置に適合する位置指定のパラメーターがクエリーに存在しないか、引数が不正な型の場合StoredProcedureQuery setParameter(int position, java.util.Calendar value, TemporalType temporalType)
java.util.Calendarのインスタンスをバインドします。setParameter インタフェース内 Queryposition - 位置value - パラメーターの値temporalType - 時制の型java.lang.IllegalArgumentException - 位置に適合する位置指定のパラメーターがクエリーに存在しないか、引数が不正な型の場合StoredProcedureQuery setParameter(int position, java.util.Date value, TemporalType temporalType)
java.util.Dateのインスタンスをバインドします。setParameter インタフェース内 Queryposition - 位置value - パラメーターの値temporalType - 時制の型java.lang.IllegalArgumentException - 位置に適合する位置指定のパラメーターがクエリーに存在しないか、引数が不正な型の場合StoredProcedureQuery setFlushMode(FlushModeType flushMode)
setFlushMode インタフェース内 QueryflushMode - フラッシュモードStoredProcedureQuery registerStoredProcedureParameter(int position, java.lang.Class type, ParameterMode mode)
position - パラメーターの位置type - パラメーターの型mode - パラメーターの形式StoredProcedureQuery registerStoredProcedureParameter(java.lang.String parameterName, java.lang.Class type, ParameterMode mode)
parameterName - 登録されているかメタデータで指定されているパラメーターの名前type - パラメーターの型mode - パラメーターの形式java.lang.Object getOutputParameterValue(int position)
position - パラメーターの位置java.lang.IllegalArgumentException - 位置がクエリーのパラメーターに対応しない場合、またはINOUTまたはOUTパラメータでない場合java.lang.Object getOutputParameterValue(java.lang.String parameterName)
parameterName - メタデータに登録または指定されたパラメーターの名前java.lang.IllegalArgumentException - パラメーター名がクエリーのパラメーターに対応しない場合、またはINOUTまたはOUTパラメータでない場合boolean execute()
QueryTimeoutException - クエリーの実行がクエリーの設定されたタイムアウト値を超え、そのステートメントだけがロールバックされる場合PersistenceException - クエリーの実行がクエリーの設定されたタイムアウト値を超え、トランザクションがロールバックされる場合int executeUpdate()
executeを呼び出します。executeUpdate インタフェース内 QueryTransactionRequiredException - トランザクションが存在しない場合、
または永続化コンテキストがトランザクションに参加していない場合QueryTimeoutException - クエリーの実行がクエリーの設定されたタイムアウト値を超え、そのステートメントだけがロールバックされる場合PersistenceException - クエリーの実行がクエリーの設定されたタイムアウト値を超え、トランザクションがロールバックされる場合java.util.List getResultList()
executeを呼び出します。
REF_CURSOR結果セットが存在する場合はREF_CURSORパラメーターがクエリーに登録された順に取得されます。getResultList インタフェース内 QueryQueryTimeoutException - クエリーの実行がクエリーの設定されたタイムアウト値を超え、そのステートメントだけがロールバックされる場合PersistenceException - クエリーの実行がクエリーの設定されたタイムアウト値を超え、トランザクションがロールバックされる場合java.lang.Object getSingleResult()
executeを呼び出します。
REF_CURSOR結果セットが存在する場合はREF_CURSORパラメーターがクエリーに登録された順に取得されます。getSingleResult インタフェース内 QueryNoResultException - 次の結果セットに結果が存在しない場合NonUniqueResultException - 二つ以上の結果が存在した場合QueryTimeoutException - クエリーの実行がクエリーの設定されたタイムアウト値を超え、そのステートメントだけがロールバックされる場合PersistenceException - クエリーの実行がクエリーの設定されたタイムアウト値を超え、トランザクションがロールバックされる場合boolean hasMoreResults()
QueryTimeoutException - クエリーの実行がクエリーの設定されたタイムアウト値を超え、そのステートメントだけがロールバックされる場合PersistenceException - クエリーの実行がクエリーの設定されたタイムアウト値を超え、トランザクションがロールバックされる場合int getUpdateCount()
QueryTimeoutException - クエリーの実行がクエリーの設定されたタイムアウト値を超え、そのステートメントだけがロールバックされる場合PersistenceException - クエリーの実行がクエリーの設定されたタイムアウト値を超え、トランザクションがロールバックされる場合Translated by @megascus.