Interface RepositoryOperations

All Superinterfaces:
io.micronaut.context.ApplicationContextProvider, io.micronaut.core.convert.ConversionServiceProvider, HintsCapableRepository
All Known Subinterfaces:
AsyncCapableRepository, BlockingExecutorReactorRepositoryOperations, BlockingReactorRepositoryOperations, CosmosRepositoryOperations, JdbcRepositoryOperations, JpaRepositoryOperations, MongoRepositoryOperations, PrimaryRepositoryOperations, R2dbcRepositoryOperations, ReactiveCapableRepository, ReactorReactiveCapableRepository, ReactorReactiveCapableRepository
All Known Implementing Classes:
DefaultJdbcRepositoryOperations

public interface RepositoryOperations extends HintsCapableRepository, io.micronaut.context.ApplicationContextProvider, io.micronaut.core.convert.ConversionServiceProvider
Common interface for repository implementations to implement.
Since:
1.0
Author:
graemerocher
  • Method Details

    • getEntity

      @NonNull default <T> @NonNull RuntimePersistentEntity<T> getEntity(@NonNull @NonNull Class<T> type)
      Retrieves the entity for the given type.
      Type Parameters:
      T - The generic Type
      Parameters:
      type - The type
      Returns:
      The entity
      Throws:
      io.micronaut.core.beans.exceptions.IntrospectionException - if no entity exists of the given type
    • findOne

      @Nullable <T> T findOne(@NonNull @NonNull Class<T> type, @NonNull @NonNull Object id)
      Find one by ID.
      Type Parameters:
      T - The generic type
      Parameters:
      type - The type
      id - The id
      Returns:
      A result or null
    • findOne

      @Nullable <T, R> R findOne(@NonNull @NonNull PreparedQuery<T,R> preparedQuery)
      Find one by Query.
      Type Parameters:
      T - The generic resultType
      R - The result type
      Parameters:
      preparedQuery - The prepared query
      Returns:
      A result or null
    • exists

      <T> boolean exists(@NonNull @NonNull PreparedQuery<T,Boolean> preparedQuery)
      Execute a query that checks for existence.
      Type Parameters:
      T - The generic resultType
      Parameters:
      preparedQuery - The prepared query
      Returns:
      A result or null
    • findAll

      @NonNull <T> @NonNull Iterable<T> findAll(@NonNull @NonNull PagedQuery<T> query)
      Finds all results for the given query.
      Type Parameters:
      T - The generic type
      Parameters:
      query - The root entity
      Returns:
      An iterable result
    • count

      <T> long count(PagedQuery<T> pagedQuery)
      Counts all results for the given query.
      Type Parameters:
      T - The generic type
      Parameters:
      pagedQuery - The paged query
      Returns:
      An iterable result
    • findAll

      @NonNull <T, R> @NonNull Iterable<R> findAll(@NonNull @NonNull PreparedQuery<T,R> preparedQuery)
      Finds all results for the given query.
      Type Parameters:
      T - The entity type
      R - The result type
      Parameters:
      preparedQuery - The prepared query
      Returns:
      An iterable result
    • findStream

      @NonNull <T, R> @NonNull Stream<R> findStream(@NonNull @NonNull PreparedQuery<T,R> preparedQuery)
      Finds all results for the given query.
      Type Parameters:
      T - The entity type
      R - The result type
      Parameters:
      preparedQuery - The prepared query
      Returns:
      An iterable result
    • findStream

      @NonNull <T> @NonNull Stream<T> findStream(@NonNull @NonNull PagedQuery<T> query)
      Finds a stream for the given arguments.
      Type Parameters:
      T - The generic type
      Parameters:
      query - The query
      Returns:
      The stream
    • findPage

      <R> Page<R> findPage(@NonNull @NonNull PagedQuery<R> query)
      Find a page for the given entity and pageable.
      Type Parameters:
      R - The entity generic type
      Parameters:
      query - The query
      Returns:
      The page type
    • persist

      @NonNull <T> T persist(@NonNull @NonNull InsertOperation<T> operation)
      Persist the operation returning a possibly new entity.
      Type Parameters:
      T - The generic type
      Parameters:
      operation - The operation
      Returns:
      The operation
    • update

      @NonNull <T> T update(@NonNull @NonNull UpdateOperation<T> operation)
      Updates the entity for the given operation.
      Type Parameters:
      T - The generic type
      Parameters:
      operation - The operation
      Returns:
      The operation
    • updateAll

      @NonNull default <T> @NonNull Iterable<T> updateAll(@NonNull @NonNull UpdateBatchOperation<T> operation)
      Updates the entities for the given operation.
      Type Parameters:
      T - The generic type
      Parameters:
      operation - The operation
      Returns:
      The updated entities
    • persistAll

      @NonNull default <T> @NonNull Iterable<T> persistAll(@NonNull @NonNull InsertBatchOperation<T> operation)
      Persist all the given entities.
      Type Parameters:
      T - The generic type
      Parameters:
      operation - The operation
      Returns:
      The entities, possibly mutated
    • executeUpdate

      @NonNull @NonNull Optional<Number> executeUpdate(@NonNull @NonNull PreparedQuery<?,Number> preparedQuery)
      Executes an update for the given query and parameter values. If it is possible to return the number of objects updated, then do so.
      Parameters:
      preparedQuery - The prepared query
      Returns:
      An optional number with the count of the number of records updated
    • executeDelete

      @NonNull default @NonNull Optional<Number> executeDelete(@NonNull @NonNull PreparedQuery<?,Number> preparedQuery)
      Executes a delete for the given query and parameter values. If it is possible to return the number of objects deleted, then do so.
      Parameters:
      preparedQuery - The prepared query
      Returns:
      An optional number with the count of the number of records updated
    • delete

      <T> int delete(@NonNull @NonNull DeleteOperation<T> operation)
      Deletes the entity.
      Type Parameters:
      T - The generic type
      Parameters:
      operation - The operation
      Returns:
      The number of entities deleted
    • deleteAll

      <T> Optional<Number> deleteAll(@NonNull @NonNull DeleteBatchOperation<T> operation)
      Deletes all the entities of the given type.
      Type Parameters:
      T - The generic type
      Parameters:
      operation - The operation
      Returns:
      The number of entities deleted