パッケージ jakarta.persistence
インターフェース Query
- 既知のすべてのサブインターフェース:
StoredProcedureQuery,TypedQuery<X>
public interface Queryクエリの実行を制御するために使用されるインターフェース。- 導入:
- 1.0
- 関連事項:
TypedQuery,StoredProcedureQuery,Parameter
方法の概要
すべてのメソッド インスタンスメソッド 抽象メソッド デフォルトメソッド 修飾子と型 メソッド 説明 intexecuteUpdate()更新または削除ステートメントを実行します。intgetFirstResult()クエリオブジェクトが取得するように設定された最初の結果の位置。FlushModeTypegetFlushMode()クエリの実行に有効なフラッシュモードを取得します。MapSE<StringSE,ObjectSE>getHints()クエリインスタンスに有効なプロパティとヒント、および関連する値を取得します。LockModeTypegetLockMode()クエリの現在のロックモードを取得します。intgetMaxResults()クエリオブジェクトが取得するように設定された結果の最大数。Parameter<?>getParameter(int position)指定された位置で宣言された位置パラメーターに対応するパラメーターオブジェクトを取得します。<T> Parameter<T>getParameter(int position, ClassSE<T> type)指定された位置と型を持つ宣言された位置パラメーターに対応するパラメーターオブジェクトを取得します。Parameter<?>getParameter(StringSE name)指定された名前の宣言されたパラメーターに対応するパラメーターオブジェクトを取得します。<T> Parameter<T>getParameter(StringSE name, ClassSE<T> type)指定された名前と型の宣言されたパラメーターに対応するパラメーターオブジェクトを取得します。SetSE<Parameter<?>>getParameters()クエリの宣言されたパラメーターに対応するパラメーターオブジェクトを取得します。ObjectSEgetParameterValue(int position)位置パラメーターにバインドされた入力値を返します。<T> TgetParameterValue(Parameter<T> param)パラメーターにバインドされた入力値を返します。ObjectSEgetParameterValue(StringSE name)名前付きパラメーターにバインドされた入力値を返します。ListSEgetResultList()SELECT クエリを実行し、クエリの結果を型なしリストとして返します。default StreamSEgetResultStream()SELECT クエリを実行し、クエリ結果を型なしjava.util.stream.Streamとして返します。ObjectSEgetSingleResult()型なしの単一の結果を返す SELECT クエリを実行します。booleanisBound(Parameter<?> param)値がパラメーターにバインドされているかどうかを示すブール値を返します。QuerysetFirstResult(int startPosition)取得する最初の結果の位置を設定します。QuerysetFlushMode(FlushModeType flushMode)クエリの実行に使用されるフラッシュモードの種類を設定します。QuerysetHint(StringSE hintName, ObjectSE value)クエリのプロパティまたはヒントを設定します。QuerysetLockMode(LockModeType lockMode)クエリの実行に使用するロックモード型を設定します。QuerysetMaxResults(int maxResult)取得する結果の最大数を設定します。QuerysetParameter(int position, ObjectSE value)引数値を定位置パラメーターにバインドします。QuerysetParameter(int position, CalendarSE value, TemporalType temporalType)java.util.Calendarのインスタンスを定位置パラメーターにバインドします。QuerysetParameter(int position, DateSE value, TemporalType temporalType)java.util.Dateのインスタンスを定位置パラメーターにバインドします。QuerysetParameter(Parameter<CalendarSE> param, CalendarSE value, TemporalType temporalType)java.util.CalendarのインスタンスをParameterオブジェクトにバインドします。QuerysetParameter(Parameter<DateSE> param, DateSE value, TemporalType temporalType)java.util.DateのインスタンスをParameterオブジェクトにバインドします。<T> QuerysetParameter(Parameter<T> param, T value)Parameterオブジェクトの値をバインドします。QuerysetParameter(StringSE name, ObjectSE value)引数値を名前付きパラメーターにバインドします。QuerysetParameter(StringSE name, CalendarSE value, TemporalType temporalType)java.util.Calendarのインスタンスを名前付きパラメーターにバインドします。QuerysetParameter(StringSE name, DateSE value, TemporalType temporalType)java.util.Dateのインスタンスを名前付きパラメーターにバインドします。<T> Tunwrap(ClassSE<T> cls)指定された型のオブジェクトを返し、プロバイダー固有の API へのアクセスを許可します。
メソッドの詳細
getResultList
ListSE getResultList()
SELECT クエリを実行し、クエリの結果を型なしリストとして返します。- 戻り値:
- 結果のリスト
- 例外:
IllegalStateExceptionSE- Jakarta Persistence 照会言語 UPDATE または DELETE ステートメントが必要な場合QueryTimeoutException- クエリ実行が設定されたクエリタイムアウト値を超え、ステートメントのみがロールバックされる場合TransactionRequiredException-NONE以外のロックモードが設定されていて、トランザクションがない場合、または永続コンテキストがトランザクションに参加していない場合PessimisticLockException- 悲観的ロックが失敗し、トランザクションがロールバックされた場合LockTimeoutException- 悲観的ロックが失敗し、ステートメントのみがロールバックされる場合PersistenceException- クエリ実行が設定されたクエリタイムアウト値を超え、トランザクションがロールバックされた場合
getResultStream
default StreamSE getResultStream()
SELECT クエリを実行し、クエリ結果を型なしjava.util.stream.Streamとして返します。デフォルトでは、このメソッドはgetResultList().stream()に委譲しますが、永続性プロバイダーは追加の機能を提供するためにこのメソッドをオーバーライドすることを選択できます。- 戻り値:
- 結果のストリーム
- 例外:
IllegalStateExceptionSE- Jakarta Persistence 照会言語 UPDATE または DELETE ステートメントが必要な場合QueryTimeoutException- クエリ実行が設定されたクエリタイムアウト値を超え、ステートメントのみがロールバックされる場合TransactionRequiredException-NONE以外のロックモードが設定されていて、トランザクションがない場合、または永続コンテキストがトランザクションに参加していない場合PessimisticLockException- 悲観的ロックが失敗し、トランザクションがロールバックされた場合LockTimeoutException- 悲観的ロックが失敗し、ステートメントのみがロールバックされる場合PersistenceException- クエリ実行が設定されたクエリタイムアウト値を超え、トランザクションがロールバックされた場合- 導入:
- 2.2
- 関連事項:
StreamSE,getResultList()
getSingleResult
ObjectSE getSingleResult()
型なしの単一の結果を返す SELECT クエリを実行します。- 戻り値:
- 結果
- 例外:
NoResultException- 結果がない場合NonUniqueResultException- 複数の結果の場合IllegalStateExceptionSE- Jakarta Persistence 照会言語 UPDATE または DELETE ステートメントが必要な場合QueryTimeoutException- クエリ実行が設定されたクエリタイムアウト値を超え、ステートメントのみがロールバックされる場合TransactionRequiredException-NONE以外のロックモードが設定されていて、トランザクションがない場合、または永続コンテキストがトランザクションに参加していない場合PessimisticLockException- 悲観的ロックが失敗し、トランザクションがロールバックされた場合LockTimeoutException- 悲観的ロックが失敗し、ステートメントのみがロールバックされる場合PersistenceException- クエリ実行が設定されたクエリタイムアウト値を超え、トランザクションがロールバックされた場合
executeUpdate
int executeUpdate()
更新または削除ステートメントを実行します。- 戻り値:
- 更新または削除されたエンティティの数
- 例外:
IllegalStateExceptionSE- Jakarta Persistence 照会言語 SELECT ステートメントまたは条件照会のために呼び出された場合TransactionRequiredException- トランザクションがないか、永続コンテキストがトランザクションに参加していない場合QueryTimeoutException- ステートメントの実行が設定されたクエリタイムアウト値を超え、ステートメントのみがロールバックされる場合PersistenceException- クエリ実行が設定されたクエリタイムアウト値を超え、トランザクションがロールバックされた場合
setMaxResults
Query setMaxResults(int maxResult)
取得する結果の最大数を設定します。- パラメーター:
maxResult- 取得する結果の最大数- 戻り値:
- 同じクエリインスタンス
- 例外:
IllegalArgumentExceptionSE- 引数が負の場合
getMaxResults
int getMaxResults()
クエリオブジェクトが取得するように設定された結果の最大数。setMaxResultsがクエリオブジェクトに適用されなかった場合、Integer.MAX_VALUEを返します。- 戻り値:
- 結果の最大数
- 導入:
- 2.0
setFirstResult
Query setFirstResult(int startPosition)
取得する最初の結果の位置を設定します。- パラメーター:
startPosition- 0 から番号付けされた最初の結果の位置- 戻り値:
- 同じクエリインスタンス
- 例外:
IllegalArgumentExceptionSE- 引数が負の場合
getFirstResult
int getFirstResult()
クエリオブジェクトが取得するように設定された最初の結果の位置。setFirstResultがクエリオブジェクトに適用されなかった場合、0 を返します。- 戻り値:
- 最初の結果の位置
- 導入:
- 2.0
setHint
Query setHint(StringSE hintName, ObjectSE value)
クエリのプロパティまたはヒントを設定します。ヒント要素を使用して、クエリのプロパティとヒントを指定できます。この仕様で定義されているプロパティは、プロバイダーが遵守する必要があります。プロバイダーによって認識されないベンダー固有のヒントは、確認なしで無視する必要があります。ポータブルアプリケーションは、標準のタイムアウトヒントに依存しないでください。使用中のデータベースとプロバイダーが使用するロックメカニズムに応じて、このヒントは観測される場合とされない場合があります。- パラメーター:
hintName- プロパティまたはヒントの名前value- プロパティまたはヒントの値- 戻り値:
- 同じクエリインスタンス
- 例外:
IllegalArgumentExceptionSE- 2 番目の引数が実装に有効でない場合
getHints
MapSE<StringSE,ObjectSE> getHints()
クエリインスタンスに有効なプロパティとヒント、および関連する値を取得します。- 戻り値:
- クエリのプロパティとヒント
- 導入:
- 2.0
setParameter
<T> Query setParameter(Parameter<T> param, T value)
Parameterオブジェクトの値をバインドします。- パラメーター:
param- パラメーターオブジェクトvalue- パラメーター値- 戻り値:
- 同じクエリインスタンス
- 例外:
IllegalArgumentExceptionSE- パラメーターがクエリのパラメーターに対応していない場合- 導入:
- 2.0
setParameter
Query setParameter(Parameter<CalendarSE> param, CalendarSE value, TemporalType temporalType)
java.util.CalendarのインスタンスをParameterオブジェクトにバインドします。- パラメーター:
param- パラメーターオブジェクトvalue- パラメーター値temporalType- 時間型- 戻り値:
- 同じクエリインスタンス
- 例外:
IllegalArgumentExceptionSE- パラメーターがクエリのパラメーターに対応していない場合- 導入:
- 2.0
setParameter
Query setParameter(Parameter<DateSE> param, DateSE value, TemporalType temporalType)
java.util.DateのインスタンスをParameterオブジェクトにバインドします。- パラメーター:
param- パラメーターオブジェクトvalue- パラメーター値temporalType- 時間型- 戻り値:
- 同じクエリインスタンス
- 例外:
IllegalArgumentExceptionSE- パラメーターがクエリのパラメーターに対応していない場合- 導入:
- 2.0
setParameter
Query setParameter(StringSE name, ObjectSE value)
引数値を名前付きパラメーターにバインドします。- パラメーター:
name- パラメーター名value- パラメーター値- 戻り値:
- 同じクエリインスタンス
- 例外:
IllegalArgumentExceptionSE- パラメーター名がクエリのパラメーターに対応していない場合、または引数の型が正しくない場合
setParameter
Query setParameter(StringSE name, CalendarSE value, TemporalType temporalType)
java.util.Calendarのインスタンスを名前付きパラメーターにバインドします。- パラメーター:
name- パラメーター名value- パラメーター値temporalType- 時間型- 戻り値:
- 同じクエリインスタンス
- 例外:
IllegalArgumentExceptionSE- パラメーター名がクエリのパラメーターに対応していない場合、または値の引数の型が正しくない場合
setParameter
Query setParameter(StringSE name, DateSE value, TemporalType temporalType)
java.util.Dateのインスタンスを名前付きパラメーターにバインドします。- パラメーター:
name- パラメーター名value- パラメーター値temporalType- 時間型- 戻り値:
- 同じクエリインスタンス
- 例外:
IllegalArgumentExceptionSE- パラメーター名がクエリのパラメーターに対応していない場合、または値の引数の型が正しくない場合
setParameter
Query setParameter(int position, ObjectSE value)
引数値を定位置パラメーターにバインドします。- パラメーター:
position- 位置value- パラメーター値- 戻り値:
- 同じクエリインスタンス
- 例外:
IllegalArgumentExceptionSE- 位置がクエリの位置パラメーターに対応していない場合、または引数の型が正しくない場合
setParameter
Query setParameter(int position, CalendarSE value, TemporalType temporalType)
java.util.Calendarのインスタンスを定位置パラメーターにバインドします。- パラメーター:
position- 位置value- パラメーター値temporalType- 時間型- 戻り値:
- 同じクエリインスタンス
- 例外:
IllegalArgumentExceptionSE- 位置がクエリの位置パラメーターに対応していない場合、または値の引数の型が正しくない場合
setParameter
Query setParameter(int position, DateSE value, TemporalType temporalType)
java.util.Dateのインスタンスを定位置パラメーターにバインドします。- パラメーター:
position- 位置value- パラメーター値temporalType- 時間型- 戻り値:
- 同じクエリインスタンス
- 例外:
IllegalArgumentExceptionSE- 位置がクエリの位置パラメーターに対応していない場合、または値の引数の型が正しくない場合
getParameters
SetSE<Parameter<?>> getParameters()
クエリの宣言されたパラメーターに対応するパラメーターオブジェクトを取得します。クエリにパラメーターがない場合、空のセットを返します。このメソッドは、ネイティブクエリでサポートされる必要はありません。- 戻り値:
- パラメーターオブジェクトのセット
- 例外:
IllegalStateExceptionSE- 実装がこの使用をサポートしていないときにネイティブクエリで呼び出された場合- 導入:
- 2.0
getParameter
Parameter<?> getParameter(StringSE name)
指定された名前の宣言されたパラメーターに対応するパラメーターオブジェクトを取得します。このメソッドは、ネイティブクエリでサポートされる必要はありません。- パラメーター:
name- パラメーター名- 戻り値:
- パラメーターオブジェクト
- 例外:
IllegalArgumentExceptionSE- 指定された名前のパラメーターが存在しない場合IllegalStateExceptionSE- 実装がこの使用をサポートしていないときにネイティブクエリで呼び出された場合- 導入:
- 2.0
getParameter
<T> Parameter<T> getParameter(StringSE name, ClassSE<T> type)
指定された名前と型の宣言されたパラメーターに対応するパラメーターオブジェクトを取得します。このメソッドは、条件クエリでのみサポートされる必要があります。- パラメーター:
name- パラメーター名type- 型- 戻り値:
- パラメーターオブジェクト
- 例外:
IllegalArgumentExceptionSE- 指定された名前のパラメーターが存在しないか、型に割り当てられない場合IllegalStateExceptionSE- 実装がこの使用をサポートしていないときに、ネイティブクエリまたは Jakarta Persistence クエリ言語クエリで呼び出された場合- 導入:
- 2.0
getParameter
Parameter<?> getParameter(int position)
指定された位置で宣言された位置パラメーターに対応するパラメーターオブジェクトを取得します。このメソッドは、ネイティブクエリでサポートされる必要はありません。- パラメーター:
position- 位置- 戻り値:
- パラメーターオブジェクト
- 例外:
IllegalArgumentExceptionSE- 指定された位置のパラメーターが存在しない場合IllegalStateExceptionSE- 実装がこの使用をサポートしていないときにネイティブクエリで呼び出された場合- 導入:
- 2.0
getParameter
<T> Parameter<T> getParameter(int position, ClassSE<T> type)
指定された位置と型で宣言された定位置パラメーターに対応するパラメーターオブジェクトを取得します。このメソッドは、プロバイダーによってサポートされる必要はありません。- パラメーター:
position- 位置type- 型- 戻り値:
- パラメーターオブジェクト
- 例外:
IllegalArgumentExceptionSE- 指定された位置のパラメーターが存在しないか、型に割り当てられない場合IllegalStateExceptionSE- 実装がこの使用をサポートしていないときに、ネイティブクエリまたは Jakarta Persistence クエリ言語クエリで呼び出された場合- 導入:
- 2.0
isBound
boolean isBound(Parameter<?> param)
値がパラメーターにバインドされているかどうかを示すブール値を返します。- パラメーター:
param- パラメーターオブジェクト- 戻り値:
- パラメーターがバインドされているかどうかを示すブール値
- 導入:
- 2.0
getParameterValue
<T> T getParameterValue(Parameter<T> param)
パラメーターにバインドされた入力値を返します。(OUT パラメーターはバインドされていないことに注意してください。)- パラメーター:
param- パラメーターオブジェクト- 戻り値:
- パラメーター値
- 例外:
IllegalArgumentExceptionSE- パラメーターがクエリのパラメーターでない場合IllegalStateExceptionSE- パラメーターがバインドされていない場合- 導入:
- 2.0
getParameterValue
ObjectSE getParameterValue(StringSE name)
名前付きパラメーターにバインドされた入力値を返します。(OUT パラメーターはバインドされていないことに注意してください。)- パラメーター:
name- パラメーター名- 戻り値:
- パラメーター値
- 例外:
IllegalStateExceptionSE- パラメーターがバインドされていない場合IllegalArgumentExceptionSE- 指定された名前のパラメーターが存在しない場合- 導入:
- 2.0
getParameterValue
ObjectSE getParameterValue(int position)
位置パラメーターにバインドされた入力値を返します。(OUT パラメーターはバインドされていないことに注意してください。)- パラメーター:
position- 位置- 戻り値:
- パラメーター値
- 例外:
IllegalStateExceptionSE- パラメーターがバインドされていない場合IllegalArgumentExceptionSE- 指定された位置のパラメーターが存在しない場合- 導入:
- 2.0
setFlushMode
Query setFlushMode(FlushModeType flushMode)
クエリの実行に使用するフラッシュモード型を設定します。フラッシュモード型は、エンティティマネージャーで使用されているフラッシュモード型に関係なく、クエリに適用されます。- パラメーター:
flushMode- フラッシュモード- 戻り値:
- 同じクエリインスタンス
getFlushMode
FlushModeType getFlushMode()
クエリ実行に有効なフラッシュモードを取得します。クエリオブジェクトにフラッシュモードが設定されていない場合、エンティティマネージャーに有効なフラッシュモードを返します。- 戻り値:
- フラッシュモード
- 導入:
- 2.0
setLockMode
Query setLockMode(LockModeType lockMode)
クエリの実行に使用するロックモード型を設定します。- パラメーター:
lockMode- ロックモード- 戻り値:
- 同じクエリインスタンス
- 例外:
IllegalStateExceptionSE- クエリが Jakarta Persistence クエリ言語 SELECT クエリまたは CriteriaQuery クエリでないことが判明した場合- 導入:
- 2.0
getLockMode
LockModeType getLockMode()
クエリの現在のロックモードを取得します。クエリオブジェクトにロックモードが設定されていない場合は null を返します。- 戻り値:
- ロックモード
- 例外:
IllegalStateExceptionSE- クエリが Jakarta Persistence クエリ言語 SELECT クエリまたは Criteria API クエリでないことが判明した場合- 導入:
- 2.0
unwrap
<T> T unwrap(ClassSE<T> cls)
指定した型のオブジェクトを返し、プロバイダー固有の API へのアクセスを許可します。プロバイダーのクエリ実装が指定されたクラスをサポートしない場合、PersistenceExceptionがスローされます。- パラメーター:
cls- 返されるオブジェクトのクラス。これは通常、基になるクエリ実装クラスまたはそれが実装するインターフェースのいずれかです。- 戻り値:
- 指定されたクラスのインスタンス
- 例外:
PersistenceException- プロバイダーが呼び出しをサポートしていない場合- 導入:
- 2.0