Class HibernateJpaOperations
java.lang.Object
io.micronaut.data.hibernate.operations.AbstractHibernateOperations<org.hibernate.Session,jakarta.persistence.Query>
io.micronaut.data.hibernate.operations.HibernateJpaOperations
- All Implemented Interfaces:
io.micronaut.context.ApplicationContextProvider,io.micronaut.core.convert.ConversionServiceProvider,JpaRepositoryOperations,AsyncCapableRepository,HintsCapableRepository,PrimaryRepositoryOperations,ReactiveCapableRepository,RepositoryOperations,PreparedQueryDecorator,StoredQueryDecorator
@EachBean(javax.sql.DataSource.class)
public class HibernateJpaOperations
extends AbstractHibernateOperations<org.hibernate.Session,jakarta.persistence.Query>
implements JpaRepositoryOperations, AsyncCapableRepository, ReactiveCapableRepository
Implementation of the
JpaRepositoryOperations interface for Hibernate.- Since:
- 1.0
- Author:
- graemerocher
-
Nested Class Summary
Nested classes/interfaces inherited from class io.micronaut.data.hibernate.operations.AbstractHibernateOperations
AbstractHibernateOperations.ResultCollector<R> -
Field Summary
Fields inherited from class io.micronaut.data.hibernate.operations.AbstractHibernateOperations
dataConversionService, runtimeEntityRegistry -
Constructor Summary
ConstructorsConstructorDescriptionHibernateJpaOperations(org.hibernate.SessionFactory sessionFactory, TransactionOperations<Connection> transactionOperations, ExecutorService executorService, RuntimeEntityRegistry runtimeEntityRegistry, DataConversionService dataConversionService) Default constructor. -
Method Summary
Modifier and TypeMethodDescriptionasync()<T> longcount(PagedQuery<T> pagedQuery) Counts all results for the given query.protected <T> org.hibernate.graph.RootGraph<T>createEntityGraph(org.hibernate.Session session, Class<T> entityType) Creates an entity graph.protected jakarta.persistence.QuerycreateNativeQuery(org.hibernate.Session session, String query, Class<?> resultType) Create a new native query.protected jakarta.persistence.QuerycreateQuery(org.hibernate.Session session, jakarta.persistence.criteria.CriteriaQuery<?> criteriaQuery) Create a native query.protected jakarta.persistence.QuerycreateQuery(org.hibernate.Session session, String query, Class<?> resultType) Create a new query.<T> intdelete(DeleteOperation<T> operation) Deletes the entity.deleteAll(DeleteBatchOperation<T> operation) Deletes all the entities of the given type.executeUpdate(PreparedQuery<?, Number> preparedQuery) Executes an update for the given query and parameter values.<T> booleanexists(PreparedQuery<T, Boolean> preparedQuery) Execute a query that checks for existence.<T> Iterable<T>findAll(PagedQuery<T> pagedQuery) Finds all results for the given query.<T,R> Iterable<R> findAll(PreparedQuery<T, R> preparedQuery) Finds all results for the given query.<T,R> R findOne(PreparedQuery<T, R> preparedQuery) Find one by Query.<T> TfindOne(Class<T> type, Serializable id) Find one by ID.<R> Page<R>findPage(PagedQuery<R> pagedQuery) Find a page for the given entity and pageable.<T> Stream<T>findStream(PagedQuery<T> pagedQuery) Finds a stream for the given arguments.<T,R> Stream<R> findStream(PreparedQuery<T, R> preparedQuery) Finds all results for the given query.voidflush()Flush the current session.io.micronaut.context.ApplicationContextio.micronaut.core.convert.ConversionServicejakarta.persistence.EntityManager<T> RuntimePersistentEntity<T>Gets the persistence entity.protected <T> org.hibernate.graph.RootGraph<T>getEntityGraph(org.hibernate.Session session, Class<T> entityType, String graphName) Gets an entity graph.jakarta.persistence.EntityManagerFactorygetQueryHints(StoredQuery<?, ?> storedQuery) Obtain any custom query hints for this method and repository implementation.<T> Tload(Class<T> type, Serializable id) Create an uninitialized proxy.<T> Tpersist(InsertOperation<T> operation) Persist the operation returning a possibly new entity.<T> Iterable<T>persistAll(InsertBatchOperation<T> operation) Persist all the given entities.reactive()protected voidSets a hint.protected voidsetMaxResults(jakarta.persistence.Query query, int max) Sets the max results value.protected voidsetOffset(jakarta.persistence.Query query, int offset) Sets the offset value.protected voidsetParameter(jakarta.persistence.Query query, String parameterName, Object value) Sets a parameter into query.protected voidsetParameter(jakarta.persistence.Query query, String parameterName, Object value, io.micronaut.core.type.Argument argument) Sets parameter into query.protected voidsetParameterList(jakarta.persistence.Query query, String parameterName, Collection<Object> value) Sets a list parameter into query.protected voidsetParameterList(jakarta.persistence.Query query, String parameterName, Collection<Object> value, io.micronaut.core.type.Argument argument) Sets a list parameter into query.<T> Tupdate(UpdateOperation<T> operation) Updates the entity for the given operation.<T> Iterable<T>updateAll(UpdateBatchOperation<T> operation) Updates the entities for the given operation.Methods inherited from class io.micronaut.data.hibernate.operations.AbstractHibernateOperations
bindParameters, collectCountOf, collectFindAll, collectFindOne, collectPagedResults, decorate, decorate, getFlushModeType, getParameterValueMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.micronaut.data.operations.RepositoryOperations
executeDelete
-
Constructor Details
-
HibernateJpaOperations
public HibernateJpaOperations(@NonNull @Parameter org.hibernate.SessionFactory sessionFactory, @NonNull @Parameter TransactionOperations<Connection> transactionOperations, @Named("io") @Nullable ExecutorService executorService, RuntimeEntityRegistry runtimeEntityRegistry, DataConversionService dataConversionService) Default constructor.- Parameters:
sessionFactory- The session factorytransactionOperations- The transaction operationsexecutorService- The executor service for I/O tasks to useruntimeEntityRegistry- The runtime entity registrydataConversionService- The data conversion service
-
-
Method Details
-
getEntity
Description copied from class:AbstractHibernateOperationsGets the persistence entity.- Specified by:
getEntityin interfaceRepositoryOperations- Specified by:
getEntityin classAbstractHibernateOperations<org.hibernate.Session,jakarta.persistence.Query> - Type Parameters:
T- The entity type- Parameters:
type- The entity type- Returns:
- The persistent entity
-
getApplicationContext
public io.micronaut.context.ApplicationContext getApplicationContext()- Specified by:
getApplicationContextin interfaceio.micronaut.context.ApplicationContextProvider- Overrides:
getApplicationContextin classAbstractHibernateOperations<org.hibernate.Session,jakarta.persistence.Query> - Returns:
- The application context
-
getConversionService
public io.micronaut.core.convert.ConversionService getConversionService()- Specified by:
getConversionServicein interfaceio.micronaut.core.convert.ConversionServiceProvider- Overrides:
getConversionServicein classAbstractHibernateOperations<org.hibernate.Session,jakarta.persistence.Query> - Returns:
- The conversion service
-
setParameter
Description copied from class:AbstractHibernateOperationsSets a parameter into query.- Specified by:
setParameterin classAbstractHibernateOperations<org.hibernate.Session,jakarta.persistence.Query> - Parameters:
query- The queryparameterName- The parameter namevalue- The value
-
setParameter
protected void setParameter(jakarta.persistence.Query query, String parameterName, Object value, io.micronaut.core.type.Argument argument) Description copied from class:AbstractHibernateOperationsSets parameter into query.- Specified by:
setParameterin classAbstractHibernateOperations<org.hibernate.Session,jakarta.persistence.Query> - Parameters:
query- The queryparameterName- The parameter namevalue- The valueargument- The argument
-
setParameterList
protected void setParameterList(jakarta.persistence.Query query, String parameterName, Collection<Object> value) Description copied from class:AbstractHibernateOperationsSets a list parameter into query.- Specified by:
setParameterListin classAbstractHibernateOperations<org.hibernate.Session,jakarta.persistence.Query> - Parameters:
query- The queryparameterName- The parameter namevalue- The value
-
setParameterList
protected void setParameterList(jakarta.persistence.Query query, String parameterName, Collection<Object> value, io.micronaut.core.type.Argument argument) Description copied from class:AbstractHibernateOperationsSets a list parameter into query.- Specified by:
setParameterListin classAbstractHibernateOperations<org.hibernate.Session,jakarta.persistence.Query> - Parameters:
query- The queryparameterName- The parameter namevalue- The valueargument- The argument
-
setHint
Description copied from class:AbstractHibernateOperationsSets a hint.- Specified by:
setHintin classAbstractHibernateOperations<org.hibernate.Session,jakarta.persistence.Query> - Parameters:
query- The queryhintName- The hint namevalue- The value
-
getEntityGraph
protected <T> org.hibernate.graph.RootGraph<T> getEntityGraph(org.hibernate.Session session, Class<T> entityType, String graphName) Description copied from class:AbstractHibernateOperationsGets an entity graph.- Specified by:
getEntityGraphin classAbstractHibernateOperations<org.hibernate.Session,jakarta.persistence.Query> - Type Parameters:
T- The entity type- Parameters:
session- The sessionentityType- The entity typegraphName- The graph name- Returns:
- The graph
-
createEntityGraph
protected <T> org.hibernate.graph.RootGraph<T> createEntityGraph(org.hibernate.Session session, Class<T> entityType) Description copied from class:AbstractHibernateOperationsCreates an entity graph.- Specified by:
createEntityGraphin classAbstractHibernateOperations<org.hibernate.Session,jakarta.persistence.Query> - Type Parameters:
T- The entityType- Parameters:
session- The sessionentityType- The entityType- Returns:
- The graph
-
createQuery
protected jakarta.persistence.Query createQuery(org.hibernate.Session session, String query, Class<?> resultType) Description copied from class:AbstractHibernateOperationsCreate a new query.- Specified by:
createQueryin classAbstractHibernateOperations<org.hibernate.Session,jakarta.persistence.Query> - Parameters:
session- The sessionquery- The queryresultType- The result type- Returns:
- new query
-
createNativeQuery
protected jakarta.persistence.Query createNativeQuery(org.hibernate.Session session, String query, Class<?> resultType) Description copied from class:AbstractHibernateOperationsCreate a new native query.- Specified by:
createNativeQueryin classAbstractHibernateOperations<org.hibernate.Session,jakarta.persistence.Query> - Parameters:
session- The sessionquery- The queryresultType- The result type- Returns:
- new query
-
createQuery
protected jakarta.persistence.Query createQuery(org.hibernate.Session session, jakarta.persistence.criteria.CriteriaQuery<?> criteriaQuery) Description copied from class:AbstractHibernateOperationsCreate a native query.- Specified by:
createQueryin classAbstractHibernateOperations<org.hibernate.Session,jakarta.persistence.Query> - Parameters:
session- The sessioncriteriaQuery- The criteriaQuery- Returns:
- new query
-
setOffset
protected void setOffset(jakarta.persistence.Query query, int offset) Description copied from class:AbstractHibernateOperationsSets the offset value.- Specified by:
setOffsetin classAbstractHibernateOperations<org.hibernate.Session,jakarta.persistence.Query> - Parameters:
query- The queryoffset- The offset value
-
setMaxResults
protected void setMaxResults(jakarta.persistence.Query query, int max) Description copied from class:AbstractHibernateOperationsSets the max results value.- Specified by:
setMaxResultsin classAbstractHibernateOperations<org.hibernate.Session,jakarta.persistence.Query> - Parameters:
query- The querymax- The max value
-
getQueryHints
Description copied from interface:HintsCapableRepositoryObtain any custom query hints for this method and repository implementation.- Specified by:
getQueryHintsin interfaceHintsCapableRepository- Overrides:
getQueryHintsin classAbstractHibernateOperations<org.hibernate.Session,jakarta.persistence.Query> - Parameters:
storedQuery- The stored query- Returns:
- THe query hints
-
findOne
Description copied from interface:RepositoryOperationsFind one by ID.- Specified by:
findOnein interfaceRepositoryOperations- Type Parameters:
T- The generic type- Parameters:
type- The typeid- The id- Returns:
- A result or null
-
load
Description copied from interface:JpaRepositoryOperationsCreate an uninitialized proxy.- Specified by:
loadin interfaceJpaRepositoryOperations- Type Parameters:
T- the entity type- Parameters:
type- the entity typeid- the entity id- Returns:
- an uninitialized proxy
-
findOne
Description copied from interface:RepositoryOperationsFind one by Query.- Specified by:
findOnein interfaceRepositoryOperations- Type Parameters:
T- The generic resultTypeR- The result type- Parameters:
preparedQuery- The prepared query- Returns:
- A result or null
-
exists
Description copied from interface:RepositoryOperationsExecute a query that checks for existence.- Specified by:
existsin interfaceRepositoryOperations- Type Parameters:
T- The generic resultType- Parameters:
preparedQuery- The prepared query- Returns:
- A result or null
-
findAll
Description copied from interface:RepositoryOperationsFinds all results for the given query.- Specified by:
findAllin interfaceRepositoryOperations- Type Parameters:
T- The generic type- Parameters:
pagedQuery- The root entity- Returns:
- An iterable result
-
findStream
Description copied from interface:RepositoryOperationsFinds a stream for the given arguments.- Specified by:
findStreamin interfaceRepositoryOperations- Type Parameters:
T- The generic type- Parameters:
pagedQuery- The query- Returns:
- The stream
-
findPage
Description copied from interface:RepositoryOperationsFind a page for the given entity and pageable.- Specified by:
findPagein interfaceRepositoryOperations- Type Parameters:
R- The entity generic type- Parameters:
pagedQuery- The query- Returns:
- The page type
-
count
Description copied from interface:RepositoryOperationsCounts all results for the given query.- Specified by:
countin interfaceRepositoryOperations- Type Parameters:
T- The generic type- Parameters:
pagedQuery- The paged query- Returns:
- An iterable result
-
findAll
Description copied from interface:RepositoryOperationsFinds all results for the given query.- Specified by:
findAllin interfaceRepositoryOperations- Type Parameters:
T- The entity typeR- The result type- Parameters:
preparedQuery- The prepared query- Returns:
- An iterable result
-
persist
Description copied from interface:RepositoryOperationsPersist the operation returning a possibly new entity.- Specified by:
persistin interfaceRepositoryOperations- Type Parameters:
T- The generic type- Parameters:
operation- The operation- Returns:
- The operation
-
update
Description copied from interface:RepositoryOperationsUpdates the entity for the given operation.- Specified by:
updatein interfaceRepositoryOperations- Type Parameters:
T- The generic type- Parameters:
operation- The operation- Returns:
- The operation
-
updateAll
Description copied from interface:RepositoryOperationsUpdates the entities for the given operation.- Specified by:
updateAllin interfaceRepositoryOperations- Type Parameters:
T- The generic type- Parameters:
operation- The operation- Returns:
- The updated entities
-
persistAll
Description copied from interface:RepositoryOperationsPersist all the given entities.- Specified by:
persistAllin interfaceRepositoryOperations- Type Parameters:
T- The generic type- Parameters:
operation- The operation- Returns:
- The entities, possibly mutated
-
executeUpdate
Description copied from interface:RepositoryOperationsExecutes an update for the given query and parameter values. If it is possible to return the number of objects updated, then do so.- Specified by:
executeUpdatein interfaceRepositoryOperations- Parameters:
preparedQuery- The prepared query- Returns:
- An optional number with the count of the number of records updated
-
delete
Description copied from interface:RepositoryOperationsDeletes the entity.- Specified by:
deletein interfaceRepositoryOperations- Type Parameters:
T- The generic type- Parameters:
operation- The operation- Returns:
- The number of entities deleted
-
deleteAll
Description copied from interface:RepositoryOperationsDeletes all the entities of the given type.- Specified by:
deleteAllin interfaceRepositoryOperations- Type Parameters:
T- The generic type- Parameters:
operation- The operation- Returns:
- The number of entities deleted
-
findStream
Description copied from interface:RepositoryOperationsFinds all results for the given query.- Specified by:
findStreamin interfaceRepositoryOperations- Type Parameters:
T- The entity typeR- The result type- Parameters:
preparedQuery- The prepared query- Returns:
- An iterable result
-
async
- Specified by:
asyncin interfaceAsyncCapableRepository- Returns:
- The async operations.
-
reactive
- Specified by:
reactivein interfaceReactiveCapableRepository- Returns:
- The reactive operations instance.
-
getCurrentEntityManager
@NonNull public jakarta.persistence.EntityManager getCurrentEntityManager()- Specified by:
getCurrentEntityManagerin interfaceJpaRepositoryOperations- Returns:
- The currrent entity manager
-
getEntityManagerFactory
@NonNull public jakarta.persistence.EntityManagerFactory getEntityManagerFactory()- Specified by:
getEntityManagerFactoryin interfaceJpaRepositoryOperations- Returns:
- The entity manager factory
-
flush
public void flush()Description copied from interface:JpaRepositoryOperationsFlush the current session.- Specified by:
flushin interfaceJpaRepositoryOperations
-