パッケージ jakarta.persistence

インターフェース Query

すべての既知のサブインターフェース:
StoredProcedureQueryTypedQuery<X>

public interface Query
クエリの実行を制御するために使用されるインターフェース。
導入:
1.0
関連事項:
  • メソッドの詳細

    • getResultList

      ListSE getResultList()
      SELECT クエリを実行し、クエリ結果を型なし ListSE として返します。
      戻り値:
      結果のリスト、または結果がない場合は空のリスト
      例外:
      IllegalStateExceptionSE - Jakarta Persistence 照会言語 UPDATE または DELETE ステートメントが必要な場合
      QueryTimeoutException - クエリ実行が設定されたクエリタイムアウト値を超え、ステートメントのみがロールバックされる場合
      TransactionRequiredException - NONE 以外のロックモードが設定されていて、トランザクションがない場合、または永続コンテキストがトランザクションに参加していない場合
      PessimisticLockException - 悲観的ロックが失敗し、トランザクションがロールバックされた場合
      LockTimeoutException - 悲観的ロックが失敗し、ステートメントのみがロールバックされる場合
      PersistenceException - クエリ実行が設定されたクエリタイムアウト値を超え、トランザクションがロールバックされた場合
    • getResultStream

      default StreamSE getResultStream()
      SELECT クエリを実行し、クエリ結果を型なし StreamSE として返します。

      デフォルトでは、このメソッドは getResultList().stream() に委譲されますが、永続化プロバイダーは追加機能を提供するためにこのメソッドをオーバーライドすることを選択する場合があります。

      戻り値:
      結果のストリーム、または結果がない場合は空のストリーム
      例外:
      IllegalStateExceptionSE - Jakarta Persistence 照会言語 UPDATE または DELETE ステートメントが必要な場合
      QueryTimeoutException - クエリ実行が設定されたクエリタイムアウト値を超え、ステートメントのみがロールバックされる場合
      TransactionRequiredException - NONE 以外のロックモードが設定されていて、トランザクションがない場合、または永続コンテキストがトランザクションに参加していない場合
      PessimisticLockException - 悲観的ロックが失敗し、トランザクションがロールバックされた場合
      LockTimeoutException - 悲観的ロックが失敗し、ステートメントのみがロールバックされる場合
      PersistenceException - クエリ実行が設定されたクエリタイムアウト値を超え、トランザクションがロールバックされた場合
      導入:
      2.2
      関連事項:
    • getSingleResult

      ObjectSE getSingleResult()
      型なしの単一の結果を返す SELECT クエリを実行します。
      戻り値:
      結果
      例外:
      NoResultException - 結果がない場合
      NonUniqueResultException - 複数の結果の場合
      IllegalStateExceptionSE - Jakarta Persistence 照会言語 UPDATE または DELETE ステートメントが必要な場合
      QueryTimeoutException - クエリ実行が設定されたクエリタイムアウト値を超え、ステートメントのみがロールバックされる場合
      TransactionRequiredException - NONE 以外のロックモードが設定されていて、トランザクションがない場合、または永続コンテキストがトランザクションに参加していない場合
      PessimisticLockException - 悲観的ロックが失敗し、トランザクションがロールバックされた場合
      LockTimeoutException - 悲観的ロックが失敗し、ステートメントのみがロールバックされる場合
      PersistenceException - クエリ実行が設定されたクエリタイムアウト値を超え、トランザクションがロールバックされた場合
    • getSingleResultOrNull

      ObjectSE getSingleResultOrNull()
      型なしの単一の結果を返す SELECT クエリを実行します。
      戻り値:
      結果、または結果がない場合は null
      例外:
      NonUniqueResultException - 複数の結果の場合
      IllegalStateExceptionSE - Jakarta Persistence 照会言語 UPDATE または DELETE ステートメントが必要な場合
      QueryTimeoutException - クエリ実行が設定されたクエリタイムアウト値を超え、ステートメントのみがロールバックされる場合
      TransactionRequiredException - NONE 以外のロックモードが設定されていて、トランザクションがない場合、または永続コンテキストがトランザクションに参加していない場合
      PessimisticLockException - 悲観的ロックが失敗し、トランザクションがロールバックされた場合
      LockTimeoutException - 悲観的ロックが失敗し、ステートメントのみがロールバックされる場合
      PersistenceException - クエリ実行が設定されたクエリタイムアウト値を超え、トランザクションがロールバックされた場合
      導入:
      3.2
    • executeUpdate

      int executeUpdate()
      更新または削除ステートメントを実行します。
      戻り値:
      更新または削除されたエンティティの数
      例外:
      IllegalStateExceptionSE - Jakarta Persistence 照会言語 SELECT ステートメントまたは条件照会のために呼び出された場合
      TransactionRequiredException - トランザクションがないか、永続コンテキストがトランザクションに参加していない場合
      QueryTimeoutException - ステートメントの実行が設定されたクエリタイムアウト値を超え、ステートメントのみがロールバックされる場合
      PersistenceException - クエリ実行が設定されたクエリタイムアウト値を超え、トランザクションがロールバックされた場合
    • setMaxResults

      Query setMaxResults(int maxResult)
      取得する結果の最大数を設定します。
      パラメーター:
      maxResult - 取得する結果の最大数
      戻り値:
      同じクエリインスタンス
      例外:
      IllegalArgumentExceptionSE - 引数が負の場合
    • getMaxResults

      int getMaxResults()
      クエリオブジェクトが取得するように設定された結果の最大数。setMaxResults(int) がクエリオブジェクトに適用されなかった場合は、Integer.MAX_VALUESE を返します。
      戻り値:
      結果の最大数
      導入:
      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

      @DeprecatedSE(since="3.2") Query setParameter(Parameter<CalendarSE> param, CalendarSE value, TemporalType temporalType)
      使用すべきではありません。
      新しく作成したコードでは、java.timeSE で定義された日付 / 時刻型を使用する必要があります。
      CalendarSE のインスタンスを Parameter オブジェクトにバインドします。
      パラメーター:
      param - パラメーターオブジェクト
      value - パラメーター値
      temporalType - 時間型
      戻り値:
      同じクエリインスタンス
      例外:
      IllegalArgumentExceptionSE - パラメーターがクエリのパラメーターに対応していない場合
      導入:
      2.0
    • setParameter

      @DeprecatedSE(since="3.2") Query setParameter(Parameter<DateSE> param, DateSE value, TemporalType temporalType)
      使用すべきではありません。
      新しく作成したコードでは、java.timeSE で定義された日付 / 時刻型を使用する必要があります。
      DateSE のインスタンスを Parameter オブジェクトにバインドします。
      パラメーター:
      param - パラメーターオブジェクト
      value - パラメーター値
      temporalType - 時間型
      戻り値:
      同じクエリインスタンス
      例外:
      IllegalArgumentExceptionSE - パラメーターがクエリのパラメーターに対応していない場合
      導入:
      2.0
    • setParameter

      Query setParameter(StringSE name, ObjectSE value)
      引数値を名前付きパラメーターにバインドします。
      パラメーター:
      name - パラメーター名
      value - パラメーター値
      戻り値:
      同じクエリインスタンス
      例外:
      IllegalArgumentExceptionSE - パラメーター名がクエリのパラメーターに対応していない場合、または引数の型が正しくない場合
    • setParameter

      @DeprecatedSE(since="3.2") Query setParameter(StringSE name, CalendarSE value, TemporalType temporalType)
      使用すべきではありません。
      新しく作成したコードでは、java.timeSE で定義された日付 / 時刻型を使用する必要があります。
      CalendarSE のインスタンスを名前付きパラメーターにバインドします。
      パラメーター:
      name - パラメーター名
      value - パラメーター値
      temporalType - 時間型
      戻り値:
      同じクエリインスタンス
      例外:
      IllegalArgumentExceptionSE - パラメーター名がクエリのパラメーターに対応していない場合、または値の引数の型が正しくない場合
    • setParameter

      @DeprecatedSE(since="3.2") Query setParameter(StringSE name, DateSE value, TemporalType temporalType)
      使用すべきではありません。
      新しく作成したコードでは、java.timeSE で定義された日付 / 時刻型を使用する必要があります。
      DateSE のインスタンスを名前付きパラメーターにバインドします。
      パラメーター:
      name - パラメーター名
      value - パラメーター値
      temporalType - 時間型
      戻り値:
      同じクエリインスタンス
      例外:
      IllegalArgumentExceptionSE - パラメーター名がクエリのパラメーターに対応していない場合、または値の引数の型が正しくない場合
    • setParameter

      Query setParameter(int position, ObjectSE value)
      引数値を定位置パラメーターにバインドします。
      パラメーター:
      position - 位置
      value - パラメーター値
      戻り値:
      同じクエリインスタンス
      例外:
      IllegalArgumentExceptionSE - 位置がクエリの位置パラメーターに対応していない場合、または引数の型が正しくない場合
    • setParameter

      @DeprecatedSE(since="3.2") Query setParameter(int position, CalendarSE value, TemporalType temporalType)
      使用すべきではありません。
      新しく作成したコードでは、java.timeSE で定義された日付 / 時刻型を使用する必要があります。
      CalendarSE のインスタンスを位置パラメーターにバインドします。
      パラメーター:
      position - 位置
      value - パラメーター値
      temporalType - 時間型
      戻り値:
      同じクエリインスタンス
      例外:
      IllegalArgumentExceptionSE - 位置がクエリの位置パラメーターに対応していない場合、または値の引数の型が正しくない場合
    • setParameter

      @DeprecatedSE(since="3.2") Query setParameter(int position, DateSE value, TemporalType temporalType)
      使用すべきではありません。
      新しく作成したコードでは、java.timeSE で定義された日付 / 時刻型を使用する必要があります。
      DateSE のインスタンスを位置パラメーターにバインドします。
      パラメーター:
      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 クエリまたは CriteriaQuery クエリではないことが判明した場合
      導入:
      2.0
    • setCacheRetrieveMode

      Query setCacheRetrieveMode(CacheRetrieveMode cacheRetrieveMode)
      クエリ実行時に有効なキャッシュ取得モードを設定します。このキャッシュ取得モードは、エンティティマネージャーが使用しているキャッシュ取得モードをオーバーライドします。
      パラメーター:
      cacheRetrieveMode - キャッシュ取得モード
      戻り値:
      同じクエリインスタンス
      導入:
      3.2
    • setCacheStoreMode

      Query setCacheStoreMode(CacheStoreMode cacheStoreMode)
      クエリ実行時に有効なキャッシュストレージモードを設定します。このキャッシュストレージモードは、エンティティマネージャーが使用しているキャッシュストレージモードをオーバーライドします。
      パラメーター:
      cacheStoreMode - キャッシュストレージモード
      戻り値:
      同じクエリインスタンス
      導入:
      3.2
    • getCacheRetrieveMode

      CacheRetrieveMode getCacheRetrieveMode()
      クエリの実行中に有効になるキャッシュ取得モード。
      導入:
      3.2
    • getCacheStoreMode

      CacheStoreMode getCacheStoreMode()
      クエリの実行中に有効になるキャッシュストレージモード。
      導入:
      3.2
    • setTimeout

      Query setTimeout(IntegerSE timeout)
      クエリのタイムアウトをミリ秒単位で設定します。これはヒントであり、ヒント jakarta.persistence.query.timeout を設定する代わりに使用できます。
      パラメーター:
      timeout - タイムアウト(ミリ秒単位)、またはタイムアウトなしを示す場合は null
      戻り値:
      同じクエリインスタンス
      導入:
      3.2
    • getTimeout

      IntegerSE getTimeout()
      クエリのタイムアウト。
      導入:
      3.2
    • unwrap

      <T> T unwrap(ClassSE<T> cls)
      指定された型のオブジェクトを返して、プロバイダー固有の API へのアクセスを許可します。Query のプロバイダ実装が指定された型をサポートしていない場合、PersistenceException がスローされます。
      パラメーター:
      cls - 返されるオブジェクトの型。これは通常、Query を実装する基礎となるクラス、またはそれが実装するインターフェースのいずれかです。
      戻り値:
      指定されたクラスのインスタンス
      例外:
      PersistenceException - プロバイダーが指定された型をサポートしていない場合
      導入:
      2.0