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 ofId
. Implementing this repository will gain you the exact same useful methods that are onPanacheEntityBase
. Unless you have a custom ID strategy, you should not implement this interface directly but implementPanacheRepository
instead.- Author:
- Stéphane Épardaud
-
-
Method Summary
All Methods Instance Methods Default Methods Deprecated Methods Modifier and Type Method Description default 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
count(String query, Object... params)
Counts the number of this type of entity matching the given query, with optional indexed parameters.default long
count(String query, Map<String,Object> params)
Counts the number of this type of entity matching the given query, with named parameters.default void
delete(Entity entity)
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(String query, Object... params)
Delete all entities of this type matching the given query, with optional indexed parameters.default long
delete(String query, Map<String,Object> params)
Delete all entities of this type matching the given query, with named parameters.default long
deleteAll()
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(String query, Sort sort, Object... params)
Find entities using a query and the given sort options, with optional indexed parameters.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.default PanacheQuery<Entity>
find(String query, Object... params)
Find entities using a query, with optional indexed parameters.default PanacheQuery<Entity>
find(String query, Map<String,Object> params)
Find entities using a query, with named parameters.default PanacheQuery<Entity>
findAll()
Find all entities of this type.default PanacheQuery<Entity>
findAll(Sort sort)
Find all entities of this type, in the given order.default Entity
findById(Id id)
Find an entity of this type by ID.default Entity
findById(Id id, javax.persistence.LockModeType lockModeType)
Find an entity of this type by ID and lock it.default Optional<Entity>
findByIdOptional(Id id)
Find an entity of this type by ID.default Optional<Entity>
findByIdOptional(Id id, javax.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 javax.persistence.EntityManager
getEntityManager()
Returns theEntityManager
for theentity class for extra operations (eg. default javax.persistence.EntityManager
getEntityManager(Class<?> clazz)
Deprecated.usePanache.getEntityManager(Class)
instead to access an entity manager for any entity classdefault boolean
isPersistent(Entity entity)
Returns true if the given entity is persistent in the database.default List<Entity>
list(String query, Parameters params)
Find entities matching a query, with named parameters.default List<Entity>
list(String query, Sort sort, Parameters params)
Find entities matching a query and the given sort options, with named parameters.default List<Entity>
list(String query, Sort sort, Object... params)
Find entities matching a query and the given sort options, with optional indexed parameters.default List<Entity>
list(String query, Sort sort, Map<String,Object> params)
Find entities matching a query and the given sort options, with named parameters.default List<Entity>
list(String query, Object... params)
Find entities matching a query, with optional indexed parameters.default List<Entity>
list(String query, Map<String,Object> params)
Find entities matching a query, with named parameters.default List<Entity>
listAll()
Find all entities of this type.default List<Entity>
listAll(Sort sort)
Find all entities of this type, in the given order.default void
persist(Entity entity)
Persist the given entity in the database, if not already persisted.default void
persist(Entity firstEntity, Entity... entities)
Persist all given entities.default void
persist(Iterable<Entity> entities)
Persist all given entities.default void
persist(Stream<Entity> entities)
Persist all given entities.default void
persistAndFlush(Entity entity)
Persist the given entity in the database, if not already persisted.default Stream<Entity>
stream(String query, Parameters params)
Find entities matching a query, with named parameters.default Stream<Entity>
stream(String query, Sort sort, Parameters params)
Find entities matching a query and the given sort options, with named parameters.default Stream<Entity>
stream(String query, Sort sort, Object... params)
Find entities matching a query and the given sort options, with optional indexed parameters.default Stream<Entity>
stream(String query, Sort sort, Map<String,Object> params)
Find entities matching a query and the given sort options, with named parameters.default Stream<Entity>
stream(String query, Object... params)
Find entities matching a query, with optional indexed parameters.default Stream<Entity>
stream(String query, Map<String,Object> params)
Find entities matching a query, with named parameters.default Stream<Entity>
streamAll()
Find all entities of this type, in the given order.default Stream<Entity>
streamAll(Sort sort)
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(String query, Object... params)
Update all entities of this type matching the given query, with optional indexed parameters.default int
update(String query, Map<String,Object> params)
Update all entities of this type matching the given query, with named parameters.
-
-
-
Method Detail
-
getEntityManager
@GenerateBridge default javax.persistence.EntityManager getEntityManager()
Returns theEntityManager
for theentity class for extra operations (eg. CriteriaQueries) - Returns:
- the
EntityManager
for theentity class
-
getEntityManager
@GenerateBridge(ignoreEntityTypeParam=true) @Deprecated default javax.persistence.EntityManager getEntityManager(Class<?> clazz)
Deprecated.usePanache.getEntityManager(Class)
instead to access an entity manager for any entity classReturns theEntityManager
tied to the given class for extra operations (eg. CriteriaQueries)- Returns:
- the
EntityManager
tied to the given class
-
persist
default void persist(Entity entity)
Persist the given entity in the database, if not already persisted.- Parameters:
entity
- the entity to persist.- See Also:
isPersistent(Object)
,persist(Iterable)
,persist(Stream)
,persist(Object, Object...)
-
persistAndFlush
default void 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.- See Also:
isPersistent(Object)
,persist(Iterable)
,persist(Stream)
,persist(Object, Object...)
-
delete
default void delete(Entity entity)
Delete the given entity from the database, if it is already persisted.- Parameters:
entity
- the entity to delete.- See Also:
isPersistent(Object)
,delete(String, Object...)
,delete(String, Map)
,delete(String, Parameters)
,deleteAll()
-
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
default void flush()
Flushes all pending changes to the database using the EntityManager for theentity class.
-
findById
@GenerateBridge(targetReturnTypeErased=true) default 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
@GenerateBridge(targetReturnTypeErased=true) default Entity findById(Id id, javax.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
@GenerateBridge default Optional<Entity> findByIdOptional(Id id)
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, javax.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
@GenerateBridge default PanacheQuery<Entity> find(String query, Object... params)
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(String, Sort, Object...)
,find(String, Map)
,find(String, Parameters)
,list(String, Object...)
,stream(String, Object...)
-
find
@GenerateBridge default PanacheQuery<Entity> find(String query, Sort sort, Object... params)
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(String, Object...)
,find(String, Sort, Map)
,find(String, Sort, Parameters)
,list(String, Sort, Object...)
,stream(String, Sort, Object...)
-
find
@GenerateBridge default PanacheQuery<Entity> find(String query, Map<String,Object> params)
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(String, Sort, Map)
,find(String, Object...)
,find(String, Parameters)
,list(String, Map)
,stream(String, Map)
-
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(String, Map)
,find(String, Sort, Object...)
,find(String, Sort, Parameters)
,list(String, Sort, Map)
,stream(String, Sort, Map)
-
find
@GenerateBridge default PanacheQuery<Entity> find(String query, Parameters params)
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(String, Sort, Parameters)
,find(String, Map)
,find(String, Parameters)
,list(String, Parameters)
,stream(String, Parameters)
-
find
@GenerateBridge default PanacheQuery<Entity> find(String query, Sort sort, Parameters params)
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:
find(String, Parameters)
,find(String, Sort, Map)
,find(String, Sort, Parameters)
,list(String, Sort, Parameters)
,stream(String, Sort, Parameters)
-
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(Sort)
,listAll()
,streamAll()
-
findAll
@GenerateBridge default PanacheQuery<Entity> findAll(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:
findAll()
,listAll(Sort)
,streamAll(Sort)
-
list
@GenerateBridge default List<Entity> list(String query, Object... params)
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(String, Sort, Object...)
,list(String, Map)
,list(String, Parameters)
,find(String, Object...)
,stream(String, Object...)
-
list
@GenerateBridge default List<Entity> list(String query, Sort sort, Object... params)
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(String, Object...)
,list(String, Sort, Map)
,list(String, Sort, Parameters)
,find(String, Sort, Object...)
,stream(String, Sort, Object...)
-
list
@GenerateBridge default List<Entity> list(String query, Map<String,Object> params)
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(String, Sort, Map)
,list(String, Object...)
,list(String, Parameters)
,find(String, Map)
,stream(String, Map)
-
list
@GenerateBridge default List<Entity> list(String query, Sort sort, Map<String,Object> params)
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(String, Map)
,list(String, Sort, Object...)
,list(String, Sort, Parameters)
,find(String, Sort, Map)
,stream(String, Sort, Map)
-
list
@GenerateBridge default List<Entity> list(String query, Parameters params)
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(String, Sort, Parameters)
,list(String, Object...)
,list(String, Map)
,find(String, Parameters)
,stream(String, Parameters)
-
list
@GenerateBridge default List<Entity> list(String query, Sort sort, Parameters params)
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:
list(String, Parameters)
,list(String, Sort, Object...)
,list(String, Sort, Map)
,find(String, Sort, Parameters)
,stream(String, Sort, Parameters)
-
listAll
@GenerateBridge default List<Entity> 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(Sort)
,findAll()
,streamAll()
-
listAll
@GenerateBridge default List<Entity> listAll(Sort sort)
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:
listAll()
,findAll(Sort)
,streamAll(Sort)
-
stream
@GenerateBridge default Stream<Entity> stream(String query, Object... params)
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(String, Sort, Object...)
,stream(String, Map)
,stream(String, Parameters)
,find(String, Object...)
,list(String, Object...)
-
stream
@GenerateBridge default Stream<Entity> stream(String query, Sort sort, Object... params)
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(String, Object...)
,stream(String, Sort, Map)
,stream(String, Sort, Parameters)
,find(String, Sort, Object...)
,list(String, Sort, Object...)
-
stream
@GenerateBridge default Stream<Entity> stream(String query, Map<String,Object> params)
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(String, Sort, Map)
,stream(String, Object...)
,stream(String, Parameters)
,find(String, Map)
,list(String, Map)
-
stream
@GenerateBridge default Stream<Entity> stream(String query, Sort sort, Map<String,Object> params)
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(String, Map)
,stream(String, Sort, Object...)
,stream(String, Sort, Parameters)
,find(String, Sort, Map)
,list(String, Sort, Map)
-
stream
@GenerateBridge default Stream<Entity> stream(String query, Parameters params)
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(String, Sort, Parameters)
,stream(String, Object...)
,stream(String, Map)
,find(String, Parameters)
,list(String, Parameters)
-
stream
@GenerateBridge default Stream<Entity> stream(String query, Sort sort, Parameters params)
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:
stream(String, Parameters)
,stream(String, Sort, Object...)
,stream(String, Sort, Map)
,find(String, Sort, Parameters)
,list(String, Sort, Parameters)
-
streamAll
@GenerateBridge default Stream<Entity> streamAll(Sort sort)
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(Sort)
,findAll()
,listAll()
-
streamAll
@GenerateBridge default Stream<Entity> 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:
streamAll()
,findAll(Sort)
,listAll(Sort)
-
count
@GenerateBridge default 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(String, Object...)
,count(String, Map)
,count(String, Parameters)
-
count
@GenerateBridge default long count(String query, Object... params)
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()
,count(String, Map)
,count(String, Parameters)
-
count
@GenerateBridge default 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
- aquery string
params
-Map
of named parameters- Returns:
- the number of entities counted.
- See Also:
count()
,count(String, Object...)
,count(String, Parameters)
-
count
@GenerateBridge default long count(String query, Parameters params)
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:
count()
,count(String, Object...)
,count(String, Map)
-
deleteAll
@GenerateBridge default 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:
delete(String, Object...)
,delete(String, Map)
,delete(String, Parameters)
-
deleteById
@GenerateBridge default 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
@GenerateBridge default 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
- aquery string
params
- optional sequence of indexed parameters- Returns:
- the number of entities deleted.
- See Also:
deleteAll()
,delete(String, Map)
,delete(String, Parameters)
-
delete
@GenerateBridge default 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
- aquery string
params
-Map
of named parameters- Returns:
- the number of entities deleted.
- See Also:
deleteAll()
,delete(String, Object...)
,delete(String, Parameters)
-
delete
@GenerateBridge default long delete(String query, Parameters 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
- aquery string
params
-Parameters
of named parameters- Returns:
- the number of entities deleted.
- See Also:
deleteAll()
,delete(String, Object...)
,delete(String, Map)
-
persist
default void persist(Iterable<Entity> entities)
Persist all given entities.- Parameters:
entities
- the entities to persist- See Also:
persist(Object)
,persist(Stream)
,persist(Object,Object...)
-
persist
default void persist(Stream<Entity> entities)
Persist all given entities.- Parameters:
entities
- the entities to persist- See Also:
persist(Object)
,persist(Iterable)
,persist(Object,Object...)
-
persist
default void persist(Entity firstEntity, Entity... entities)
Persist all given entities.- Parameters:
entities
- the entities to persist- See Also:
persist(Object)
,persist(Stream)
,persist(Iterable)
-
update
@GenerateBridge default int update(String query, Object... params)
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(String, Map)
,update(String, Parameters)
-
update
@GenerateBridge default int update(String query, Map<String,Object> params)
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(String, Object...)
,update(String, Parameters)
-
update
@GenerateBridge default int update(String query, Parameters params)
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:
update(String, Object...)
,update(String, Map)
-
-