Top Description Methods
org.hibernate.sql.model

public Interface MutationOperation

Known Direct Subinterfaces
org.hibernate.sql.model.PreparableMutationOperation, org.hibernate.sql.model.SelfExecutingUpdateOperation
Annotations
@Incubating
Imports
org.hibernate.Incubating, org.hibernate.engine.jdbc.mutation.ParameterUsage, org.hibernate.engine.jdbc.mutation.group.UnknownParameterException, org.hibernate.sql.model.jdbc.JdbcValueDescriptor

Mutation for a specific table as part of a logical mutation on the entity. Functional behavior is driven by the specific subtypes: example #1 - delete simple entity (Person) (1) MutationOperation(DELETE, person) example #2 - delete entity (Person) w/ secondary *non-optional* table (1) MutationOperation(DELETE, person) (2) MutationOperation(DELETE, person_supp) example #3 - insert simple entity (Person) (1) MutationOperation(INSERT, person) example #4 - insert entity (Person) w/ secondary *non-optional* table & IDENTITY id column (1) MutationOperation(INSERT, person) (2) MutationOperation(INSERT, person_supp) example #6 - update/merge entity (Person) w/ secondary *optional* table (1) MutationOperation(UPDATE, person) (2) MutationOperation(UPDATE, person_supp) - upsert / delete account for batching example #1 - insert entity (Person) w/ secondary *optional* table (1) MutationOperation(INSERT, person) - batched, all (2) MutationOperation(INSERT, person_supp) - batched, conditional[1] example #2 - delete entity (Person) w/ secondary table (1) MutationOperation(DELETE, person) - batched, all (2) MutationOperation(DELETE, person_supp) - batched, all example #3 - update/merge entity (Person) w/ secondary *optional* table (1) MutationOperation(UPDATE, person) - batched (2) MutationOperation(UPDATE, person_supp) - non-batched [1] For insertions with optional secondary tables, if the values are all null for that table we do not want to perform the "add-to-batch" handling for that specific "row"
Author
Steve Ebersole

Method Summary

Modifier and TypeMethod and Description
public JdbcValueDescriptor

Returns:

The descriptor, or null if none match.
findValueDescriptor
(String columnName, ParameterUsage usage)

Find the JDBC parameter to be used for the specified column.

public default JdbcValueDescriptor
getJdbcValueDescriptor(String columnName, ParameterUsage usage)

Form of findValueDescriptor, throwing an exception if not found as opposed to simply returning null

public MutationTarget<?>
getMutationTarget()

The thing being mutated

public MutationType
getMutationType()

The type of operation (INSERT, etc)

public TableMapping
getTableDetails()

The table against which operation is to be performed

Method Detail

findValueDescriptorback to summary
public JdbcValueDescriptor findValueDescriptor(String columnName, ParameterUsage usage)

Find the JDBC parameter to be used for the specified column.

Returns:JdbcValueDescriptor

The descriptor, or null if none match.

See Also
getJdbcValueDescriptor
getJdbcValueDescriptorback to summary
public default JdbcValueDescriptor getJdbcValueDescriptor(String columnName, ParameterUsage usage)

Form of findValueDescriptor, throwing an exception if not found as opposed to simply returning null

getMutationTargetback to summary
public MutationTarget<?> getMutationTarget()

The thing being mutated

getMutationTypeback to summary
public MutationType getMutationType()

The type of operation (INSERT, etc)

getTableDetailsback to summary
public TableMapping getTableDetails()

The table against which operation is to be performed