パッケージ jakarta.persistence

インターフェース TypedQuery<X>

型パラメーター:
X - クエリ結果型
すべてのスーパーインターフェース:
Query

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

    • getResultList

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

      default StreamSE<X> getResultStream()
      SELECT クエリを実行し、クエリ結果を型指定された Stream<X>SE として返します。

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

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

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

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

      TypedQuery<X> setMaxResults(int maxResult)
      取得する結果の最大数を設定します。
      次で指定:
      インターフェース QuerysetMaxResults 
      パラメーター:
      maxResult - 取得する結果の最大数
      戻り値:
      同じクエリインスタンス
      例外:
      IllegalArgumentExceptionSE - 引数が負の場合
    • setFirstResult

      TypedQuery<X> setFirstResult(int startPosition)
      取得する最初の結果の位置を設定します。
      次で指定:
      インターフェース QuerysetFirstResult 
      パラメーター:
      startPosition - 0 から番号付けされた最初の結果の位置
      戻り値:
      同じクエリインスタンス
      例外:
      IllegalArgumentExceptionSE - 引数が負の場合
    • setHint

      TypedQuery<X> setHint(StringSE hintName, ObjectSE value)
      クエリのプロパティまたはヒントを設定します。ヒント要素を使用して、クエリのプロパティとヒントを指定できます。この仕様で定義されているプロパティは、プロバイダーが遵守する必要があります。プロバイダーによって認識されないベンダー固有のヒントは、確認なしで無視する必要があります。ポータブルアプリケーションは、標準のタイムアウトヒントに依存しないでください。使用中のデータベースとプロバイダーが使用するロックメカニズムに応じて、このヒントは観測される場合とされない場合があります。
      次で指定:
      インターフェース QuerysetHint 
      パラメーター:
      hintName - プロパティまたはヒントの名前
      value - プロパティまたはヒントの値
      戻り値:
      同じクエリインスタンス
      例外:
      IllegalArgumentExceptionSE - 2 番目の引数が実装に有効でない場合
    • setParameter

      <T> TypedQuery<X> setParameter(Parameter<T> param, T value)
      Parameter オブジェクトの値をバインドします。
      次で指定:
      インターフェース QuerysetParameter 
      パラメーター:
      param - パラメーターオブジェクト
      value - パラメーター値
      戻り値:
      同じクエリインスタンス
      例外:
      IllegalArgumentExceptionSE - パラメーターがクエリのパラメーターに対応していない場合
    • setParameter

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

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

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

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

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

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

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

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

      TypedQuery<X> setFlushMode(FlushModeType flushMode)
      クエリの実行に使用するフラッシュモード型を設定します。フラッシュモード型は、エンティティマネージャーで使用されているフラッシュモード型に関係なく、クエリに適用されます。
      次で指定:
      インターフェース QuerysetFlushMode 
      パラメーター:
      flushMode - フラッシュモード
      戻り値:
      同じクエリインスタンス
    • setLockMode

      TypedQuery<X> setLockMode(LockModeType lockMode)
      クエリの実行に使用するロックモード型を設定します。
      次で指定:
      インターフェース QuerysetLockMode 
      パラメーター:
      lockMode - ロックモード
      戻り値:
      同じクエリインスタンス
      例外:
      IllegalStateExceptionSE - クエリが Jakarta Persistence クエリ言語 SELECT クエリまたは CriteriaQuery クエリではないことが判明した場合
    • setCacheRetrieveMode

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

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

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