Interface Database
-
public interface DatabaseManages interactions with the database.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidconfigure()Initializes the database.reactor.core.publisher.Mono<Void>delete(Object obj)Deletes an object from database<T,K extends Serializable>
reactor.core.publisher.Mono<T>findByID(Class<T> entityClass, K key)Allows to find a database entity by its ID.<T,K extends Serializable>
reactor.core.publisher.Mono<T>findByIDOrCreate(Class<T> entityClass, K key, java.util.function.BiConsumer<? super T,K> keySetter)Allows to find a database entity by its ID.<T> reactor.core.publisher.Flux<T>query(Class<T> entityClass, String query, Object... params)Makes a simple query to the database.reactor.core.publisher.Mono<Void>save(Object obj)Saves an object in database
-
-
-
Method Detail
-
configure
void configure()
Initializes the database.
-
findByID
<T,K extends Serializable> reactor.core.publisher.Mono<T> findByID(Class<T> entityClass, K key)
Allows to find a database entity by its ID.- Type Parameters:
T- The entity typeK- the ID type- Parameters:
entityClass- class of the entitykey- the ID- Returns:
- a Mono emitting the entity, if found
-
findByIDOrCreate
<T,K extends Serializable> reactor.core.publisher.Mono<T> findByIDOrCreate(Class<T> entityClass, K key, java.util.function.BiConsumer<? super T,K> keySetter)
Allows to find a database entity by its ID. If not found, a new entity is created- Type Parameters:
T- The entity typeK- the ID type- Parameters:
entityClass- class of the entitykey- the IDkeySetter- the biconsumer that assigns the ID to the newly created entity- Returns:
- a Mono emitting the entity, if found
-
query
<T> reactor.core.publisher.Flux<T> query(Class<T> entityClass, String query, Object... params)
Makes a simple query to the database.- Type Parameters:
T- the entity type- Parameters:
entityClass- the entity type to fetchquery- the HQL queryparams- the query params- Returns:
- a Flux emitting the results of the query
-
save
reactor.core.publisher.Mono<Void> save(Object obj)
Saves an object in database- Parameters:
obj- the object to save- Returns:
- a Mono that completes when it has saved
-
-