Class DefaultJdbcRepositoryOperations
java.lang.Object
io.micronaut.data.runtime.operations.internal.AbstractRepositoryOperations
io.micronaut.data.runtime.operations.internal.sql.AbstractSqlRepositoryOperations<ResultSet,PreparedStatement,SQLException>
io.micronaut.data.jdbc.operations.DefaultJdbcRepositoryOperations
- All Implemented Interfaces:
io.micronaut.context.ApplicationContextProvider,io.micronaut.core.convert.ConversionServiceProvider,JdbcRepositoryOperations,JdbcOperations,io.micronaut.data.operations.async.AsyncCapableRepository,io.micronaut.data.operations.DeleteReturningRepositoryOperations,io.micronaut.data.operations.HintsCapableRepository,io.micronaut.data.operations.reactive.ReactiveCapableRepository,io.micronaut.data.operations.RepositoryOperations,io.micronaut.data.runtime.operations.internal.SyncCascadeOperations.SyncCascadeOperationsHelper<DefaultJdbcRepositoryOperations.JdbcOperationContext>,io.micronaut.data.runtime.query.MethodContextAwareStoredQueryDecorator,io.micronaut.data.runtime.query.PreparedQueryDecorator,AutoCloseable
@EachBean(javax.sql.DataSource.class)
@Internal
public final class DefaultJdbcRepositoryOperations
extends io.micronaut.data.runtime.operations.internal.sql.AbstractSqlRepositoryOperations<ResultSet,PreparedStatement,SQLException>
implements JdbcRepositoryOperations, io.micronaut.data.operations.DeleteReturningRepositoryOperations, io.micronaut.data.operations.async.AsyncCapableRepository, io.micronaut.data.operations.reactive.ReactiveCapableRepository, AutoCloseable, io.micronaut.data.runtime.operations.internal.SyncCascadeOperations.SyncCascadeOperationsHelper<DefaultJdbcRepositoryOperations.JdbcOperationContext>
Implementation of
JdbcRepositoryOperations.- Since:
- 1.0.0
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classNested classes/interfaces inherited from class io.micronaut.data.runtime.operations.internal.sql.AbstractSqlRepositoryOperations
io.micronaut.data.runtime.operations.internal.sql.AbstractSqlRepositoryOperations.StatementSupplier<PS extends Object> -
Field Summary
Fields inherited from class io.micronaut.data.runtime.operations.internal.sql.AbstractSqlRepositoryOperations
columnIndexResultSetReader, columnNameResultSetReader, dataSourceName, jsonMapper, preparedStatementWriter, QUERY_LOG, queryBuilders, repositoriesWithHardcodedDataSource, sqlJsonColumnMapperProviderFields inherited from class io.micronaut.data.runtime.operations.internal.AbstractRepositoryOperations
attributeConverterRegistry, conversionService, dateTimeProvider, entityEventRegistry, runtimeEntityRegistry -
Method Summary
Modifier and TypeMethodDescription@NonNull io.micronaut.data.runtime.operations.ExecutorAsyncOperationsasync()voidclose()<T> longcount(io.micronaut.data.model.runtime.PagedQuery<T> pagedQuery) <T> intdelete(@NonNull io.micronaut.data.model.runtime.DeleteOperation<T> operation) deleteAll(@NonNull io.micronaut.data.model.runtime.DeleteBatchOperation<T> operation) <E,R> List<R> deleteAllReturning(io.micronaut.data.model.runtime.DeleteReturningBatchOperation<E, R> operation) <E,R> R deleteReturning(io.micronaut.data.model.runtime.DeleteReturningOperation<E, R> operation) <T> @NonNull Stream<T>entityStream(@NonNull ResultSet resultSet, @NonNull Class<T> rootEntity) Map a result set to a stream of the given type.<T> @NonNull Stream<T>entityStream(@NonNull ResultSet resultSet, @Nullable String prefix, @NonNull Class<T> rootEntity) Map a result set to a stream of the given type.<R> Rexecute(@NonNull ConnectionCallback<R> callback) Execute the given operation with the given callback.<R> List<R>execute(io.micronaut.data.model.runtime.PreparedQuery<?, R> pq) executeUpdate(@NonNull io.micronaut.data.model.runtime.PreparedQuery<?, Number> pq) <T> boolean<T> @NonNull Iterable<T>findAll(@NonNull io.micronaut.data.model.runtime.PagedQuery<T> query) <T,R> @NonNull Iterable<R> findAll(@NonNull io.micronaut.data.model.runtime.PreparedQuery<T, R> preparedQuery) <T,R> R findOne(@NonNull io.micronaut.data.model.runtime.PreparedQuery<T, R> pq) <T> T<R> io.micronaut.data.model.Page<R>findPage(@NonNull io.micronaut.data.model.runtime.PagedQuery<R> query) <T> @NonNull Stream<T>findStream(@NonNull io.micronaut.data.model.runtime.PagedQuery<T> query) <T,R> @NonNull Stream<R> findStream(@NonNull io.micronaut.data.model.runtime.PreparedQuery<T, R> preparedQuery) @NonNull ConnectionThis method will return the currently active connection for the current transaction or throw an exception if no transaction is present.@NonNull DataSourceprotected IntegerbooleanisSupportsBatchInsert(DefaultJdbcRepositoryOperations.JdbcOperationContext jdbcOperationContext, io.micronaut.data.model.runtime.RuntimePersistentEntity<?> persistentEntity) <T> Tpersist(@NonNull io.micronaut.data.model.runtime.InsertOperation<T> operation) <T> @NonNull Iterable<T>persistAll(@NonNull io.micronaut.data.model.runtime.InsertBatchOperation<T> operation) <T> List<T>persistBatch(DefaultJdbcRepositoryOperations.JdbcOperationContext ctx, Iterable<T> values, io.micronaut.data.model.runtime.RuntimePersistentEntity<T> childPersistentEntity, Predicate<T> predicate) voidpersistManyAssociation(DefaultJdbcRepositoryOperations.JdbcOperationContext ctx, io.micronaut.data.model.runtime.RuntimeAssociation runtimeAssociation, Object value, io.micronaut.data.model.runtime.RuntimePersistentEntity<Object> persistentEntity, Object child, io.micronaut.data.model.runtime.RuntimePersistentEntity<Object> childPersistentEntity) voidpersistManyAssociationBatch(DefaultJdbcRepositoryOperations.JdbcOperationContext ctx, io.micronaut.data.model.runtime.RuntimeAssociation runtimeAssociation, Object value, io.micronaut.data.model.runtime.RuntimePersistentEntity<Object> persistentEntity, Iterable<Object> child, io.micronaut.data.model.runtime.RuntimePersistentEntity<Object> childPersistentEntity) <T> TpersistOne(DefaultJdbcRepositoryOperations.JdbcOperationContext ctx, T value, io.micronaut.data.model.runtime.RuntimePersistentEntity<T> persistentEntity) <R> RprepareStatement(@NonNull String sql, @NonNull PreparedStatementCallback<R> callback) Execute the given operation with the given callback.@NonNull io.micronaut.data.operations.reactive.ReactiveRepositoryOperationsreactive()<E,D> D readDTO(@NonNull String prefix, @NonNull ResultSet resultSet, @NonNull Class<E> rootEntity, @NonNull Class<D> dtoType) Read an entity using the given prefix to be passes to result set lookups.<E> EreadEntity(@NonNull String prefix, @NonNull ResultSet resultSet, @NonNull Class<E> type) Read an entity using the given prefix to be passes to result set lookups.<T> Tupdate(@NonNull io.micronaut.data.model.runtime.UpdateOperation<T> operation) <T> @NonNull Iterable<T>updateAll(@NonNull io.micronaut.data.model.runtime.UpdateBatchOperation<T> operation) <T> TupdateOne(DefaultJdbcRepositoryOperations.JdbcOperationContext ctx, T value, io.micronaut.data.model.runtime.RuntimePersistentEntity<T> persistentEntity) Methods inherited from class io.micronaut.data.runtime.operations.internal.sql.AbstractSqlRepositoryOperations
createMapper, createQueryResultMapper, decorate, decorate, getJsonColumn, getJsonDataType, getSqlPreparedQuery, getSqlStoredQuery, isJsonEntityGeneratedId, isJsonResult, isSupportsBatchDelete, isSupportsBatchInsert, isSupportsBatchInsert, isSupportsBatchUpdate, prepareStatement, resolveAssociationInsert, resolveEntityInsert, resolveEntityUpdate, resolveSqlInsertAssociation, setStatementParameterMethods inherited from class io.micronaut.data.runtime.operations.internal.AbstractRepositoryOperations
checkOptimisticLocking, getApplicationContext, getConversionService, getEntity, getIdReader, isOnlySingleEndedJoins, triggerPostLoadMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.micronaut.context.ApplicationContextProvider
getApplicationContextMethods inherited from interface io.micronaut.core.convert.ConversionServiceProvider
getConversionServiceMethods inherited from interface io.micronaut.data.operations.HintsCapableRepository
getQueryHintsMethods inherited from interface io.micronaut.data.jdbc.runtime.JdbcOperations
readDTO, readEntityMethods inherited from interface io.micronaut.data.operations.RepositoryOperations
executeDelete, getEntityMethods inherited from interface io.micronaut.data.runtime.operations.internal.SyncCascadeOperations.SyncCascadeOperationsHelper
isSupportsBatchDelete, isSupportsBatchUpdate
-
Method Details
-
getFirstResultSetIndex
- Specified by:
getFirstResultSetIndexin classio.micronaut.data.runtime.operations.internal.sql.AbstractSqlRepositoryOperations<ResultSet,PreparedStatement, SQLException>
-
persistOne
public <T> T persistOne(DefaultJdbcRepositoryOperations.JdbcOperationContext ctx, T value, io.micronaut.data.model.runtime.RuntimePersistentEntity<T> persistentEntity) - Specified by:
persistOnein interfaceio.micronaut.data.runtime.operations.internal.SyncCascadeOperations.SyncCascadeOperationsHelper<DefaultJdbcRepositoryOperations.JdbcOperationContext>
-
persistBatch
public <T> List<T> persistBatch(DefaultJdbcRepositoryOperations.JdbcOperationContext ctx, Iterable<T> values, io.micronaut.data.model.runtime.RuntimePersistentEntity<T> childPersistentEntity, Predicate<T> predicate) - Specified by:
persistBatchin interfaceio.micronaut.data.runtime.operations.internal.SyncCascadeOperations.SyncCascadeOperationsHelper<DefaultJdbcRepositoryOperations.JdbcOperationContext>
-
updateOne
public <T> T updateOne(DefaultJdbcRepositoryOperations.JdbcOperationContext ctx, T value, io.micronaut.data.model.runtime.RuntimePersistentEntity<T> persistentEntity) - Specified by:
updateOnein interfaceio.micronaut.data.runtime.operations.internal.SyncCascadeOperations.SyncCascadeOperationsHelper<DefaultJdbcRepositoryOperations.JdbcOperationContext>
-
persistManyAssociation
public void persistManyAssociation(DefaultJdbcRepositoryOperations.JdbcOperationContext ctx, io.micronaut.data.model.runtime.RuntimeAssociation runtimeAssociation, Object value, io.micronaut.data.model.runtime.RuntimePersistentEntity<Object> persistentEntity, Object child, io.micronaut.data.model.runtime.RuntimePersistentEntity<Object> childPersistentEntity) - Specified by:
persistManyAssociationin interfaceio.micronaut.data.runtime.operations.internal.SyncCascadeOperations.SyncCascadeOperationsHelper<DefaultJdbcRepositoryOperations.JdbcOperationContext>
-
persistManyAssociationBatch
public void persistManyAssociationBatch(DefaultJdbcRepositoryOperations.JdbcOperationContext ctx, io.micronaut.data.model.runtime.RuntimeAssociation runtimeAssociation, Object value, io.micronaut.data.model.runtime.RuntimePersistentEntity<Object> persistentEntity, Iterable<Object> child, io.micronaut.data.model.runtime.RuntimePersistentEntity<Object> childPersistentEntity) - Specified by:
persistManyAssociationBatchin interfaceio.micronaut.data.runtime.operations.internal.SyncCascadeOperations.SyncCascadeOperationsHelper<DefaultJdbcRepositoryOperations.JdbcOperationContext>
-
async
@NonNull public @NonNull io.micronaut.data.runtime.operations.ExecutorAsyncOperations async()- Specified by:
asyncin interfaceio.micronaut.data.operations.async.AsyncCapableRepository
-
reactive
@NonNull public @NonNull io.micronaut.data.operations.reactive.ReactiveRepositoryOperations reactive()- Specified by:
reactivein interfaceio.micronaut.data.operations.reactive.ReactiveCapableRepository
-
findOne
@Nullable public <T,R> R findOne(@NonNull @NonNull io.micronaut.data.model.runtime.PreparedQuery<T, R> pq) - Specified by:
findOnein interfaceio.micronaut.data.operations.RepositoryOperations
-
exists
public <T> boolean exists(@NonNull @NonNull io.micronaut.data.model.runtime.PreparedQuery<T, Boolean> pq) - Specified by:
existsin interfaceio.micronaut.data.operations.RepositoryOperations
-
findStream
@NonNull public <T,R> @NonNull Stream<R> findStream(@NonNull @NonNull io.micronaut.data.model.runtime.PreparedQuery<T, R> preparedQuery) - Specified by:
findStreamin interfaceio.micronaut.data.operations.RepositoryOperations
-
findAll
@NonNull public <T,R> @NonNull Iterable<R> findAll(@NonNull @NonNull io.micronaut.data.model.runtime.PreparedQuery<T, R> preparedQuery) - Specified by:
findAllin interfaceio.micronaut.data.operations.RepositoryOperations
-
executeUpdate
@NonNull public @NonNull Optional<Number> executeUpdate(@NonNull @NonNull io.micronaut.data.model.runtime.PreparedQuery<?, Number> pq) - Specified by:
executeUpdatein interfaceio.micronaut.data.operations.RepositoryOperations
-
execute
- Specified by:
executein interfaceio.micronaut.data.operations.RepositoryOperations
-
deleteAll
public <T> Optional<Number> deleteAll(@NonNull @NonNull io.micronaut.data.model.runtime.DeleteBatchOperation<T> operation) - Specified by:
deleteAllin interfaceio.micronaut.data.operations.RepositoryOperations
-
delete
public <T> int delete(@NonNull @NonNull io.micronaut.data.model.runtime.DeleteOperation<T> operation) - Specified by:
deletein interfaceio.micronaut.data.operations.RepositoryOperations
-
deleteReturning
public <E,R> R deleteReturning(io.micronaut.data.model.runtime.DeleteReturningOperation<E, R> operation) - Specified by:
deleteReturningin interfaceio.micronaut.data.operations.DeleteReturningRepositoryOperations
-
deleteAllReturning
public <E,R> List<R> deleteAllReturning(io.micronaut.data.model.runtime.DeleteReturningBatchOperation<E, R> operation) - Specified by:
deleteAllReturningin interfaceio.micronaut.data.operations.DeleteReturningRepositoryOperations
-
update
@NonNull public <T> T update(@NonNull @NonNull io.micronaut.data.model.runtime.UpdateOperation<T> operation) - Specified by:
updatein interfaceio.micronaut.data.operations.RepositoryOperations
-
updateAll
@NonNull public <T> @NonNull Iterable<T> updateAll(@NonNull @NonNull io.micronaut.data.model.runtime.UpdateBatchOperation<T> operation) - Specified by:
updateAllin interfaceio.micronaut.data.operations.RepositoryOperations
-
persist
@NonNull public <T> T persist(@NonNull @NonNull io.micronaut.data.model.runtime.InsertOperation<T> operation) - Specified by:
persistin interfaceio.micronaut.data.operations.RepositoryOperations
-
findOne
- Specified by:
findOnein interfaceio.micronaut.data.operations.RepositoryOperations
-
findAll
@NonNull public <T> @NonNull Iterable<T> findAll(@NonNull @NonNull io.micronaut.data.model.runtime.PagedQuery<T> query) - Specified by:
findAllin interfaceio.micronaut.data.operations.RepositoryOperations
-
count
public <T> long count(io.micronaut.data.model.runtime.PagedQuery<T> pagedQuery) - Specified by:
countin interfaceio.micronaut.data.operations.RepositoryOperations
-
findStream
@NonNull public <T> @NonNull Stream<T> findStream(@NonNull @NonNull io.micronaut.data.model.runtime.PagedQuery<T> query) - Specified by:
findStreamin interfaceio.micronaut.data.operations.RepositoryOperations
-
findPage
public <R> io.micronaut.data.model.Page<R> findPage(@NonNull @NonNull io.micronaut.data.model.runtime.PagedQuery<R> query) - Specified by:
findPagein interfaceio.micronaut.data.operations.RepositoryOperations
-
persistAll
@NonNull public <T> @NonNull Iterable<T> persistAll(@NonNull @NonNull io.micronaut.data.model.runtime.InsertBatchOperation<T> operation) - Specified by:
persistAllin interfaceio.micronaut.data.operations.RepositoryOperations
-
close
@PreDestroy public void close()- Specified by:
closein interfaceAutoCloseable
-
getDataSource
- Specified by:
getDataSourcein interfaceJdbcOperations- Returns:
- The backing data source.
-
getConnection
Description copied from interface:JdbcOperationsThis method will return the currently active connection for the current transaction or throw an exception if no transaction is present.- Specified by:
getConnectionin interfaceJdbcOperations- Returns:
- The current connection for the active transaction.
-
execute
Description copied from interface:JdbcOperationsExecute the given operation with the given callback.- Specified by:
executein interfaceJdbcOperations- Type Parameters:
R- The result type- Parameters:
callback- The callback- Returns:
- The result
-
prepareStatement
@NonNull public <R> R prepareStatement(@NonNull @NonNull String sql, @NonNull @NonNull PreparedStatementCallback<R> callback) Description copied from interface:JdbcOperationsExecute the given operation with the given callback.- Specified by:
prepareStatementin interfaceJdbcOperations- Type Parameters:
R- The result type- Parameters:
sql- The SQLcallback- The callback- Returns:
- The result
-
entityStream
@NonNull public <T> @NonNull Stream<T> entityStream(@NonNull @NonNull ResultSet resultSet, @NonNull @NonNull Class<T> rootEntity) Description copied from interface:JdbcOperationsMap a result set to a stream of the given type.- Specified by:
entityStreamin interfaceJdbcOperations- Type Parameters:
T- The generic type- Parameters:
resultSet- The result setrootEntity- The entity type- Returns:
- The stream
-
readEntity
@NonNull public <E> E readEntity(@NonNull @NonNull String prefix, @NonNull @NonNull ResultSet resultSet, @NonNull @NonNull Class<E> type) throws io.micronaut.data.exceptions.DataAccessException Description copied from interface:JdbcOperationsRead an entity using the given prefix to be passes to result set lookups.- Specified by:
readEntityin interfaceJdbcOperations- Type Parameters:
E- The entity generic type- Parameters:
prefix- The prefixresultSet- The result settype- The entity type- Returns:
- The entity result
- Throws:
io.micronaut.data.exceptions.DataAccessException- if it is not possible read the result from the result set.
-
readDTO
@NonNull public <E,D> D readDTO(@NonNull @NonNull String prefix, @NonNull @NonNull ResultSet resultSet, @NonNull @NonNull Class<E> rootEntity, @NonNull @NonNull Class<D> dtoType) throws io.micronaut.data.exceptions.DataAccessException Description copied from interface:JdbcOperationsRead an entity using the given prefix to be passes to result set lookups.- Specified by:
readDTOin interfaceJdbcOperations- Type Parameters:
E- The entity generic typeD- The DTO generic type- Parameters:
prefix- The prefixresultSet- The result setrootEntity- The entity typedtoType- The DTO type. Must be annotated withIntrospected- Returns:
- The entity result
- Throws:
io.micronaut.data.exceptions.DataAccessException- if it is not possible read the result from the result set.
-
entityStream
@NonNull public <T> @NonNull Stream<T> entityStream(@NonNull @NonNull ResultSet resultSet, @Nullable @Nullable String prefix, @NonNull @NonNull Class<T> rootEntity) Description copied from interface:JdbcOperationsMap a result set to a stream of the given type.- Specified by:
entityStreamin interfaceJdbcOperations- Type Parameters:
T- The generic type- Parameters:
resultSet- The result setprefix- The prefix to use for each column name that is mappedrootEntity- The entity type- Returns:
- The stream
-
isSupportsBatchInsert
public boolean isSupportsBatchInsert(DefaultJdbcRepositoryOperations.JdbcOperationContext jdbcOperationContext, io.micronaut.data.model.runtime.RuntimePersistentEntity<?> persistentEntity) - Specified by:
isSupportsBatchInsertin interfaceio.micronaut.data.runtime.operations.internal.SyncCascadeOperations.SyncCascadeOperationsHelper<DefaultJdbcRepositoryOperations.JdbcOperationContext>
-