Package io.quarkus.hibernate.orm.panache
Interface PanacheRepositoryBase<Entity,Id>
- Type Parameters:
Entity
- The type of entity to operate onId
- 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 TypeMethodDescriptiondefault long
count()
Counts the number of this type of entity in the database.default long
count
(String query, Parameters params) Counts the number of this type of entity matching the given query, with named parameters.default long
Counts the number of this type of entity matching the given query, with optional indexed parameters.default long
Counts the number of this type of entity matching the given query, with named parameters.default void
Delete the given entity from the database, if it is already persisted.default long
delete
(String query, Parameters params) Delete all entities of this type matching the given query, with named parameters.default long
Delete all entities of this type matching the given query, with optional indexed parameters.default long
Delete all entities of this type matching the given query, with named parameters.default long
Delete all entities of this type from the database.default boolean
deleteById
(Id id) Delete an entity of this type by ID.default PanacheQuery<Entity>
find
(String query, Parameters params) Find entities using a query, with named parameters.default PanacheQuery<Entity>
find
(String query, Sort sort, Parameters params) Find entities using a query and the given sort options, with named parameters.default PanacheQuery<Entity>
Find entities using a query and the given sort options, with optional indexed parameters.default PanacheQuery<Entity>
Find entities using a query and the given sort options, with named parameters.default PanacheQuery<Entity>
Find entities using a query, with optional indexed parameters.default PanacheQuery<Entity>
Find entities using a query, with named parameters.default PanacheQuery<Entity>
findAll()
Find all entities of this type.default PanacheQuery<Entity>
Find all entities of this type, in the given order.default Entity
Find an entity of this type by ID.default Entity
Find an entity of this type by ID and lock it.findByIdOptional
(Id id) Find an entity of this type by ID.findByIdOptional
(Id id, jakarta.persistence.LockModeType lockModeType) Find an entity of this type by ID.default void
flush()
Flushes all pending changes to the database using the EntityManager for theentity class. default jakarta.persistence.EntityManager
Returns theEntityManager
for theentity class for extra operations (eg. default boolean
isPersistent
(Entity entity) Returns true if the given entity is persistent in the database.list
(String query, Parameters params) Find entities matching a query, with named parameters.list
(String query, Sort sort, Parameters params) Find entities matching a query and the given sort options, with named parameters.Find entities matching a query and the given sort options, with optional indexed parameters.Find entities matching a query and the given sort options, with named parameters.Find entities matching a query, with optional indexed parameters.Find entities matching a query, with named parameters.listAll()
Find all entities of this type.Find all entities of this type, in the given order.default void
Persist the given entity in the database, if not already persisted.default void
Persist all given entities.default void
Persist all given entities.default void
Persist all given entities.default void
persistAndFlush
(Entity entity) Persist the given entity in the database, if not already persisted.stream
(String query, Parameters params) Find entities matching a query, with named parameters.stream
(String query, Sort sort, Parameters params) Find entities matching a query and the given sort options, with named parameters.Find entities matching a query and the given sort options, with optional indexed parameters.Find entities matching a query and the given sort options, with named parameters.Find entities matching a query, with optional indexed parameters.Find entities matching a query, with named parameters.Find all entities of this type, in the given order.Find all entities of this type.default int
update
(String query, Parameters params) Update all entities of this type matching the given query, with named parameters.default int
Update all entities of this type matching the given query, with optional indexed parameters.default int
Update all entities of this type matching the given query, with named parameters.
-
Method Details
-
getEntityManager
Returns theEntityManager
for theentity class for extra operations (eg. CriteriaQueries) - Returns:
- the
EntityManager
for theentity class
-
persist
Persist the given entity in the database, if not already persisted.- Parameters:
entity
- the entity to persist.- See Also:
-
persistAndFlush
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.- See Also:
-
delete
Delete the given entity from the database, if it is already persisted.- Parameters:
entity
- the entity to delete.- See Also:
-
isPersistent
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
default void flush()Flushes all pending changes to the database using the EntityManager for theentity class. -
findById
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
@GenerateBridge(targetReturnTypeErased=true) default 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.
-
findByIdOptional
Find an entity of this type by ID.- Parameters:
id
- the ID of the entity to find.- Returns:
- if found, an optional containing the entity, else
Optional.empty()
.
-
findByIdOptional
@GenerateBridge default Optional<Entity> findByIdOptional(Id id, jakarta.persistence.LockModeType lockModeType) Find an entity of this type by ID.- Parameters:
id
- the ID of the entity to find.- Returns:
- if found, an optional containing the entity, else
Optional.empty()
.
-
find
Find entities using a query, with optional indexed parameters.- Parameters:
query
- aquery string
params
- optional sequence of indexed parameters- Returns:
- a new
PanacheQuery
instance for the given query - See Also:
-
find
Find entities using a query and the given sort options, with optional indexed parameters.- Parameters:
query
- aquery string
sort
- the sort strategy to useparams
- optional sequence of indexed parameters- Returns:
- a new
PanacheQuery
instance for the given query - See Also:
-
find
Find entities using a query, with named parameters.- Parameters:
query
- aquery 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, Sort sort, Map<String, Object> params) Find entities using a query and the given sort options, with named parameters.- Parameters:
query
- aquery string
sort
- the sort strategy to useparams
-Map
of indexed parameters- Returns:
- a new
PanacheQuery
instance for the given query - See Also:
-
find
Find entities using a query, with named parameters.- Parameters:
query
- aquery string
params
-Parameters
of named parameters- Returns:
- a new
PanacheQuery
instance for the given query - See Also:
-
find
Find entities using a query and the given sort options, with named parameters.- Parameters:
query
- aquery string
sort
- the sort strategy to useparams
-Parameters
of indexed parameters- Returns:
- a new
PanacheQuery
instance for the given query - See Also:
-
findAll
Find all entities of this type.- Returns:
- a new
PanacheQuery
instance to find all entities of this type. - See Also:
-
findAll
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
Find entities matching a query, with optional indexed parameters. This method is a shortcut forfind(query, params).list()
.- Parameters:
query
- aquery string
params
- optional sequence of indexed parameters- Returns:
- a
List
containing all results, without paging - See Also:
-
list
Find entities matching a query and the given sort options, with optional indexed parameters. This method is a shortcut forfind(query, sort, params).list()
.- Parameters:
query
- aquery string
sort
- the sort strategy to useparams
- optional sequence of indexed parameters- Returns:
- a
List
containing all results, without paging - See Also:
-
list
Find entities matching a query, with named parameters. This method is a shortcut forfind(query, params).list()
.- Parameters:
query
- aquery string
params
-Map
of named parameters- Returns:
- a
List
containing all results, without paging - See Also:
-
list
Find entities matching a query and the given sort options, with named parameters. This method is a shortcut forfind(query, sort, params).list()
.- Parameters:
query
- aquery string
sort
- the sort strategy to useparams
-Map
of indexed parameters- Returns:
- a
List
containing all results, without paging - See Also:
-
list
Find entities matching a query, with named parameters. This method is a shortcut forfind(query, params).list()
.- Parameters:
query
- aquery string
params
-Parameters
of named parameters- Returns:
- a
List
containing all results, without paging - See Also:
-
list
Find entities matching a query and the given sort options, with named parameters. This method is a shortcut forfind(query, sort, params).list()
.- Parameters:
query
- aquery string
sort
- the sort strategy to useparams
-Parameters
of indexed parameters- Returns:
- a
List
containing all results, without paging - See Also:
-
listAll
Find all entities of this type. This method is a shortcut forfindAll().list()
.- Returns:
- a
List
containing all results, without paging - See Also:
-
listAll
Find all entities of this type, in the given order. This method is a shortcut forfindAll(sort).list()
.- Parameters:
sort
- the sort order to use- Returns:
- a
List
containing all results, without paging - See Also:
-
stream
Find entities matching a query, with optional indexed parameters. This method is a shortcut forfind(query, params).stream()
. It requires a transaction to work. Without a transaction, the underlying cursor can be closed before the end of the stream.- Parameters:
query
- aquery string
params
- optional sequence of indexed parameters- Returns:
- a
Stream
containing all results, without paging - See Also:
-
stream
Find entities matching a query and the given sort options, with optional indexed parameters. This method is a shortcut forfind(query, sort, params).stream()
. It requires a transaction to work. Without a transaction, the underlying cursor can be closed before the end of the stream.- Parameters:
query
- aquery string
sort
- the sort strategy to useparams
- optional sequence of indexed parameters- Returns:
- a
Stream
containing all results, without paging - See Also:
-
stream
Find entities matching a query, with named parameters. This method is a shortcut forfind(query, params).stream()
. It requires a transaction to work. Without a transaction, the underlying cursor can be closed before the end of the stream.- Parameters:
query
- aquery string
params
-Map
of named parameters- Returns:
- a
Stream
containing all results, without paging - See Also:
-
stream
Find entities matching a query and the given sort options, with named parameters. This method is a shortcut forfind(query, sort, params).stream()
. It requires a transaction to work. Without a transaction, the underlying cursor can be closed before the end of the stream.- Parameters:
query
- aquery string
sort
- the sort strategy to useparams
-Map
of indexed parameters- Returns:
- a
Stream
containing all results, without paging - See Also:
-
stream
Find entities matching a query, with named parameters. This method is a shortcut forfind(query, params).stream()
. It requires a transaction to work. Without a transaction, the underlying cursor can be closed before the end of the stream.- Parameters:
query
- aquery string
params
-Parameters
of named parameters- Returns:
- a
Stream
containing all results, without paging - See Also:
-
stream
Find entities matching a query and the given sort options, with named parameters. This method is a shortcut forfind(query, sort, params).stream()
. It requires a transaction to work. Without a transaction, the underlying cursor can be closed before the end of the stream.- Parameters:
query
- aquery string
sort
- the sort strategy to useparams
-Parameters
of indexed parameters- Returns:
- a
Stream
containing all results, without paging - See Also:
-
streamAll
Find all entities of this type. This method is a shortcut forfindAll().stream()
. It requires a transaction to work. Without a transaction, the underlying cursor can be closed before the end of the stream.- Returns:
- a
Stream
containing all results, without paging - See Also:
-
streamAll
Find all entities of this type, in the given order. This method is a shortcut forfindAll().stream()
. It requires a transaction to work. Without a transaction, the underlying cursor can be closed before the end of the stream.- Returns:
- a
Stream
containing all results, without paging - See Also:
-
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
Counts the number of this type of entity matching the given query, with optional indexed parameters.- Parameters:
query
- aquery string
params
- optional sequence of indexed parameters- Returns:
- the number of entities counted.
- See Also:
-
count
Counts the number of this type of entity matching the given query, with named parameters.- Parameters:
query
- aquery string
params
-Map
of named parameters- Returns:
- the number of entities counted.
- See Also:
-
count
Counts the number of this type of entity matching the given query, with named parameters.- Parameters:
query
- aquery string
params
-Parameters
of named parameters- Returns:
- the number of entities counted.
- See Also:
-
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
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
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
- aquery string
params
- optional sequence of indexed parameters- Returns:
- the number of entities deleted.
- See Also:
-
delete
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
- aquery string
params
-Map
of named parameters- Returns:
- the number of entities deleted.
- See Also:
-
delete
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
- aquery string
params
-Parameters
of named parameters- Returns:
- the number of entities deleted.
- See Also:
-
persist
Persist all given entities.- Parameters:
entities
- the entities to persist- See Also:
-
persist
Persist all given entities.- Parameters:
entities
- the entities to persist- See Also:
-
persist
Persist all given entities.- Parameters:
entities
- the entities to persist- See Also:
-
update
Update all entities of this type matching the given query, with optional indexed parameters.- Parameters:
query
- aquery string
params
- optional sequence of indexed parameters- Returns:
- the number of entities updated.
- See Also:
-
update
Update all entities of this type matching the given query, with named parameters.- Parameters:
query
- aquery string
params
-Map
of named parameters- Returns:
- the number of entities updated.
- See Also:
-
update
Update all entities of this type matching the given query, with named parameters.- Parameters:
query
- aquery string
params
-Parameters
of named parameters- Returns:
- the number of entities updated.
- See Also:
-