public interface ReactiveAbstractEntityPersister extends ReactiveEntityPersister
ReactiveEntityPersister
whose concrete implementations each extend a concrete subclass of AbstractEntityPersister
. Note that there are three main flavors of AbstractEntityPersister
, one for each of the three inheritance mapping strategies, and thus we have three flavors of ReactiveEntityPersister
. Therefore, this interface is defined as a mixin. This design avoid duplicating the code in this class in the three different subclasses. Concrete implementations of this interface _must_ also extend AbstractEntityPersister
or one of its concrete subclasses.Modifier and Type | Interface and Description |
---|---|
static class | ReactiveAbstractEntityPersister.DeleteExpectation |
static class | ReactiveAbstractEntityPersister.InsertExpectation |
static class | ReactiveAbstractEntityPersister.UpdateExpectation |
Modifier and Type | Field and Description |
---|---|
static Logger | log |
Modifier and Type | Method and Description |
---|---|
boolean | check(int rows, Serializable id, int tableNumber, Expectation expectation, PreparedStatement statement, String sql) |
default AbstractEntityPersister | delegate() A self-reference of type AbstractEntityPersister . |
default CompletionStage<?> | deleteReactive(Serializable id, Object version, int j, String sql, SharedSessionContractImplementor session, Object[] loadedState) |
default CompletionStage<?> | deleteReactive(Serializable id, Object version, Object object, SharedSessionContractImplementor session) Delete the given instance without blocking. |
default String | generateSelectLockString(LockOptions lockOptions) |
default String[] | generateSQLDeleteStrings(Object[] loadedState) |
default String | generateUpdateLockString(LockOptions lockOptions) |
String[][] | getLazyPropertyColumnAliases() |
default ReactiveConnection | getReactiveConnection(SharedSessionContractImplementor session) |
String | getSQLLazySelectString(String fetchGroup) |
String[] | getUpdateStrings(boolean byRowId, boolean hasUninitializedLazyProperties) |
<any> | getVersionType() |
default boolean | hasUnenhancedProxy() |
Object | initializeLazyProperty(String fieldName, Object entity, SharedSessionContractImplementor session) |
boolean | initializeLazyProperty(String fieldName, Object entity, SharedSessionContractImplementor session, EntityEntry entry, int lazyIndex, Object selectedValue) |
default Object | initLazyProperty(String fieldName, Object entity, SharedSessionContractImplementor session, EntityEntry entry, PersistentAttributeInterceptor interceptor, List<LazyAttributeDescriptor> fetchGroupAttributeDescriptors, Set<String> initializedLazyAttributeNames, ResultSet resultSet) |
default CompletionStage<Serializable> | insertReactive(Object[] fields, boolean[] notNull, String sql, SharedSessionContractImplementor session) Perform an SQL INSERT, and then retrieve a generated identifier. |
default CompletionStage<Serializable> | insertReactive(Object[] fields, Object object, SharedSessionContractImplementor session) Insert the given instance state without blocking. |
default CompletionStage<?> | insertReactive(Serializable id, Object[] fields, boolean[] notNull, int j, String sql, SharedSessionContractImplementor session) |
default CompletionStage<?> | insertReactive(Serializable id, Object[] fields, Object object, SharedSessionContractImplementor session) Insert the given instance state without blocking. |
default boolean | isAllOrDirtyOptimisticLocking() |
boolean | isBatchable() |
default CompletionStage<Void> | lockReactive(Serializable id, Object version, Object object, LockOptions lockOptions, SharedSessionContractImplementor session) Obtain a pessimistic lock without blocking |
default Object | nextVersionForLock(LockMode lockMode, Serializable id, Object version, Object entity, SharedSessionContractImplementor session) |
void | preInsertInMemoryValueGeneration(Object[] fields, Object object, SharedSessionContractImplementor session) |
default Object[] | processSnapshot(SharedSessionContractImplementor session, ResultSet resultSet) |
default CompletionStage<Object> | reactiveGetCurrentVersion(Serializable id, SharedSessionContractImplementor session) |
default CompletionStage<Object[]> | reactiveGetDatabaseSnapshot(Serializable id, SharedSessionContractImplementor session) Get the current database state of the object, in a "hydrated" form, without resolving identifiers |
default CompletionStage<?> | reactiveInitializeLazyPropertiesFromDatastore(String fieldName, Object entity, SharedSessionContractImplementor session, Serializable id, EntityEntry entry) |
default <E,T> CompletionStage<T> | reactiveInitializeLazyProperty(<any> field, E entity, SharedSessionContractImplementor session) |
default CompletionStage<Object> | reactiveLoad(Serializable id, Object optionalObject, LockOptions lockOptions, SharedSessionContractImplementor session) |
default CompletionStage<Object> | reactiveLoad(Serializable id, Object optionalObject, LockOptions lockOptions, SharedSessionContractImplementor session, Boolean readOnly) |
default CompletionStage<List<Object>> | reactiveMultiLoad(Serializable[] ids, SessionImplementor session, MultiLoadOptions loadOptions) |
default CompletionStage<?> | updateOrInsertReactive(Serializable id, Object[] fields, Object[] oldFields, Object rowId, boolean[] includeProperty, int j, Object oldVersion, String sql, SharedSessionContractImplementor session) |
default CompletionStage<?> | updateReactive(Serializable id, Object[] fields, int[] dirtyFields, boolean hasDirtyCollection, Object[] oldFields, Object oldVersion, Object object, Object rowId, SharedSessionContractImplementor session) Update the given instance state without blocking. |
default CompletionStage<Boolean> | updateReactive(Serializable id, Object[] fields, Object[] oldFields, Object rowId, boolean[] includeProperty, int j, Object oldVersion, String sql, SharedSessionContractImplementor session) |
getAppropriateLoader
default AbstractEntityPersister delegate()
AbstractEntityPersister
.default ReactiveConnection getReactiveConnection(SharedSessionContractImplementor session)
default CompletionStage<Serializable> insertReactive(Object[] fields, Object object, SharedSessionContractImplementor session)
ReactiveEntityPersister
insertReactive
in interface ReactiveEntityPersister
EntityPersister#insert(Object[], Object, SharedSessionContractImplementor)
void preInsertInMemoryValueGeneration(Object[] fields, Object object, SharedSessionContractImplementor session)
default CompletionStage<?> insertReactive(Serializable id, Object[] fields, Object object, SharedSessionContractImplementor session)
ReactiveEntityPersister
insertReactive
in interface ReactiveEntityPersister
EntityPersister#insert(Serializable, Object[], Object, SharedSessionContractImplementor)
default CompletionStage<?> insertReactive(Serializable id, Object[] fields, boolean[] notNull, int j, String sql, SharedSessionContractImplementor session)
default CompletionStage<Serializable> insertReactive(Object[] fields, boolean[] notNull, String sql, SharedSessionContractImplementor session)
This form is used for PostInsertIdentifierGenerator-style ids.
default CompletionStage<?> deleteReactive(Serializable id, Object version, int j, String sql, SharedSessionContractImplementor session, Object[] loadedState)
default CompletionStage<?> deleteReactive(Serializable id, Object version, Object object, SharedSessionContractImplementor session)
ReactiveEntityPersister
deleteReactive
in interface ReactiveEntityPersister
EntityPersister#delete(Serializable, Object, Object, SharedSessionContractImplementor)
default boolean isAllOrDirtyOptimisticLocking()
default CompletionStage<Boolean> updateReactive(Serializable id, Object[] fields, Object[] oldFields, Object rowId, boolean[] includeProperty, int j, Object oldVersion, String sql, SharedSessionContractImplementor session)
boolean check(int rows, Serializable id, int tableNumber, Expectation expectation, PreparedStatement statement, String sql) throws HibernateException
HibernateException
default CompletionStage<?> updateReactive(Serializable id, Object[] fields, int[] dirtyFields, boolean hasDirtyCollection, Object[] oldFields, Object oldVersion, Object object, Object rowId, SharedSessionContractImplementor session)
ReactiveEntityPersister
updateReactive
in interface ReactiveEntityPersister
EntityPersister#update(Serializable, Object[], int[], boolean, Object[], Object, Object, Object, SharedSessionContractImplementor)
String[] getUpdateStrings(boolean byRowId, boolean hasUninitializedLazyProperties)
default CompletionStage<?> updateOrInsertReactive(Serializable id, Object[] fields, Object[] oldFields, Object rowId, boolean[] includeProperty, int j, Object oldVersion, String sql, SharedSessionContractImplementor session)
default String generateSelectLockString(LockOptions lockOptions)
default String generateUpdateLockString(LockOptions lockOptions)
default CompletionStage<Void> lockReactive(Serializable id, Object version, Object object, LockOptions lockOptions, SharedSessionContractImplementor session) throws HibernateException
ReactiveEntityPersister
lockReactive
in interface ReactiveEntityPersister
HibernateException
<any> getVersionType()
default Object nextVersionForLock(LockMode lockMode, Serializable id, Object version, Object entity, SharedSessionContractImplementor session)
default CompletionStage<Object> reactiveLoad(Serializable id, Object optionalObject, LockOptions lockOptions, SharedSessionContractImplementor session)
reactiveLoad
in interface ReactiveEntityPersister
default CompletionStage<Object> reactiveLoad(Serializable id, Object optionalObject, LockOptions lockOptions, SharedSessionContractImplementor session, Boolean readOnly)
reactiveLoad
in interface ReactiveEntityPersister
default CompletionStage<List<Object>> reactiveMultiLoad(Serializable[] ids, SessionImplementor session, MultiLoadOptions loadOptions)
reactiveMultiLoad
in interface ReactiveEntityPersister
default CompletionStage<Object[]> reactiveGetDatabaseSnapshot(Serializable id, SharedSessionContractImplementor session)
ReactiveEntityPersister
reactiveGetDatabaseSnapshot
in interface ReactiveEntityPersister
default CompletionStage<Object> reactiveGetCurrentVersion(Serializable id, SharedSessionContractImplementor session)
reactiveGetCurrentVersion
in interface ReactiveEntityPersister
default Object[] processSnapshot(SharedSessionContractImplementor session, ResultSet resultSet)
default boolean hasUnenhancedProxy()
Object initializeLazyProperty(String fieldName, Object entity, SharedSessionContractImplementor session)
default <E,T> CompletionStage<T> reactiveInitializeLazyProperty(<any> field, E entity, SharedSessionContractImplementor session)
reactiveInitializeLazyProperty
in interface ReactiveEntityPersister
default CompletionStage<?> reactiveInitializeLazyPropertiesFromDatastore(String fieldName, Object entity, SharedSessionContractImplementor session, Serializable id, EntityEntry entry)
default Object initLazyProperty(String fieldName, Object entity, SharedSessionContractImplementor session, EntityEntry entry, PersistentAttributeInterceptor interceptor, List<LazyAttributeDescriptor> fetchGroupAttributeDescriptors, Set<String> initializedLazyAttributeNames, ResultSet resultSet)
boolean initializeLazyProperty(String fieldName, Object entity, SharedSessionContractImplementor session, EntityEntry entry, int lazyIndex, Object selectedValue)
String[][] getLazyPropertyColumnAliases()
boolean isBatchable()