public interface StoredProcedureQuery extends Query
ストアドプロシージャクエリの実行は、以下に従って制御できます。
setParameter メソッドは、必要なすべての IN および INOUT パラメーターの値を設定するために使用されます。ストアードプロシージャーによってデフォルト値が定義されているストアードプロシージャーパラメーターの値を設定する必要はありません。getResultList および getSingleResult が StoredProcedureQuery オブジェクトで呼び出されると、プロバイダーは、getResultList または getSingleResult を処理する前に、未実行のストアドプロシージャクエリで execute を呼び出します。StoredProcedureQuery オブジェクトで executeUpdate が呼び出されると、プロバイダーは、getUpdateCount が後に続く未実行のストアドプロシージャクエリで execute を呼び出します。executeUpdate の結果は getUpdateCount の結果になります。execute メソッドは、スカラー結果が INOUT および OUT パラメーターを介してのみ渡される単純なケースと、最も一般的なケース(複数の結果セットや更新カウント、あるいは出力パラメーター値との組み合わせも)の両方をサポートします。execute メソッドは、最初の結果が結果セットである場合は true を返し、更新カウントである場合、INOUT および OUT パラメーター(存在する場合)以外の結果がない場合は false を返します。execute メソッドが true を返す場合、保留中の結果セットは getResultList または getSingleResult を呼び出すことによって取得できます。hasMoreResults メソッドを使用して、さらに結果をテストできます。execute または hasMoreResults が false を返す場合、getUpdateCount メソッドを呼び出して、更新カウントである場合、保留中の結果を取得できます。getUpdateCount メソッドは、更新カウント(ゼロ以上)または更新カウントがない場合(つまり、次の結果が結果セットであるか、次の更新カウントがない場合)は -1 を返します。INOUT または OUT パラメーターの値が抽出される前に処理される必要があります。getResultList および getUpdateCount を介して返された結果を使い果たした後、INOUT および OUT パラメーターを介して返された結果を取得できます。getOutputParameterValue メソッドは、INOUT および OUT パラメーターを介してプロシージャから返された値を取得するために使用されます。REF_CURSOR パラメーターを使用する場合、getResultList を呼び出して結果セットを取得する前に、更新カウントを使い果たす必要があります。または、getOutputParameterValue を使用して REF_CURSOR 結果セットを取得することもできます。結果セットマッピングは、REF_CURSOR パラメーターがクエリに登録された順序で、REF_CURSOR パラメーターに対応する結果に適用されます。INOUT および OUT パラメーターを介してのみ結果が返される最も単純なケースでは、execute の直後に getOutputParameterValue への呼び出しを続けることができます。| 修飾子と型 | メソッドと説明 |
|---|---|
boolean | execute() 最初の結果が結果セットに対応する場合は true を返し、それが更新カウントである場合、INOUT および OUT パラメーターを介して以外に結果がない場合は false を返します。 |
int | executeUpdate() 保留中の結果がない場合、または最初の結果が更新カウントでない場合は、更新カウント -1 を返します。 |
ObjectSE | getOutputParameterValue(int position)INOUT または OUT パラメーターを介してプロシージャから返された値を取得します。 |
ObjectSE | getOutputParameterValue(StringSE parameterName)INOUT または OUT パラメーターを介してプロシージャから返された値を取得します。 |
ListSE | getResultList() 次の結果セットから結果のリストを取得します。 |
ObjectSE | getSingleResult() 次の結果セットから単一の結果を取得します。 |
int | getUpdateCount() 更新カウントを返すか、保留中の結果がない場合、次の結果が更新カウントでない場合は -1 を返します。 |
boolean | hasMoreResults() 次の結果が結果セットに対応する場合は true を返し、更新カウントである場合、INOUT パラメーターと OUT パラメーターを介して以外に結果がない場合は false を返します。 |
StoredProcedureQuery | registerStoredProcedureParameter(int position, ClassSE type, ParameterMode mode) 位置パラメーターを登録します。 |
StoredProcedureQuery | registerStoredProcedureParameter(StringSE parameterName, ClassSE type, ParameterMode mode) 名前付きパラメーターを登録します。 |
StoredProcedureQuery | setFlushMode(FlushModeType flushMode) クエリの実行に使用されるフラッシュモードの種類を設定します。 |
StoredProcedureQuery | setHint(StringSE hintName, ObjectSE value) クエリのプロパティまたはヒントを設定します。 |
StoredProcedureQuery | setParameter(int position, CalendarSE value, TemporalType temporalType)java.util.Calendar のインスタンスを定位置パラメーターにバインドします。 |
StoredProcedureQuery | setParameter(int position, DateSE value, TemporalType temporalType)java.util.Date のインスタンスを定位置パラメーターにバインドします。 |
StoredProcedureQuery | setParameter(int position, ObjectSE value) 引数値を定位置パラメーターにバインドします。 |
StoredProcedureQuery | setParameter(Parameter<CalendarSE> param, CalendarSE value, TemporalType temporalType)java.util.Calendar のインスタンスを Parameter オブジェクトにバインドします。 |
StoredProcedureQuery | setParameter(Parameter<DateSE> param, DateSE value, TemporalType temporalType)java.util.Date のインスタンスを Parameter オブジェクトにバインドします。 |
<T> StoredProcedureQuery | setParameter(Parameter<T> param, T value)Parameter オブジェクトの値をバインドします。 |
StoredProcedureQuery | setParameter(StringSE name, CalendarSE value, TemporalType temporalType)java.util.Calendar のインスタンスを名前付きパラメーターにバインドします。 |
StoredProcedureQuery | setParameter(StringSE name, DateSE value, TemporalType temporalType)java.util.Date のインスタンスを名前付きパラメーターにバインドします。 |
StoredProcedureQuery | setParameter(StringSE name, ObjectSE value) 引数値を名前付きパラメーターにバインドします。 |
getFirstResult, getFlushMode, getHints, getLockMode, getMaxResults, getParameter, getParameter, getParameter, getParameter, getParameters, getParameterValue, getParameterValue, getParameterValue, getResultStream, isBound, setFirstResult, setLockMode, setMaxResults, unwrapStoredProcedureQuery setHint(StringSE hintName, ObjectSE value)
Query の setHint hintName - プロパティまたはヒントの名前 value - プロパティまたはヒントの値 IllegalArgumentExceptionSE - 2 番目の引数が実装に有効でない場合 <T> StoredProcedureQuery setParameter(Parameter<T> param, T value)
Parameter オブジェクトの値をバインドします。Query の setParameter param - パラメーターオブジェクト value - パラメーター値 IllegalArgumentExceptionSE - パラメーターがクエリのパラメーターに対応していない場合 StoredProcedureQuery setParameter(Parameter<CalendarSE> param, CalendarSE value, TemporalType temporalType)
java.util.Calendar のインスタンスを Parameter オブジェクトにバインドします。Query の setParameter param - パラメーターオブジェクト value - パラメーター値 temporalType - 時間型 IllegalArgumentExceptionSE - パラメーターがクエリのパラメーターに対応していない場合 StoredProcedureQuery setParameter(Parameter<DateSE> param, DateSE value, TemporalType temporalType)
java.util.Date のインスタンスを Parameter オブジェクトにバインドします。Query の setParameter param - パラメーターオブジェクト value - パラメーター値 temporalType - 時間型 IllegalArgumentExceptionSE - パラメーターがクエリのパラメーターに対応していない場合 StoredProcedureQuery setParameter(StringSE name, ObjectSE value)
Query の setParameter name - パラメーター名 value - パラメーター値 IllegalArgumentExceptionSE - パラメーター名がクエリのパラメーターに対応していない場合、または引数の型が正しくない場合 StoredProcedureQuery setParameter(StringSE name, CalendarSE value, TemporalType temporalType)
java.util.Calendar のインスタンスを名前付きパラメーターにバインドします。Query の setParameter name - パラメーター名 value - パラメーター値 temporalType - 時間型 IllegalArgumentExceptionSE - パラメーター名がクエリのパラメーターに対応していない場合、または値の引数の型が正しくない場合 StoredProcedureQuery setParameter(StringSE name, DateSE value, TemporalType temporalType)
java.util.Date のインスタンスを名前付きパラメーターにバインドします。Query の setParameter name - パラメーター名 value - パラメーター値 temporalType - 時間型 IllegalArgumentExceptionSE - パラメーター名がクエリのパラメーターに対応していない場合、または値の引数の型が正しくない場合 StoredProcedureQuery setParameter(int position, ObjectSE value)
Query の setParameter position - 位置 value - パラメーター値 IllegalArgumentExceptionSE - 位置がクエリの位置パラメーターに対応していない場合、または引数の型が正しくない場合 StoredProcedureQuery setParameter(int position, CalendarSE value, TemporalType temporalType)
java.util.Calendar のインスタンスを定位置パラメーターにバインドします。Query の setParameter position - 位置 value - パラメーター値 temporalType - 時間型 IllegalArgumentExceptionSE - 位置がクエリの位置パラメーターに対応していない場合、または値の引数の型が正しくない場合 StoredProcedureQuery setParameter(int position, DateSE value, TemporalType temporalType)
java.util.Date のインスタンスを定位置パラメーターにバインドします。Query の setParameter position - 位置 value - パラメーター値 temporalType - 時間型 IllegalArgumentExceptionSE - 位置がクエリの位置パラメーターに対応していない場合、または値の引数の型が正しくない場合 StoredProcedureQuery setFlushMode(FlushModeType flushMode)
Query の setFlushMode flushMode - フラッシュモード StoredProcedureQuery registerStoredProcedureParameter(int position, ClassSE type, ParameterMode mode)
position - パラメーターの位置 type - パラメーターの型 mode - パラメーターモード StoredProcedureQuery registerStoredProcedureParameter(StringSE parameterName, ClassSE type, ParameterMode mode)
parameterName - メタデータに登録または指定されているパラメーターの名前 type - パラメーターの型 mode - パラメーターモード ObjectSE getOutputParameterValue(int position)
position - パラメーターの位置 IllegalArgumentExceptionSE - 位置がクエリのパラメーターに対応していないか、INOUT または OUT パラメーターではない場合 ObjectSE getOutputParameterValue(StringSE parameterName)
parameterName - メタデータに登録または指定されているパラメーターの名前 IllegalArgumentExceptionSE - パラメーター名がクエリのパラメーターに対応していないか、INOUT または OUT パラメーターではない場合 boolean execute()
QueryTimeoutException - クエリ実行が設定されたクエリタイムアウト値を超え、ステートメントのみがロールバックされる場合 PersistenceException - クエリ実行が設定されたクエリタイムアウト値を超え、トランザクションがロールバックされた場合 int executeUpdate()
execute を呼び出します。Query の executeUpdate TransactionRequiredException - トランザクションがないか、永続コンテキストがトランザクションに参加していない場合 QueryTimeoutException - ステートメントの実行が設定されたクエリタイムアウト値を超え、ステートメントのみがロールバックされる場合 PersistenceException - クエリ実行が設定されたクエリタイムアウト値を超え、トランザクションがロールバックされた場合 ListSE getResultList()
execute を呼び出します。REF_CURSOR 結果セットがある場合は、REF_CURSOR パラメーターが照会に登録された順序で取得されます。Query の getResultList QueryTimeoutException - クエリ実行が設定されたクエリタイムアウト値を超え、ステートメントのみがロールバックされる場合 PersistenceException - クエリ実行が設定されたクエリタイムアウト値を超え、トランザクションがロールバックされた場合 ObjectSE getSingleResult()
execute を呼び出します。REF_CURSOR 結果セットがある場合は、REF_CURSOR パラメーターが照会に登録された順序で取得されます。Query の getSingleResult NoResultException - 次の結果セットに結果がない場合 NonUniqueResultException - 複数の結果の場合 QueryTimeoutException - クエリ実行が設定されたクエリタイムアウト値を超え、ステートメントのみがロールバックされる場合 PersistenceException - クエリ実行が設定されたクエリタイムアウト値を超え、トランザクションがロールバックされた場合 boolean hasMoreResults()
QueryTimeoutException - クエリ実行が設定されたクエリタイムアウト値を超え、ステートメントのみがロールバックされる場合 PersistenceException - クエリ実行が設定されたクエリタイムアウト値を超え、トランザクションがロールバックされた場合 int getUpdateCount()
QueryTimeoutException - クエリ実行が設定されたクエリタイムアウト値を超え、ステートメントのみがロールバックされる場合 PersistenceException - クエリ実行が設定されたクエリタイムアウト値を超え、トランザクションがロールバックされた場合 Copyright © 2019 Eclipse Foundation.
Use is subject to license terms.