インターフェース ReactiveCrudRepository<T,ID>

すべてのスーパーインターフェース:
Repository<T,ID>

@NoRepositoryBean public interface ReactiveCrudRepository<T,ID> extends Repository<T,ID>
特定の型のリポジトリに対する汎用 CRUD 操作のためのインターフェースです。このリポジトリはリアクティブパラダイムに準拠し、Reactive Streams を基盤として構築された Project Reactor 型を使用します。このインターフェースを通じて公開されるメソッドにより、エンティティはライフサイクルイベントに参加でき、一部の一括操作メソッドを除き、適用可能な場合は楽観的ロックが適用されます。そのため、モジュールはイベント処理を容易にするために、エンティティを削除または更新する前にそのエンティティをロードすることを選択する場合があります。また、変更メソッドの呼び出しは、楽観的ロックの失敗により例外をトリガーする可能性があります。

バージョン属性を持つエンティティでの保存および削除操作は、引数として渡されたエンティティとは異なるバージョン値が永続ストアで検出されたときに、OptimisticLockingFailureException で onError をトリガーします。

バージョン属性のない ID またはエンティティのみを受け取るその他の削除操作は、永続ストアに一致するデータが見つからない場合にエラーをトリガーしません。

導入:
2.0
作成者:
Mark Paluch, Christph Strobl, Jens Schauder
関連事項:
  • メソッドの詳細

    • save

      <S extends T> Mono<S> save(S entity)
      指定されたエンティティを保存します。保存操作によってエンティティインスタンスが完全に変更された可能性があるため、返されたインスタンスをさらなる操作に使用します。
      パラメーター:
      entity - null であってはなりません。
      戻り値:
      保存されたエンティティを放出する Mono
      例外:
      IllegalArgumentExceptionSE - 指定されたエンティティが null の場合。
      OptimisticLockingFailureException - エンティティが楽観的ロックを使用し、永続ストアで見つかった値とは異なる値のバージョン属性を持つ場合。エンティティが存在すると想定されているが、データベースに存在しない場合にもスローされます。
    • saveAll

      <S extends T> Flux<S> saveAll(IterableSE<S> entities)
      指定されたすべてのエンティティを保存します。
      パラメーター:
      entities - null であってはなりません。
      戻り値:
      保存されたエンティティを放出する Flux
      例外:
      IllegalArgumentExceptionSE - 指定された entitiesSE またはそのエンティティの 1 つが null の場合。
      OptimisticLockingFailureException - 少なくとも 1 つのエンティティが楽観的ロックを使用し、永続ストアで見つかった値とは異なる値のバージョン属性を持つ場合。少なくとも 1 つのエンティティが存在すると想定されているが、データベースに存在しない場合にもスローされます。
    • saveAll

      <S extends T> Flux<S> saveAll(Publisher<S> entityStream)
      指定されたすべてのエンティティを保存します。
      パラメーター:
      entityStream - null であってはなりません。
      戻り値:
      保存されたエンティティを放出する Flux
      例外:
      IllegalArgumentExceptionSE - 指定された entityStream が null の場合。
      OptimisticLockingFailureException - 少なくとも 1 つのエンティティが楽観的ロックを使用し、永続ストアで見つかった値とは異なる値のバージョン属性を持つ場合。少なくとも 1 つのエンティティが存在すると想定されているが、データベースに存在しない場合にもスローされます。
    • findById

      Mono<T> findById(ID id)
      ID でエンティティを取得します。
      パラメーター:
      id - null であってはなりません。
      戻り値:
      指定された ID を持つエンティティを発行する Mono または、見つからない場合は Mono.empty() を発行します。
      例外:
      IllegalArgumentExceptionSE - 指定された ID が null の場合。
    • findById

      Mono<T> findById(Publisher<ID> id)
      Publisher によって提供される ID によってエンティティを取得します。
      パラメーター:
      id - null であってはなりません。最初に発行された要素を使用して検索クエリを実行します。
      戻り値:
      指定された ID を持つエンティティを発行する Mono または、見つからない場合は Mono.empty() を発行します。
      例外:
      IllegalArgumentExceptionSE - 指定された id が null の場合。
    • existsById

      Mono<BooleanSE> existsById(ID id)
      指定された ID を持つエンティティが存在するかどうかを返します。
      パラメーター:
      id - null であってはなりません。
      戻り値:
      Mono は、指定された ID を持つエンティティが存在する場合は true を、存在しない場合は false を出力します。
      例外:
      IllegalArgumentExceptionSE - 指定された ID が null の場合。
    • existsById

      Mono<BooleanSE> existsById(Publisher<ID> id)
      Publisher によって指定された ID を持つエンティティが存在するかどうかを返します。最初に発行された要素を使用して、exists クエリを実行します。
      パラメーター:
      id - null であってはなりません。
      戻り値:
      Mono は、指定された ID を持つエンティティが存在する場合は true を、存在しない場合は false を出力します。
      例外:
      IllegalArgumentExceptionSE - 指定された id が null の場合。
    • findAll

      Flux<T> findAll()
      型のすべてのインスタンスを返します。
      戻り値:
      Flux はすべてのエンティティを放出します。
    • findAllById

      Flux<T> findAllById(IterableSE<ID> ids)
      指定された ID を持つ型 T のすべてのインスタンスを返します。

      一部またはすべての ID が見つからない場合、これらの ID のエンティティは返されません。

      結果の要素の順序は保証されないことに注意してください。

      パラメーター:
      ids - null または null 値を含めることはできません。
      戻り値:
      Flux は見つかったエンティティを出力します。サイズは指定された ID の数と同じかそれ以下になります。
      例外:
      IllegalArgumentExceptionSE - 指定された idsSE またはそのアイテムの 1 つが null の場合。
    • findAllById

      Flux<T> findAllById(Publisher<ID> idStream)
      Publisher によって提供される特定の ID を持つ T 型のすべてのインスタンスを返します。

      一部またはすべての ID が見つからない場合、これらの ID のエンティティは返されません。

      結果の要素の順序は保証されないことに注意してください。

      パラメーター:
      idStream - null であってはなりません。
      戻り値:
      見つかったエンティティを放出する Flux
      例外:
      IllegalArgumentExceptionSE - 指定された idStream が null の場合。
    • count

      Mono<LongSE> count()
      利用可能なエンティティの数を返します。
      戻り値:
      エンティティの数を放出する Mono
    • deleteById

      Mono<VoidSE> deleteById(ID id)
      指定された ID のエンティティを削除します。

      永続ストアでエンティティが見つからない場合、エンティティは確認なしで無視されます。

      パラメーター:
      id - null であってはなりません。
      戻り値:
      操作が完了したときに Mono シグナルを送信します。
      例外:
      IllegalArgumentExceptionSE - 指定された ID が null の場合。
    • deleteById

      Mono<VoidSE> deleteById(Publisher<ID> id)
      Publisher によって指定された ID を持つエンティティを削除します。

      永続ストアでエンティティが見つからない場合、エンティティは確認なしで無視されます。

      パラメーター:
      id - null であってはなりません。
      戻り値:
      操作が完了したときに Mono シグナルを送信します。
      例外:
      IllegalArgumentExceptionSE - 指定された id が null の場合。
    • delete

      Mono<VoidSE> delete(T entity)
      指定されたエンティティを削除します。
      パラメーター:
      entity - null であってはなりません。
      戻り値:
      操作が完了したときに Mono シグナルを送信します。
      例外:
      IllegalArgumentExceptionSE - 指定されたエンティティが null の場合。
      OptimisticLockingFailureException - エンティティが楽観的ロックを使用し、永続ストアで見つかった値とは異なる値のバージョン属性を持つ場合。エンティティが存在すると想定されているが、データベースに存在しない場合にもスローされます。
    • deleteAllById

      Mono<VoidSE> deleteAllById(IterableSE<? extends ID> ids)
      指定された ID を持つ型 T のすべてのインスタンスを削除します。

      永続ストアで見つからないエンティティは、確認なしで無視されます。

      パラメーター:
      ids - null であってはなりません。
      戻り値:
      操作が完了したときに Mono シグナルを送信します。
      例外:
      IllegalArgumentExceptionSE - 指定された ID またはその要素の 1 つが null の場合。null。
      導入:
      2.5
    • deleteAll

      Mono<VoidSE> deleteAll(IterableSE<? extends T> entities)
      指定されたエンティティを削除します。
      パラメーター:
      entities - null であってはなりません。
      戻り値:
      操作が完了したときに Mono シグナルを送信します。
      例外:
      IllegalArgumentExceptionSE - 指定された entitiesSE またはそのエンティティの 1 つが null の場合。
      OptimisticLockingFailureException - 少なくとも 1 つのエンティティが楽観的ロックを使用し、永続ストアで見つかった値とは異なる値のバージョン属性を持つ場合。少なくとも 1 つのエンティティが存在すると想定されているが、データベースに存在しない場合にもスローされます。
    • deleteAll

      Mono<VoidSE> deleteAll(Publisher<? extends T> entityStream)
      Publisher によって提供される指定されたエンティティを削除します。
      パラメーター:
      entityStream - null であってはなりません。
      戻り値:
      操作が完了したときに Mono シグナルを送信します。
      例外:
      IllegalArgumentExceptionSE - 指定された entityStream が null の場合。
      OptimisticLockingFailureException - 少なくとも 1 つのエンティティが楽観的ロックを使用し、永続ストアで見つかった値とは異なる値のバージョン属性を持つ場合。少なくとも 1 つのエンティティが存在すると想定されているが、データベースに存在しない場合にもスローされます。
    • deleteAll

      Mono<VoidSE> deleteAll()
      リポジトリによって管理されているすべてのエンティティを削除します。
      戻り値:
      操作が完了したときに Mono シグナルを送信します。