Interface PanacheRepositoryBase<Entity,Id>

Type Parameters:
Entity - The type of entity to operate on
Id - The ID type of the entity
All Known Subinterfaces:
PanacheRepository<Entity>

public interface PanacheRepositoryBase<Entity,Id>

Represents a Repository for a specific type of entity Entity, with an ID type of Id. Implementing this repository will gain you the exact same useful methods that are on PanacheEntityBase. Unless you have a custom ID strategy, you should not implement this interface directly but implement PanacheRepository instead.

Author:
Stéphane Épardaud
  • Method Summary

    Modifier and Type
    Method
    Description
    default io.smallrye.mutiny.Uni<Long>
    Counts the number of this type of entity in the database.
    default io.smallrye.mutiny.Uni<Long>
    count(String query, io.quarkus.panache.common.Parameters params)
    Deprecated.
    default io.smallrye.mutiny.Uni<Long>
    count(String query, Object... params)
    Counts the number of this type of entity matching the given query, with optional indexed parameters.
    default io.smallrye.mutiny.Uni<Long>
    count(String query, Map<String,Object> params)
    Counts the number of this type of entity matching the given query, with named parameters.
    default io.smallrye.mutiny.Uni<Void>
    delete(Entity entity)
    Delete the given entity from the database, if it is already persisted.
    default io.smallrye.mutiny.Uni<Long>
    delete(String query, io.quarkus.panache.common.Parameters params)
    Deprecated.
    default io.smallrye.mutiny.Uni<Long>
    delete(String query, Object... params)
    Delete all entities of this type matching the given query, with optional indexed parameters.
    default io.smallrye.mutiny.Uni<Long>
    delete(String query, Map<String,Object> params)
    Delete all entities of this type matching the given query, with named parameters.
    default io.smallrye.mutiny.Uni<Long>
    Delete all entities of this type from the database.
    default io.smallrye.mutiny.Uni<Boolean>
    Delete an entity of this type by ID.
    find(String query, io.quarkus.panache.common.Parameters params)
    Deprecated.
    find(String query, io.quarkus.panache.common.Sort sort, io.quarkus.panache.common.Parameters params)
    Deprecated.
    find(String query, io.quarkus.panache.common.Sort sort, Object... params)
    Find entities using a query and the given sort options, with optional indexed parameters.
    find(String query, io.quarkus.panache.common.Sort sort, Map<String,Object> params)
    Find entities using a query and the given sort options, with named parameters.
    find(String query, Object... params)
    Find entities using a query, with optional indexed parameters.
    find(String query, Map<String,Object> params)
    Find entities using a query, with named parameters.
    Find all entities of this type.
    findAll(io.quarkus.panache.common.Sort sort)
    Find all entities of this type, in the given order.
    default io.smallrye.mutiny.Uni<Entity>
    Find an entity of this type by ID.
    default io.smallrye.mutiny.Uni<Entity>
    findById(Id id, jakarta.persistence.LockModeType lockModeType)
    Find an entity of this type by ID and lock it.
    default io.smallrye.mutiny.Uni<Void>
    Flushes all pending changes to the database.
    default io.smallrye.mutiny.Uni<org.hibernate.reactive.mutiny.Mutiny.Session>
    Returns the current Mutiny.Session
    default boolean
    Returns true if the given entity is persistent in the database.
    default io.smallrye.mutiny.Uni<List<Entity>>
    list(String query, io.quarkus.panache.common.Parameters params)
    Deprecated.
    default io.smallrye.mutiny.Uni<List<Entity>>
    list(String query, io.quarkus.panache.common.Sort sort, io.quarkus.panache.common.Parameters params)
    Deprecated.
    default io.smallrye.mutiny.Uni<List<Entity>>
    list(String query, io.quarkus.panache.common.Sort sort, Object... params)
    Find entities matching a query and the given sort options, with optional indexed parameters.
    default io.smallrye.mutiny.Uni<List<Entity>>
    list(String query, io.quarkus.panache.common.Sort sort, Map<String,Object> params)
    Find entities matching a query and the given sort options, with named parameters.
    default io.smallrye.mutiny.Uni<List<Entity>>
    list(String query, Object... params)
    Find entities matching a query, with optional indexed parameters.
    default io.smallrye.mutiny.Uni<List<Entity>>
    list(String query, Map<String,Object> params)
    Find entities matching a query, with named parameters.
    default io.smallrye.mutiny.Uni<List<Entity>>
    Find all entities of this type.
    default io.smallrye.mutiny.Uni<List<Entity>>
    listAll(io.quarkus.panache.common.Sort sort)
    Find all entities of this type, in the given order.
    default io.smallrye.mutiny.Uni<Entity>
    persist(Entity entity)
    Persist the given entity in the database, if not already persisted.
    default io.smallrye.mutiny.Uni<Void>
    persist(Entity firstEntity, Entity... entities)
    Persist all given entities.
    default io.smallrye.mutiny.Uni<Void>
    persist(Iterable<Entity> entities)
    Persist all given entities.
    default io.smallrye.mutiny.Uni<Void>
    persist(Stream<Entity> entities)
    Persist all given entities.
    default io.smallrye.mutiny.Uni<Entity>
    Persist the given entity in the database, if not already persisted.
    default io.smallrye.mutiny.Uni<Integer>
    update(String query, io.quarkus.panache.common.Parameters params)
    Deprecated.
    default io.smallrye.mutiny.Uni<Integer>
    update(String query, Object... params)
    Update all entities of this type matching the given query, with optional indexed parameters.
    default io.smallrye.mutiny.Uni<Integer>
    update(String query, Map<String,Object> params)
    Update all entities of this type matching the given query, with named parameters.
  • Method Details

    • getSession

      @GenerateBridge default io.smallrye.mutiny.Uni<org.hibernate.reactive.mutiny.Mutiny.Session> getSession()
      Returns the current Mutiny.Session
      Returns:
      the current Mutiny.Session
    • persist

      @CheckReturnValue default io.smallrye.mutiny.Uni<Entity> persist(Entity entity)
      Persist the given entity in the database, if not already persisted.
      Parameters:
      entity - the entity to persist.
      Returns:
      See Also:
    • persistAndFlush

      @CheckReturnValue default io.smallrye.mutiny.Uni<Entity> persistAndFlush(Entity entity)
      Persist the given entity in the database, if not already persisted. Then flushes all pending changes to the database.
      Parameters:
      entity - the entity to persist.
      Returns:
      See Also:
    • delete

      @CheckReturnValue default io.smallrye.mutiny.Uni<Void> delete(Entity entity)
      Delete the given entity from the database, if it is already persisted.
      Parameters:
      entity - the entity to delete.
      Returns:
      See Also:
    • isPersistent

      default boolean isPersistent(Entity entity)
      Returns true if the given entity is persistent in the database. If yes, all modifications to its persistent fields will be automatically committed to the database at transaction commit time.
      Parameters:
      entity - the entity to check
      Returns:
      true if the entity is persistent in the database.
    • flush

      @CheckReturnValue default io.smallrye.mutiny.Uni<Void> flush()
      Flushes all pending changes to the database.
      Returns:
    • findById

      @CheckReturnValue @GenerateBridge default io.smallrye.mutiny.Uni<Entity> findById(Id id)
      Find an entity of this type by ID.
      Parameters:
      id - the ID of the entity to find.
      Returns:
      the entity found, or null if not found.
    • findById

      @CheckReturnValue @GenerateBridge default io.smallrye.mutiny.Uni<Entity> findById(Id id, jakarta.persistence.LockModeType lockModeType)
      Find an entity of this type by ID and lock it.
      Parameters:
      id - the ID of the entity to find.
      lockModeType - the locking strategy to be used when retrieving the entity.
      Returns:
      the entity found, or null if not found.
    • find

      @GenerateBridge default PanacheQuery<Entity> find(String query, Object... params)
      Find entities using a query, with optional indexed parameters.
      Parameters:
      query - a query string
      params - optional sequence of indexed parameters
      Returns:
      a new PanacheQuery instance for the given query
      See Also:
    • find

      @GenerateBridge default PanacheQuery<Entity> find(String query, io.quarkus.panache.common.Sort sort, Object... params)
      Find entities using a query and the given sort options, with optional indexed parameters.
      Parameters:
      query - a query string
      sort - the sort strategy to use
      params - optional sequence of indexed parameters
      Returns:
      a new PanacheQuery instance for the given query
      See Also:
    • find

      @GenerateBridge default PanacheQuery<Entity> find(String query, Map<String,Object> params)
      Find entities using a query, with named parameters.
      Parameters:
      query - a query string
      params - Map of named parameters
      Returns:
      a new PanacheQuery instance for the given query
      See Also:
    • find

      @GenerateBridge default PanacheQuery<Entity> find(String query, io.quarkus.panache.common.Sort sort, Map<String,Object> params)
      Find entities using a query and the given sort options, with named parameters.
      Parameters:
      query - a query string
      sort - the sort strategy to use
      params - Map of indexed parameters
      Returns:
      a new PanacheQuery instance for the given query
      See Also:
    • find

      @Deprecated(since="3.34") @GenerateBridge default PanacheQuery<Entity> find(String query, io.quarkus.panache.common.Parameters params)
      Deprecated.
      Find entities using a query, with named parameters.
      Parameters:
      query - a query string
      params - Parameters of named parameters
      Returns:
      a new PanacheQuery instance for the given query
      See Also:
    • find

      @Deprecated(since="3.34") @GenerateBridge default PanacheQuery<Entity> find(String query, io.quarkus.panache.common.Sort sort, io.quarkus.panache.common.Parameters params)
      Deprecated.
      Find entities using a query and the given sort options, with named parameters.
      Parameters:
      query - a query string
      sort - the sort strategy to use
      params - Parameters of indexed parameters
      Returns:
      a new PanacheQuery instance for the given query
      See Also:
    • findAll

      @GenerateBridge default PanacheQuery<Entity> findAll()
      Find all entities of this type.
      Returns:
      a new PanacheQuery instance to find all entities of this type.
      See Also:
    • findAll

      @GenerateBridge default PanacheQuery<Entity> findAll(io.quarkus.panache.common.Sort sort)
      Find all entities of this type, in the given order.
      Parameters:
      sort - the sort order to use
      Returns:
      a new PanacheQuery instance to find all entities of this type.
      See Also:
    • list

      @CheckReturnValue @GenerateBridge default io.smallrye.mutiny.Uni<List<Entity>> list(String query, Object... params)
      Find entities matching a query, with optional indexed parameters. This method is a shortcut for find(query, params).list().
      Parameters:
      query - a query string
      params - optional sequence of indexed parameters
      Returns:
      a List containing all results, without paging
      See Also:
    • list

      @CheckReturnValue @GenerateBridge default io.smallrye.mutiny.Uni<List<Entity>> list(String query, io.quarkus.panache.common.Sort sort, Object... params)
      Find entities matching a query and the given sort options, with optional indexed parameters. This method is a shortcut for find(query, sort, params).list().
      Parameters:
      query - a query string
      sort - the sort strategy to use
      params - optional sequence of indexed parameters
      Returns:
      a List containing all results, without paging
      See Also:
    • list

      @CheckReturnValue @GenerateBridge default io.smallrye.mutiny.Uni<List<Entity>> list(String query, Map<String,Object> params)
      Find entities matching a query, with named parameters. This method is a shortcut for find(query, params).list().
      Parameters:
      query - a query string
      params - Map of named parameters
      Returns:
      a List containing all results, without paging
      See Also:
    • list

      @CheckReturnValue @GenerateBridge default io.smallrye.mutiny.Uni<List<Entity>> list(String query, io.quarkus.panache.common.Sort sort, Map<String,Object> params)
      Find entities matching a query and the given sort options, with named parameters. This method is a shortcut for find(query, sort, params).list().
      Parameters:
      query - a query string
      sort - the sort strategy to use
      params - Map of indexed parameters
      Returns:
      a List containing all results, without paging
      See Also:
    • list

      @Deprecated(since="3.34") @CheckReturnValue @GenerateBridge default io.smallrye.mutiny.Uni<List<Entity>> list(String query, io.quarkus.panache.common.Parameters params)
      Deprecated.
      Find entities matching a query, with named parameters. This method is a shortcut for find(query, params).list().
      Parameters:
      query - a query string
      params - Parameters of named parameters
      Returns:
      a List containing all results, without paging
      See Also:
    • list

      @Deprecated(since="3.34") @CheckReturnValue @GenerateBridge default io.smallrye.mutiny.Uni<List<Entity>> list(String query, io.quarkus.panache.common.Sort sort, io.quarkus.panache.common.Parameters params)
      Deprecated.
      Find entities matching a query and the given sort options, with named parameters. This method is a shortcut for find(query, sort, params).list().
      Parameters:
      query - a query string
      sort - the sort strategy to use
      params - Parameters of indexed parameters
      Returns:
      a List containing all results, without paging
      See Also:
    • listAll

      @CheckReturnValue @GenerateBridge default io.smallrye.mutiny.Uni<List<Entity>> listAll()
      Find all entities of this type. This method is a shortcut for findAll().list().
      Returns:
      a List containing all results, without paging
      See Also:
    • listAll

      @CheckReturnValue @GenerateBridge default io.smallrye.mutiny.Uni<List<Entity>> listAll(io.quarkus.panache.common.Sort sort)
      Find all entities of this type, in the given order. This method is a shortcut for findAll(sort).list().
      Parameters:
      sort - the sort order to use
      Returns:
      a List containing all results, without paging
      See Also:
    • count

      @CheckReturnValue @GenerateBridge default io.smallrye.mutiny.Uni<Long> count()
      Counts the number of this type of entity in the database.
      Returns:
      the number of this type of entity in the database.
      See Also:
    • count

      @CheckReturnValue @GenerateBridge default io.smallrye.mutiny.Uni<Long> count(String query, Object... params)
      Counts the number of this type of entity matching the given query, with optional indexed parameters.
      Parameters:
      query - a query string
      params - optional sequence of indexed parameters
      Returns:
      the number of entities counted.
      See Also:
    • count

      @CheckReturnValue @GenerateBridge default io.smallrye.mutiny.Uni<Long> count(String query, Map<String,Object> params)
      Counts the number of this type of entity matching the given query, with named parameters.
      Parameters:
      query - a query string
      params - Map of named parameters
      Returns:
      the number of entities counted.
      See Also:
    • count

      @Deprecated(since="3.34") @CheckReturnValue @GenerateBridge default io.smallrye.mutiny.Uni<Long> count(String query, io.quarkus.panache.common.Parameters params)
      Deprecated.
      Counts the number of this type of entity matching the given query, with named parameters.
      Parameters:
      query - a query string
      params - Parameters of named parameters
      Returns:
      the number of entities counted.
      See Also:
    • deleteAll

      @CheckReturnValue @GenerateBridge default io.smallrye.mutiny.Uni<Long> deleteAll()
      Delete all entities of this type from the database. WARNING: the default implementation of this method uses a bulk delete query and ignores cascading rules from the JPA model.
      Returns:
      the number of entities deleted.
      See Also:
    • deleteById

      @CheckReturnValue @GenerateBridge default io.smallrye.mutiny.Uni<Boolean> deleteById(Id id)
      Delete an entity of this type by ID.
      Parameters:
      id - the ID of the entity to delete.
      Returns:
      false if the entity was not deleted (not found).
    • delete

      @CheckReturnValue @GenerateBridge default io.smallrye.mutiny.Uni<Long> delete(String query, Object... params)
      Delete all entities of this type matching the given query, with optional indexed parameters. WARNING: the default implementation of this method uses a bulk delete query and ignores cascading rules from the JPA model.
      Parameters:
      query - a query string
      params - optional sequence of indexed parameters
      Returns:
      the number of entities deleted.
      See Also:
    • delete

      @CheckReturnValue @GenerateBridge default io.smallrye.mutiny.Uni<Long> delete(String query, Map<String,Object> params)
      Delete all entities of this type matching the given query, with named parameters. WARNING: the default implementation of this method uses a bulk delete query and ignores cascading rules from the JPA model.
      Parameters:
      query - a query string
      params - Map of named parameters
      Returns:
      the number of entities deleted.
      See Also:
    • delete

      @Deprecated(since="3.34") @CheckReturnValue @GenerateBridge default io.smallrye.mutiny.Uni<Long> delete(String query, io.quarkus.panache.common.Parameters params)
      Deprecated.
      Delete all entities of this type matching the given query, with named parameters. WARNING: the default implementation of this method uses a bulk delete query and ignores cascading rules from the JPA model.
      Parameters:
      query - a query string
      params - Parameters of named parameters
      Returns:
      the number of entities deleted.
      See Also:
    • persist

      @CheckReturnValue default io.smallrye.mutiny.Uni<Void> persist(Iterable<Entity> entities)
      Persist all given entities.
      Parameters:
      entities - the entities to persist
      Returns:
      See Also:
    • persist

      @CheckReturnValue default io.smallrye.mutiny.Uni<Void> persist(Stream<Entity> entities)
      Persist all given entities.
      Parameters:
      entities - the entities to persist
      Returns:
      See Also:
    • persist

      @CheckReturnValue default io.smallrye.mutiny.Uni<Void> persist(Entity firstEntity, Entity... entities)
      Persist all given entities.
      Parameters:
      entities - the entities to persist
      Returns:
      See Also:
    • update

      @CheckReturnValue @GenerateBridge default io.smallrye.mutiny.Uni<Integer> update(String query, Object... params)
      Update all entities of this type matching the given query, with optional indexed parameters.
      Parameters:
      query - a query string
      params - optional sequence of indexed parameters
      Returns:
      the number of entities updated.
      See Also:
    • update

      @CheckReturnValue @GenerateBridge default io.smallrye.mutiny.Uni<Integer> update(String query, Map<String,Object> params)
      Update all entities of this type matching the given query, with named parameters.
      Parameters:
      query - a query string
      params - Map of named parameters
      Returns:
      the number of entities updated.
      See Also:
    • update

      @Deprecated(since="3.34") @CheckReturnValue @GenerateBridge default io.smallrye.mutiny.Uni<Integer> update(String query, io.quarkus.panache.common.Parameters params)
      Deprecated.
      Update all entities of this type matching the given query, with named parameters.
      Parameters:
      query - a query string
      params - Parameters of named parameters
      Returns:
      the number of entities updated.
      See Also: