Package io.quarkus.mongodb.panache
Class PanacheMongoEntityBase
java.lang.Object
io.quarkus.mongodb.panache.PanacheMongoEntityBase
- Direct Known Subclasses:
PanacheMongoEntity
Represents an entity. If your Mongo entities extend this class they gain auto-generated accessors
to all their public fields, as well as a lot of useful methods. Unless you have a custom ID strategy, you
should not extend this class directly but extend
PanacheMongoEntity
instead.- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic long
count()
Counts the number of this type of entity in the database.static long
count
(String query, Parameters params) Counts the number of this type of entity matching the given query, with named parameters.static long
Counts the number of this type of entity matching the given query, with optional indexed parameters.static long
Counts the number of this type of entity matching the given query, with named parameters.static long
count
(org.bson.conversions.Bson query) Counts the number of this type of entity matching the given queryvoid
delete()
Delete this entity from the database, if it is already persisted.static long
delete
(String query, Parameters params) Delete all entities of this type matching the given query, with named parameters.static long
Delete all entities of this type matching the given query, with optional indexed parameters.static long
Delete all entities of this type matching the given query, with named parameters.static long
delete
(org.bson.conversions.Bson query) Delete all entities of this type matching the given querystatic long
Delete all entities of this type from the database.static boolean
deleteById
(Object id) Delete an entity of this type by ID.static <T extends PanacheMongoEntityBase>
PanacheQuery<T>find
(String query, Parameters params) Find entities using a query, with named parameters.static <T extends PanacheMongoEntityBase>
PanacheQuery<T>find
(String query, Sort sort, Parameters params) Find entities using a query and the given sort options, with named parameters.static <T extends PanacheMongoEntityBase>
PanacheQuery<T>Find entities using a query and the given sort options, with optional indexed parameters.static <T extends PanacheMongoEntityBase>
PanacheQuery<T>Find entities using a query and the given sort options, with named parameters.static <T extends PanacheMongoEntityBase>
PanacheQuery<T>Find entities using a query, with optional indexed parameters.static <T extends PanacheMongoEntityBase>
PanacheQuery<T>Find entities using a query, with named parameters.static <T extends PanacheMongoEntityBase>
PanacheQuery<T>find
(org.bson.conversions.Bson query) Find entities using a BSON query.static <T extends PanacheMongoEntityBase>
PanacheQuery<T>find
(org.bson.conversions.Bson query, org.bson.conversions.Bson sort) Find entities using a BSON query and a BSON sort.static <T extends PanacheMongoEntityBase>
PanacheQuery<T>findAll()
Find all entities of this type.static <T extends PanacheMongoEntityBase>
PanacheQuery<T>Find all entities of this type, in the given order.static <T extends PanacheMongoEntityBase>
TFind an entity of this type by ID.static <T extends PanacheMongoEntityBase>
Optional<T>Find an entity of this type by ID.static <T extends PanacheMongoEntityBase>
List<T>list
(String query, Parameters params) Find entities matching a query, with named parameters.static <T extends PanacheMongoEntityBase>
List<T>list
(String query, Sort sort, Parameters params) Find entities matching a query and the given sort options, with named parameters.static <T extends PanacheMongoEntityBase>
List<T>Find entities matching a query and the given sort options, with optional indexed parameters.static <T extends PanacheMongoEntityBase>
List<T>Find entities matching a query and the given sort options, with named parameters.static <T extends PanacheMongoEntityBase>
List<T>Find entities matching a query, with optional indexed parameters.static <T extends PanacheMongoEntityBase>
List<T>Find entities matching a query, with named parameters.static <T extends PanacheMongoEntityBase>
List<T>list
(org.bson.conversions.Bson query) Find entities using a BSON query.static <T extends PanacheMongoEntityBase>
List<T>list
(org.bson.conversions.Bson query, org.bson.conversions.Bson sort) Find entities using a BSON query and a BSON sort.static <T extends PanacheMongoEntityBase>
List<T>listAll()
Find all entities of this type.static <T extends PanacheMongoEntityBase>
List<T>Find all entities of this type, in the given order.static <T extends PanacheMongoEntityBase>
com.mongodb.client.MongoCollection<T>Allow to access the underlying Mongo Collection.static com.mongodb.client.MongoDatabase
Allow to access the underlying Mongo Database.void
persist()
Persist this entity in the database.static void
Insert all given entities.static void
Insert all given entities.static void
Insert all given entities.void
Persist this entity in the database or update it if it already exists.static void
persistOrUpdate
(Iterable<?> entities) Persist all given entities or update them if they already exist.static void
persistOrUpdate
(Object firstEntity, Object... entities) Persist all given entities.static void
persistOrUpdate
(Stream<?> entities) Persist all given entities.static <T extends PanacheMongoEntityBase>
Stream<T>stream
(String query, Parameters params) Find entities matching a query, with named parameters.static <T extends PanacheMongoEntityBase>
Stream<T>stream
(String query, Sort sort, Parameters params) Find entities matching a query and the given sort options, with named parameters.static <T extends PanacheMongoEntityBase>
Stream<T>Find entities matching a query and the given sort options, with optional indexed parameters.static <T extends PanacheMongoEntityBase>
Stream<T>Find entities matching a query and the given sort options, with named parameters.static <T extends PanacheMongoEntityBase>
Stream<T>Find entities matching a query, with optional indexed parameters.static <T extends PanacheMongoEntityBase>
Stream<T>Find entities matching a query, with named parameters.static <T extends PanacheMongoEntityBase>
Stream<T>stream
(org.bson.conversions.Bson query) Find entities using a BSON query.static <T extends PanacheMongoEntityBase>
Stream<T>stream
(org.bson.conversions.Bson query, org.bson.conversions.Bson sort) Find entities using a BSON query and a BSON sort.static <T extends PanacheMongoEntityBase>
Stream<T>Find all entities of this type.static <T extends PanacheMongoEntityBase>
Stream<T>Find all entities of this type, in the given order.void
update()
Update this entity in the database.static void
Update all given entities.static void
Update all given entities.static PanacheUpdate
update
(String update, Parameters params) Update all entities of this type by the given update document, with named parameters.static PanacheUpdate
Update all entities of this type by the given update document, with optional indexed parameters.static PanacheUpdate
Update all entities of this type by the given update document, with named parameters.static void
Update all given entities.static PanacheUpdate
update
(org.bson.conversions.Bson update) Update all entities of this type by the given update BSON document.
-
Constructor Details
-
PanacheMongoEntityBase
public PanacheMongoEntityBase()
-
-
Method Details
-
persist
public void persist()Persist this entity in the database. This will set its ID field if not already set. -
update
public void update()Update this entity in the database. -
persistOrUpdate
public void persistOrUpdate()Persist this entity in the database or update it if it already exists. -
delete
public void delete()Delete this entity from the database, if it is already persisted. -
findById
@GenerateBridge(targetReturnTypeErased=true) public static <T extends PanacheMongoEntityBase> T findById(Object 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.
-
findByIdOptional
@GenerateBridge public static <T extends PanacheMongoEntityBase> Optional<T> findByIdOptional(Object 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()
.
-
find
@GenerateBridge public static <T extends PanacheMongoEntityBase> PanacheQuery<T> 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
@GenerateBridge public static <T extends PanacheMongoEntityBase> PanacheQuery<T> 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
@GenerateBridge public static <T extends PanacheMongoEntityBase> PanacheQuery<T> 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
@GenerateBridge public static <T extends PanacheMongoEntityBase> PanacheQuery<T> 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
@GenerateBridge public static <T extends PanacheMongoEntityBase> PanacheQuery<T> 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
@GenerateBridge public static <T extends PanacheMongoEntityBase> PanacheQuery<T> 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
@GenerateBridge public static <T extends PanacheMongoEntityBase> PanacheQuery<T> find(org.bson.conversions.Bson query) Find entities using a BSON query.- Parameters:
query
- aBson
query- Returns:
- a new
PanacheQuery
instance for the given query - See Also:
-
find
@GenerateBridge public static <T extends PanacheMongoEntityBase> PanacheQuery<T> find(org.bson.conversions.Bson query, org.bson.conversions.Bson sort) Find entities using a BSON query and a BSON sort.- Parameters:
query
- aBson
querysort
- theBson
sort- 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
@GenerateBridge public static <T extends PanacheMongoEntityBase> List<T> 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
@GenerateBridge public static <T extends PanacheMongoEntityBase> List<T> 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
@GenerateBridge public static <T extends PanacheMongoEntityBase> List<T> 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
@GenerateBridge public static <T extends PanacheMongoEntityBase> List<T> 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
@GenerateBridge public static <T extends PanacheMongoEntityBase> List<T> 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
@GenerateBridge public static <T extends PanacheMongoEntityBase> List<T> 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
@GenerateBridge public static <T extends PanacheMongoEntityBase> List<T> list(org.bson.conversions.Bson query) Find entities using a BSON query. This method is a shortcut forfind(query).list()
.- Parameters:
query
- aBson
query- Returns:
- a
List
containing all results, without paging - See Also:
-
list
@GenerateBridge public static <T extends PanacheMongoEntityBase> List<T> list(org.bson.conversions.Bson query, org.bson.conversions.Bson sort) Find entities using a BSON query and a BSON sort. This method is a shortcut forfind(query, sort).list()
.- Parameters:
query
- aBson
querysort
- theBson
sort- 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
@GenerateBridge public static <T extends PanacheMongoEntityBase> Stream<T> stream(String query, Object... params) Find entities matching a query, with optional indexed parameters. This method is a shortcut forfind(query, params).stream()
.- Parameters:
query
- aquery string
params
- optional sequence of indexed parameters- Returns:
- a
Stream
containing all results, without paging - See Also:
-
stream
@GenerateBridge public static <T extends PanacheMongoEntityBase> Stream<T> 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()
.- 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
@GenerateBridge public static <T extends PanacheMongoEntityBase> Stream<T> stream(String query, Map<String, Object> params) Find entities matching a query, with named parameters. This method is a shortcut forfind(query, params).stream()
.- Parameters:
query
- aquery string
params
-Map
of named parameters- Returns:
- a
Stream
containing all results, without paging - See Also:
-
stream
@GenerateBridge public static <T extends PanacheMongoEntityBase> Stream<T> 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()
.- 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
@GenerateBridge public static <T extends PanacheMongoEntityBase> Stream<T> stream(String query, Parameters params) Find entities matching a query, with named parameters. This method is a shortcut forfind(query, params).stream()
.- Parameters:
query
- aquery string
params
-Parameters
of named parameters- Returns:
- a
Stream
containing all results, without paging - See Also:
-
stream
@GenerateBridge public static <T extends PanacheMongoEntityBase> Stream<T> 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()
.- 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
@GenerateBridge public static <T extends PanacheMongoEntityBase> Stream<T> stream(org.bson.conversions.Bson query) Find entities using a BSON query. This method is a shortcut forfind(query).stream()
.- Parameters:
query
- aBson
query- Returns:
- a
Stream
containing all results, without paging - See Also:
-
stream
@GenerateBridge public static <T extends PanacheMongoEntityBase> Stream<T> stream(org.bson.conversions.Bson query, org.bson.conversions.Bson sort) Find entities using a BSON query and a BSON sort. This method is a shortcut forfind(query, sort).stream()
.- Parameters:
query
- aBson
querysort
- theBson
sort- Returns:
- a
Stream
containing all results, without paging - See Also:
-
streamAll
Find all entities of this type. This method is a shortcut forfindAll().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(sort).stream()
.- Parameters:
sort
- the sort order to use- 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:
-
count
Counts the number of this type of entity matching the given query- Parameters:
query
- aBson
query- Returns:
- he number of entities counted.
- See Also:
-
deleteAll
Delete all entities of this type from the database.- 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.- 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.- 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.- Parameters:
query
- aquery string
params
-Parameters
of named parameters- Returns:
- the number of entities deleted.
- See Also:
-
delete
Delete all entities of this type matching the given query- Parameters:
query
- aBson
query- Returns:
- he number of entities counted.
- See Also:
-
persist
Insert all given entities.- Parameters:
entities
- the entities to insert- See Also:
-
persist
Insert all given entities.- Parameters:
entities
- the entities to insert- See Also:
-
persist
@GenerateBridge(callSuperMethod=true) public static void persist(Object firstEntity, Object... entities) Insert all given entities.- Parameters:
entities
- the entities to insert- See Also:
-
update
Update all given entities.- Parameters:
entities
- the entities to update- See Also:
-
update
Update all given entities.- Parameters:
entities
- the entities to insert- See Also:
-
update
@GenerateBridge(callSuperMethod=true) public static void update(Object firstEntity, Object... entities) Update all given entities.- Parameters:
entities
- the entities to update- See Also:
-
persistOrUpdate
Persist all given entities or update them if they already exist.- Parameters:
entities
- the entities to update- See Also:
-
persistOrUpdate
Persist all given entities.- Parameters:
entities
- the entities to insert- See Also:
-
persistOrUpdate
@GenerateBridge(callSuperMethod=true) public static void persistOrUpdate(Object firstEntity, Object... entities) Persist all given entities.- Parameters:
entities
- the entities to update- See Also:
-
update
Update all entities of this type by the given update document, with optional indexed parameters. The returnedPanacheUpdate
object will allow to restrict on which document the update should be applied.- Parameters:
update
- the update document, if it didn't contain any update operator, we add$set
.. It can also be expressed as aquery string
.params
- optional sequence of indexed parameters- Returns:
- a new
PanacheUpdate
instance for the given update document - See Also:
-
update
Update all entities of this type by the given update document, with named parameters. The returnedPanacheUpdate
object will allow to restrict on which document the update should be applied.- Parameters:
update
- the update document, if it didn't contain any update operator, we add$set
. It can also be expressed as aquery string
.params
-Map
of named parameters- Returns:
- a new
PanacheUpdate
instance for the given update document - See Also:
-
update
Update all entities of this type by the given update document, with named parameters. The returnedPanacheUpdate
object will allow to restrict on which document the update should be applied.- Parameters:
update
- the update document, if it didn't contain any update operator, we add$set
. It can also be expressed as aquery string
.params
-Parameters
of named parameters- Returns:
- a new
PanacheUpdate
instance for the given update document - See Also:
-
update
Update all entities of this type by the given update BSON document. The returnedPanacheUpdate
object will allow to restrict on which document the update should be applied.- Parameters:
update
- the update document, as aBson
.- Returns:
- a new
PanacheUpdate
instance for the given update document - See Also:
-
mongoCollection
@GenerateBridge public static <T extends PanacheMongoEntityBase> com.mongodb.client.MongoCollection<T> mongoCollection()Allow to access the underlying Mongo Collection. -
mongoDatabase
Allow to access the underlying Mongo Database.
-