@NonNullApi

# Package org.springframework.data.relational.core.conversion

Interface Summary
AggregateChange<T>: Represents the change happening to the aggregate (as used in the context of Domain Driven Design) as a whole.
DbAction<T>: An instance of this interface represents a (conceptual) single interaction with a database, e.g. a single update, used as a step when synchronizing the state of an aggregate with the database.
DbAction.WithDependingOn<T>: An action depending on another action for providing additional information like the id of a parent entity.
DbAction.WithEntity<T>: A `DbAction` that stores the information of a single entity in the database.
DbAction.WithGeneratedId<T>: A `DbAction` that may "update" its entity.
DbAction.WithPropertyPath<T>: A `DbAction` not operation on the root of an aggregate but on its contained entities.
MutableAggregateChange<T>: Represents the change happening to the aggregate (as used in the context of Domain Driven Design) as a whole.
RelationalConverter: A `RelationalConverter` is responsible for converting for values to the native relational representation and vice versa.

Class Summary
BasicRelationalConverter: `RelationalConverter` that uses a `MappingContext` to apply basic conversion of relational values to property values.
DbAction.AcquireLockAllRoot<T>: Represents an acquire lock statement for all aggregate roots of a given type.
DbAction.AcquireLockRoot<T>: Represents an acquire lock statement for a aggregate root when only the ID is known.
DbAction.Delete<T>: Represents a delete statement for all entities that that a reachable via a give path from the aggregate root.
DbAction.DeleteAll<T>: Represents an delete statement for all entities that that a reachable via a give path from any aggregate root of a given type.
DbAction.DeleteAllRoot<T>: Represents a delete statement for all aggregate roots of a given type.
DbAction.DeleteRoot<T>: Represents a delete statement for a aggregate root when only the ID is known.
DbAction.Insert<T>: Represents an insert statement for a single entity that is not the root of an aggregate.
DbAction.InsertRoot<T>: Represents an insert statement for the root of an aggregate.
DbAction.Merge<T>: Represents a merge statement for a single entity that is not the root of an aggregate.
DbAction.Update<T>: Represents an update statement for a single entity that is not the root of an aggregate.
DbAction.UpdateRoot<T>: Represents an update statement for the aggregate root.
DbActionExecutionResult
RelationalEntityDeleteWriter: Converts an entity that is about to be deleted into `DbAction`s inside a `MutableAggregateChange` that need to be executed against the database to recreate the appropriate state in the database.
RelationalEntityInsertWriter: Converts an aggregate represented by its root into an `MutableAggregateChange`.
RelationalEntityUpdateWriter: Converts an aggregate represented by its root into an `MutableAggregateChange`.
RelationalEntityVersionUtils: Utilities commonly used to set/get properties for instances of RelationalPersistentEntities.
RelationalEntityWriter: Converts an aggregate represented by its root into an `MutableAggregateChange`.

Enum Summary
AggregateChange.Kind: The kind of action to be performed on an aggregate.

Exception Summary
DbActionExecutionException: Exception thrown when during the execution of a `DbAction` an exception gets thrown.