Interface AsyncCrudRepository<E,ID>
- Type Parameters:
E- The entity typeID- The ID type
- All Superinterfaces:
GenericRepository<E,ID>
- All Known Subinterfaces:
AsyncBookRepository, AsyncPageableRepository<E,ID>, BookAsyncRepository, PersonAsyncRepository
Asynchronous variation of
CrudRepository.- Since:
- 1.0.0
- Author:
- graemerocher
-
Method Summary
Modifier and TypeMethodDescriptioncount()Returns the number of entities available.Deletes a given entity.Deletes all entities managed by the repository.Deletes the given entities.deleteById(ID id) Deletes the entity with the given id.existsById(ID id) Returns whether an entity with the given id exists.CompletableFuture<? extends Iterable<E>> findAll()Returns all instances of the type.Retrieves an entity by its id.<S extends E>
CompletableFuture<S> insert(S entity) This method issues an explicit insert for the given entity.<S extends E>
CompletableFuture<? extends Iterable<S>> This method issues an explicit insert for the given entities.<S extends E>
CompletableFuture<S> save(S entity) Saves the given valid entity, returning a possibly new entity representing the saved state.<S extends E>
CompletableFuture<? extends Iterable<S>> Saves all given entities, possibly returning new instances representing the saved state.<S extends E>
CompletableFuture<S> update(S entity) This method issues an explicit update for the given entity.<S extends E>
CompletableFuture<? extends Iterable<S>> This method issues an explicit update for the given entities.
-
Method Details
-
save
Saves the given valid entity, returning a possibly new entity representing the saved state.If the entity has no identity value, an insert is performed. If the entity has a generated or always auto-populated identity value already present, an update is attempted. Entities with non-generated assigned identities are inserted by default. To require a specific operation, use
insert(Object)orupdate(Object). This is the default repository save behavior and can be overridden by Micronaut Data configuration.- Type Parameters:
S- The generic type- Parameters:
entity- The entity to save. Must not be null.- Returns:
- The saved entity will never be null.
-
insert
This method issues an explicit insert for the given entity. The method differs fromsave(Object)in that an insert will be generated regardless of the entity identity state. If the entity already exists then an exception may be thrown.- Type Parameters:
S- The generic type- Parameters:
entity- The entity to insert. Must not be null.- Returns:
- The inserted entity will never be null.
- Since:
- 5.0.0
-
update
This method issues an explicit update for the given entity. The method differs fromsave(Object)in that an update will be generated regardless of the entity identity state. If the entity has no assigned ID then an exception will be thrown.- Type Parameters:
S- The generic type- Parameters:
entity- The entity to update. Must not be null.- Returns:
- The updated entity will never be null.
-
updateAll
This method issues an explicit update for the given entities. The method differs fromsaveAll(Iterable)in that an update will be generated for every entity regardless of identity state. If an entity has no assigned ID then an exception will be thrown.- Type Parameters:
S- The generic type- Parameters:
entities- The entities to update. Must not be null.- Returns:
- The updating entity will never be null.
-
insertAll
This method issues an explicit insert for the given entities. The method differs fromsaveAll(Iterable)in that an insert will be generated for every entity regardless of identity state. If an entity already exists then an exception may be thrown.- Type Parameters:
S- The generic type- Parameters:
entities- The entities to insert. Must not be null.- Returns:
- The inserted entities will never be null.
- Since:
- 5.0.0
-
saveAll
Saves all given entities, possibly returning new instances representing the saved state.Each entity is saved independently using the same rules as
save(Object). This is the default repository save behavior and can be overridden by Micronaut Data configuration.- Type Parameters:
S- The generic type- Parameters:
entities- The entities to save. Must not be null.- Returns:
- The saved entities objects. will never be null.
-
findById
Retrieves an entity by its id.- Parameters:
id- The ID of the entity to retrieve. Must not be null.- Returns:
- the entity with the given id or null
- Throws:
EmptyResultException- if no entity exists for the ID
-
existsById
Returns whether an entity with the given id exists.- Parameters:
id- must not be null.- Returns:
- true if an entity with the given id exists, false otherwise.
-
findAll
CompletableFuture<? extends Iterable<E>> findAll()Returns all instances of the type.- Returns:
- all entities
-
count
CompletableFuture<Long> count()Returns the number of entities available.- Returns:
- the number of entities
-
deleteById
Deletes the entity with the given id.- Parameters:
id- must not be null.- Returns:
- A future that executes the delete operation
-
delete
Deletes a given entity.- Parameters:
entity- The entity to delete- Returns:
- A future that executes the delete operation
-
deleteAll
Deletes the given entities.- Parameters:
entities- The entities to delete- Returns:
- A future that executes the delete operation
-
deleteAll
CompletableFuture<Void> deleteAll()Deletes all entities managed by the repository.- Returns:
- A future that executes the delete operation
-