パッケージ jakarta.persistence
インターフェース TypedQuery<X>
- 型パラメーター:
X- クエリ結果型
- すべてのスーパーインターフェース:
Query
型付きクエリの実行を制御するために使用されるインターフェース。
方法の概要
修飾子と型メソッド説明SELECT クエリを実行し、クエリ結果を型指定されたList<X>SE として返します。SELECT クエリを実行し、クエリ結果を型指定されたStream<X>SE として返します。単一の結果を返す SELECT クエリを実行します。型なしの単一の結果を返す SELECT クエリを実行します。setCacheRetrieveMode(CacheRetrieveMode cacheRetrieveMode) クエリ実行時に有効なキャッシュ取得モードを設定します。setCacheStoreMode(CacheStoreMode cacheStoreMode) クエリ実行時に有効なキャッシュストレージモードを設定します。setFirstResult(int startPosition) 取得する最初の結果の位置を設定します。setFlushMode(FlushModeType flushMode) クエリの実行に使用されるフラッシュモードの種類を設定します。クエリのプロパティまたはヒントを設定します。setLockMode(LockModeType lockMode) クエリの実行に使用するロックモード型を設定します。setMaxResults(int maxResult) 取得する結果の最大数を設定します。setParameter(int position, ObjectSE value) 引数値を定位置パラメーターにバインドします。setParameter(int position, CalendarSE value, TemporalType temporalType) 使用すべきではありません。setParameter(int position, DateSE value, TemporalType temporalType) 使用すべきではありません。新しく作成したコードでは、java.timeSE で定義された日付 / 時刻型を使用する必要があります。setParameter(Parameter<CalendarSE> param, CalendarSE value, TemporalType temporalType) 使用すべきではありません。新しく作成したコードでは、java.timeSE で定義された日付 / 時刻型を使用する必要があります。setParameter(Parameter<DateSE> param, DateSE value, TemporalType temporalType) 使用すべきではありません。新しく作成したコードでは、java.timeSE で定義された日付 / 時刻型を使用する必要があります。<T> TypedQuery<X>setParameter(Parameter<T> param, T value) Parameterオブジェクトの値をバインドします。setParameter(StringSE name, ObjectSE value) 引数値を名前付きパラメーターにバインドします。setParameter(StringSE name, CalendarSE value, TemporalType temporalType) 使用すべきではありません。新しく作成したコードでは、java.timeSE で定義された日付 / 時刻型を使用する必要があります。setParameter(StringSE name, DateSE value, TemporalType temporalType) 使用すべきではありません。新しく作成したコードでは、java.timeSE で定義された日付 / 時刻型を使用する必要があります。setTimeout(IntegerSE timeout) クエリのタイムアウトをミリ秒単位で設定します。インターフェース jakarta.persistence.Query から継承されたメソッド
executeUpdate, getCacheRetrieveMode, getCacheStoreMode, getFirstResult, getFlushMode, getHints, getLockMode, getMaxResults, getParameter, getParameter, getParameter, getParameter, getParameters, getParameterValue, getParameterValue, getParameterValue, getTimeout, isBound, unwrap
メソッドの詳細
getResultList
SELECT クエリを実行し、クエリ結果を型指定されたList<X>SE として返します。- 次で指定:
- インターフェース
QueryのgetResultList - 戻り値:
- 結果のリスト (それぞれ
TypedQuery型)、または結果がない場合は空のリスト - 例外:
IllegalStateExceptionSE- Jakarta Persistence 照会言語 UPDATE または DELETE ステートメントが必要な場合QueryTimeoutException- クエリ実行が設定されたクエリタイムアウト値を超え、ステートメントのみがロールバックされる場合TransactionRequiredException-NONE以外のロックモードが設定されていて、トランザクションがない場合、または永続コンテキストがトランザクションに参加していない場合PessimisticLockException- 悲観的ロックが失敗し、トランザクションがロールバックされた場合LockTimeoutException- 悲観的ロックが失敗し、ステートメントのみがロールバックされる場合PersistenceException- クエリ実行が設定されたクエリタイムアウト値を超え、トランザクションがロールバックされた場合
getResultStream
SELECT クエリを実行し、クエリ結果を型指定されたStream<X>SE として返します。デフォルトでは、このメソッドは
getResultList().stream()に委譲されますが、永続化プロバイダーは追加機能を提供するためにこのメソッドをオーバーライドすることを選択する場合があります。- 次で指定:
- インターフェース
QueryのgetResultStream - 戻り値:
- 結果のストリーム (それぞれ
TypedQuery型)、または結果がない場合は空のストリーム - 例外:
IllegalStateExceptionSE- Jakarta Persistence 照会言語 UPDATE または DELETE ステートメントが必要な場合QueryTimeoutException- クエリ実行が設定されたクエリタイムアウト値を超え、ステートメントのみがロールバックされる場合TransactionRequiredException-NONE以外のロックモードが設定されていて、トランザクションがない場合、または永続コンテキストがトランザクションに参加していない場合PessimisticLockException- 悲観的ロックが失敗し、トランザクションがロールバックされた場合LockTimeoutException- 悲観的ロックが失敗し、ステートメントのみがロールバックされる場合PersistenceException- クエリ実行が設定されたクエリタイムアウト値を超え、トランザクションがロールバックされた場合- 導入:
- 2.2
- 関連事項:
getSingleResult
X getSingleResult()単一の結果を返す SELECT クエリを実行します。- 次で指定:
- インターフェース
QueryのgetSingleResult - 戻り値:
TypedQuery型の結果- 例外:
NoResultException- 結果がない場合NonUniqueResultException- 複数の結果の場合IllegalStateExceptionSE- Jakarta Persistence 照会言語 UPDATE または DELETE ステートメントが必要な場合QueryTimeoutException- クエリ実行が設定されたクエリタイムアウト値を超え、ステートメントのみがロールバックされる場合TransactionRequiredException-NONE以外のロックモードが設定されていて、トランザクションがない場合、または永続コンテキストがトランザクションに参加していない場合PessimisticLockException- 悲観的ロックが失敗し、トランザクションがロールバックされた場合LockTimeoutException- 悲観的ロックが失敗し、ステートメントのみがロールバックされる場合PersistenceException- クエリ実行が設定されたクエリタイムアウト値を超え、トランザクションがロールバックされた場合
getSingleResultOrNull
X getSingleResultOrNull()型なしの単一の結果を返す SELECT クエリを実行します。- 次で指定:
- インターフェース
QueryのgetSingleResultOrNull - 戻り値:
TypedQuery型の結果、または結果がない場合は null- 例外:
NonUniqueResultException- 複数の結果の場合IllegalStateExceptionSE- Jakarta Persistence 照会言語 UPDATE または DELETE ステートメントが必要な場合QueryTimeoutException- クエリ実行が設定されたクエリタイムアウト値を超え、ステートメントのみがロールバックされる場合TransactionRequiredException-NONE以外のロックモードが設定されていて、トランザクションがない場合、または永続コンテキストがトランザクションに参加していない場合PessimisticLockException- 悲観的ロックが失敗し、トランザクションがロールバックされた場合LockTimeoutException- 悲観的ロックが失敗し、ステートメントのみがロールバックされる場合PersistenceException- クエリ実行が設定されたクエリタイムアウト値を超え、トランザクションがロールバックされた場合- 導入:
- 3.2
setMaxResults
取得する結果の最大数を設定します。- 次で指定:
- インターフェース
QueryのsetMaxResults - パラメーター:
maxResult- 取得する結果の最大数- 戻り値:
- 同じクエリインスタンス
- 例外:
IllegalArgumentExceptionSE- 引数が負の場合
setFirstResult
取得する最初の結果の位置を設定します。- 次で指定:
- インターフェース
QueryのsetFirstResult - パラメーター:
startPosition- 0 から番号付けされた最初の結果の位置- 戻り値:
- 同じクエリインスタンス
- 例外:
IllegalArgumentExceptionSE- 引数が負の場合
setHint
クエリのプロパティまたはヒントを設定します。ヒント要素を使用して、クエリのプロパティとヒントを指定できます。この仕様で定義されているプロパティは、プロバイダーが遵守する必要があります。プロバイダーによって認識されないベンダー固有のヒントは、確認なしで無視する必要があります。ポータブルアプリケーションは、標準のタイムアウトヒントに依存しないでください。使用中のデータベースとプロバイダーが使用するロックメカニズムに応じて、このヒントは観測される場合とされない場合があります。- 次で指定:
- インターフェース
QueryのsetHint - パラメーター:
hintName- プロパティまたはヒントの名前value- プロパティまたはヒントの値- 戻り値:
- 同じクエリインスタンス
- 例外:
IllegalArgumentExceptionSE- 2 番目の引数が実装に有効でない場合
setParameter
Parameterオブジェクトの値をバインドします。- 次で指定:
- インターフェース
QueryのsetParameter - パラメーター:
param- パラメーターオブジェクトvalue- パラメーター値- 戻り値:
- 同じクエリインスタンス
- 例外:
IllegalArgumentExceptionSE- パラメーターがクエリのパラメーターに対応していない場合
setParameter
@DeprecatedSE(since="3.2") TypedQuery<X> setParameter(Parameter<CalendarSE> param, CalendarSE value, TemporalType temporalType) 使用すべきではありません。新しく作成したコードでは、java.timeSE で定義された日付 / 時刻型を使用する必要があります。CalendarSE のインスタンスをParameterオブジェクトにバインドします。- 次で指定:
- インターフェース
QueryのsetParameter - パラメーター:
param- パラメーターオブジェクトvalue- パラメーター値temporalType- 時間型- 戻り値:
- 同じクエリインスタンス
- 例外:
IllegalArgumentExceptionSE- パラメーターがクエリのパラメーターに対応していない場合
setParameter
@DeprecatedSE(since="3.2") TypedQuery<X> setParameter(Parameter<DateSE> param, DateSE value, TemporalType temporalType) 使用すべきではありません。新しく作成したコードでは、java.timeSE で定義された日付 / 時刻型を使用する必要があります。- 次で指定:
- インターフェース
QueryのsetParameter - パラメーター:
param- パラメーターオブジェクトvalue- パラメーター値temporalType- 時間型- 戻り値:
- 同じクエリインスタンス
- 例外:
IllegalArgumentExceptionSE- パラメーターがクエリのパラメーターに対応していない場合
setParameter
引数値を名前付きパラメーターにバインドします。- 次で指定:
- インターフェース
QueryのsetParameter - パラメーター:
name- パラメーター名value- パラメーター値- 戻り値:
- 同じクエリインスタンス
- 例外:
IllegalArgumentExceptionSE- パラメーター名がクエリのパラメーターに対応していない場合、または引数の型が正しくない場合
setParameter
@DeprecatedSE(since="3.2") TypedQuery<X> setParameter(StringSE name, CalendarSE value, TemporalType temporalType) 使用すべきではありません。新しく作成したコードでは、java.timeSE で定義された日付 / 時刻型を使用する必要があります。CalendarSE のインスタンスを名前付きパラメーターにバインドします。- 次で指定:
- インターフェース
QueryのsetParameter - パラメーター:
name- パラメーター名value- パラメーター値temporalType- 時間型- 戻り値:
- 同じクエリインスタンス
- 例外:
IllegalArgumentExceptionSE- パラメーター名がクエリのパラメーターに対応していない場合、または値の引数の型が正しくない場合
setParameter
@DeprecatedSE(since="3.2") TypedQuery<X> setParameter(StringSE name, DateSE value, TemporalType temporalType) 使用すべきではありません。新しく作成したコードでは、java.timeSE で定義された日付 / 時刻型を使用する必要があります。DateSE のインスタンスを名前付きパラメーターにバインドします。- 次で指定:
- インターフェース
QueryのsetParameter - パラメーター:
name- パラメーター名value- パラメーター値temporalType- 時間型- 戻り値:
- 同じクエリインスタンス
- 例外:
IllegalArgumentExceptionSE- パラメーター名がクエリのパラメーターに対応していない場合、または値の引数の型が正しくない場合
setParameter
引数値を定位置パラメーターにバインドします。- 次で指定:
- インターフェース
QueryのsetParameter - パラメーター:
position- 位置value- パラメーター値- 戻り値:
- 同じクエリインスタンス
- 例外:
IllegalArgumentExceptionSE- 位置がクエリの位置パラメーターに対応していない場合、または引数の型が正しくない場合
setParameter
@DeprecatedSE(since="3.2") TypedQuery<X> setParameter(int position, CalendarSE value, TemporalType temporalType) 使用すべきではありません。新しく作成したコードでは、java.timeSE で定義された日付 / 時刻型を使用する必要があります。CalendarSE のインスタンスを位置パラメーターにバインドします。- 次で指定:
- インターフェース
QueryのsetParameter - パラメーター:
position- 位置value- パラメーター値temporalType- 時間型- 戻り値:
- 同じクエリインスタンス
- 例外:
IllegalArgumentExceptionSE- 位置がクエリの位置パラメーターに対応していない場合、または値の引数の型が正しくない場合
setParameter
@DeprecatedSE(since="3.2") TypedQuery<X> setParameter(int position, DateSE value, TemporalType temporalType) 使用すべきではありません。新しく作成したコードでは、java.timeSE で定義された日付 / 時刻型を使用する必要があります。DateSE のインスタンスを位置パラメーターにバインドします。- 次で指定:
- インターフェース
QueryのsetParameter - パラメーター:
position- 位置value- パラメーター値temporalType- 時間型- 戻り値:
- 同じクエリインスタンス
- 例外:
IllegalArgumentExceptionSE- 位置がクエリの位置パラメーターに対応していない場合、または値の引数の型が正しくない場合
setFlushMode
クエリの実行に使用するフラッシュモード型を設定します。フラッシュモード型は、エンティティマネージャーで使用されているフラッシュモード型に関係なく、クエリに適用されます。- 次で指定:
- インターフェース
QueryのsetFlushMode - パラメーター:
flushMode- フラッシュモード- 戻り値:
- 同じクエリインスタンス
setLockMode
クエリの実行に使用するロックモード型を設定します。- 次で指定:
- インターフェース
QueryのsetLockMode - パラメーター:
lockMode- ロックモード- 戻り値:
- 同じクエリインスタンス
- 例外:
IllegalStateExceptionSE- クエリが Jakarta Persistence クエリ言語 SELECT クエリまたはCriteriaQueryクエリではないことが判明した場合
setCacheRetrieveMode
クエリ実行時に有効なキャッシュ取得モードを設定します。このキャッシュ取得モードは、エンティティマネージャーが使用しているキャッシュ取得モードをオーバーライドします。- 次で指定:
- インターフェース
QueryのsetCacheRetrieveMode - パラメーター:
cacheRetrieveMode- キャッシュ取得モード- 戻り値:
- 同じクエリインスタンス
- 導入:
- 3.2
setCacheStoreMode
クエリ実行時に有効なキャッシュストレージモードを設定します。このキャッシュストレージモードは、エンティティマネージャーが使用しているキャッシュストレージモードをオーバーライドします。- 次で指定:
- インターフェース
QueryのsetCacheStoreMode - パラメーター:
cacheStoreMode- キャッシュストレージモード- 戻り値:
- 同じクエリインスタンス
- 導入:
- 3.2
setTimeout
クエリのタイムアウトをミリ秒単位で設定します。これはヒントであり、ヒントjakarta.persistence.query.timeoutを設定する代わりに使用できます。- 次で指定:
- インターフェース
QueryのsetTimeout - パラメーター:
timeout- タイムアウト(ミリ秒単位)、またはタイムアウトなしを示す場合は null- 戻り値:
- 同じクエリインスタンス
- 導入:
- 3.2
java.timeSE で定義された日付 / 時刻型を使用する必要があります。