Interface RxJava3CrudRepository<T,ID>
- All Superinterfaces:
Repository<T,ID>
Save and delete operations with entities that have a version attribute trigger an onError with a
OptimisticLockingFailureException when they encounter a different version value in
the persistence store than in the entity passed as an argument.
Other delete operations that only receive ids or entities without version attribute do not trigger an error when no matching data is found in the persistence store.
- Since:
- 2.4
- Author:
- Mark Paluch
- See Also:
-
MaybeSingleFlowableCompletable
-
Method Summary
Modifier and TypeMethodDescriptionio.reactivex.rxjava3.core.Single<Long>count()Returns the number of entities available.io.reactivex.rxjava3.core.CompletableDeletes a given entity.io.reactivex.rxjava3.core.CompletableDeletes all entities managed by the repository.io.reactivex.rxjava3.core.CompletableDeletes the given entities supplied by aFlowable.io.reactivex.rxjava3.core.CompletableDeletes the given entities.io.reactivex.rxjava3.core.CompletabledeleteAllById(Iterable<? extends ID> ids) Deletes all instances of the typeTwith the given IDs.io.reactivex.rxjava3.core.CompletabledeleteById(ID id) Deletes the entity with the given id.io.reactivex.rxjava3.core.Single<Boolean>existsById(ID id) Returns whether an entity with the given id exists.io.reactivex.rxjava3.core.Single<Boolean>existsById(io.reactivex.rxjava3.core.Single<ID> id) Returns whether an entity with the given id, supplied by aSingle, exists.io.reactivex.rxjava3.core.Flowable<T>findAll()Returns all instances of the type.io.reactivex.rxjava3.core.Flowable<T>findAllById(io.reactivex.rxjava3.core.Flowable<ID> idStream) Returns all instances of the typeTwith the given IDs supplied by aFlowable.io.reactivex.rxjava3.core.Flowable<T>findAllById(Iterable<ID> ids) Returns all instances of the typeTwith the given IDs.io.reactivex.rxjava3.core.Maybe<T>Retrieves an entity by its id.io.reactivex.rxjava3.core.Maybe<T>Retrieves an entity by its id supplied by aSingle.<S extends T>
io.reactivex.rxjava3.core.Single<S>save(S entity) Saves a given entity.<S extends T>
io.reactivex.rxjava3.core.Flowable<S>saveAll(io.reactivex.rxjava3.core.Flowable<S> entityStream) Saves all given entities.<S extends T>
io.reactivex.rxjava3.core.Flowable<S>Saves all given entities.
-
Method Details
-
save
Saves a given entity. Use the returned instance for further operations as the save operation might have changed the entity instance completely.- Parameters:
entity- must not be null.- Returns:
Singleemitting the saved entity.- Throws:
IllegalArgumentException- in case the given entity is null.org.springframework.dao.OptimisticLockingFailureException- when the entity uses optimistic locking and has a version attribute with a different value from that found in the persistence store. Also thrown if the entity is assumed to be present but does not exist in the database.
-
saveAll
Saves all given entities.- Parameters:
entities- must not be null.- Returns:
Flowableemitting the saved entities.- Throws:
IllegalArgumentException- in case the givenentitiesor one of its entities is null.org.springframework.dao.OptimisticLockingFailureException- when at least one entity uses optimistic locking and has a version attribute with a different value from that found in the persistence store. Also thrown if at least one entity is assumed to be present but does not exist in the database.
-
saveAll
<S extends T> io.reactivex.rxjava3.core.Flowable<S> saveAll(io.reactivex.rxjava3.core.Flowable<S> entityStream) Saves all given entities.- Parameters:
entityStream- must not be null.- Returns:
Flowableemitting the saved entities.- Throws:
IllegalArgumentException- in case the givenentityStreamis null.org.springframework.dao.OptimisticLockingFailureException- when at least one entity uses optimistic locking and has a version attribute with a different value from that found in the persistence store. Also thrown if at least one entity is assumed to be present but does not exist in the database.
-
findById
Retrieves an entity by its id.- Parameters:
id- must not be null.- Returns:
Maybeemitting the entity with the given id orMaybe.empty()if none found.- Throws:
IllegalArgumentException- in case the given id is null.
-
findById
Retrieves an entity by its id supplied by aSingle.- Parameters:
id- must not be null. Uses the first emitted element to perform the find-query.- Returns:
Maybeemitting the entity with the given id orMaybe.empty()if none found.- Throws:
IllegalArgumentException- in case the givenidis null.
-
existsById
Returns whether an entity with the given id exists.- Parameters:
id- must not be null.- Returns:
Singleemitting true if an entity with the given id exists, false otherwise.- Throws:
IllegalArgumentException- in case the given id is null.
-
existsById
Returns whether an entity with the given id, supplied by aSingle, exists.- Parameters:
id- must not be null.- Returns:
Singleemitting true if an entity with the given id exists, false otherwise.- Throws:
IllegalArgumentException- in case the givenidis null.
-
findAll
io.reactivex.rxjava3.core.Flowable<T> findAll()Returns all instances of the type.- Returns:
Flowableemitting all entities.
-
findAllById
Returns all instances of the typeTwith the given IDs.If some or all ids are not found, no entities are returned for these IDs.
Note that the order of elements in the result is not guaranteed.
- Parameters:
ids- must not be null nor contain any null values.- Returns:
Flowableemitting the found entities. The size can be equal or less than the number of given ids.- Throws:
IllegalArgumentException- in case the givenidsor one of its items is null.
-
findAllById
Returns all instances of the typeTwith the given IDs supplied by aFlowable.If some or all ids are not found, no entities are returned for these IDs.
Note that the order of elements in the result is not guaranteed.
- Parameters:
idStream- must not be null.- Returns:
Flowableemitting the found entities.- Throws:
IllegalArgumentException- in case the givenidStreamis null.
-
count
io.reactivex.rxjava3.core.Single<Long> count()Returns the number of entities available.- Returns:
Singleemitting the number of entities.
-
deleteById
Deletes the entity with the given id.If the entity is not found in the persistence store it is silently ignored.
- Parameters:
id- must not be null.- Returns:
Completablesignaling when operation has completed.- Throws:
IllegalArgumentException- in case the given id is null.
-
delete
Deletes a given entity.- Parameters:
entity- must not be null.- Returns:
Completablesignaling when operation has completed.- Throws:
IllegalArgumentException- in case the given entity is null.org.springframework.dao.OptimisticLockingFailureException- when the entity uses optimistic locking and has a version attribute with a different value from that found in the persistence store. Also thrown if the entity is assumed to be present but does not exist in the database.
-
deleteAllById
Deletes all instances of the typeTwith the given IDs.Entities that aren't found in the persistence store are silently ignored.
- Parameters:
ids- must not be null.- Returns:
Completablesignaling when operation has completed.- Throws:
IllegalArgumentException- in case the given ids or one of its elements is null. null.- Since:
- 2.5
-
deleteAll
Deletes the given entities.- Parameters:
entities- must not be null.- Returns:
Completablesignaling when operation has completed.- Throws:
IllegalArgumentException- in case the givenentitiesor one of its entities is null.org.springframework.dao.OptimisticLockingFailureException- when at least one entity uses optimistic locking and has a version attribute with a different value from that found in the persistence store. Also thrown if at least one entity is assumed to be present but does not exist in the database.
-
deleteAll
io.reactivex.rxjava3.core.Completable deleteAll(io.reactivex.rxjava3.core.Flowable<? extends T> entityStream) Deletes the given entities supplied by aFlowable.- Parameters:
entityStream- must not be null.- Returns:
Completablesignaling when operation has completed.- Throws:
IllegalArgumentException- in case the givenentityStreamis null.org.springframework.dao.OptimisticLockingFailureException- when at least one entity uses optimistic locking and has a version attribute with a different value from that found in the persistence store. Also thrown if at least one entity is assumed to be present but does not exist in the database.
-
deleteAll
io.reactivex.rxjava3.core.Completable deleteAll()Deletes all entities managed by the repository.- Returns:
Completablesignaling when operation has completed.
-