パッケージ jakarta.persistence

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

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

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

      • getResultList

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

        default StreamSE<X> getResultStream()
        SELECT クエリを実行し、クエリ結果を型付き java.util.stream.Stream として返します。デフォルトでは、このメソッドは getResultList().stream() に委譲しますが、永続性プロバイダーはこのメソッドをオーバーライドして追加機能を提供することを選択できます。
        次で指定:
        インターフェース QuerygetResultStream 
        戻り値:
        結果のストリーム
        例外:
        IllegalStateExceptionSE - Jakarta Persistence 照会言語 UPDATE または DELETE ステートメントが必要な場合
        QueryTimeoutException - クエリ実行が設定されたクエリタイムアウト値を超え、ステートメントのみがロールバックされる場合
        TransactionRequiredException - NONE 以外のロックモードが設定されていて、トランザクションがない場合、または永続コンテキストがトランザクションに参加していない場合
        PessimisticLockException - 悲観的ロックが失敗し、トランザクションがロールバックされた場合
        LockTimeoutException - 悲観的ロックが失敗し、ステートメントのみがロールバックされる場合
        PersistenceException - クエリ実行が設定されたクエリタイムアウト値を超え、トランザクションがロールバックされた場合
        導入:
        2.2
        関連事項:
        StreamSE, getResultList()
      • getSingleResult

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

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

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

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

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

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

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

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

        TypedQuery<X> setParameter​(int position,
                                   DateSE value,
                                   TemporalType temporalType)
        java.util.Date のインスタンスを定位置パラメーターにバインドします。
        次で指定:
        インターフェース 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 クエリでないことが判明した場合