isSame(Object x,
Object y,
EntityMode entityMode)
Compare two instances of the class mapped by this type for persistence
"equality" - equality of persistent state - taking a shortcut for
entity references.

replace(Object original,
Object target,
SessionImplementor session,
Object owner,
Map copyCache)
During merge, replace the existing (target) value in the entity we are merging to
with a new (original) value from the detached entity we are merging.

isCollectionType

boolean isCollectionType()

Is this type a collection type.

isComponentType

boolean isComponentType()

Is this type a component type. If so, the implementation
must be castable to AbstractComponentType. A component
type may own collections or associations and hence must provide
certain extra functionality.

nullSafeSet

Write an instance of the mapped class to a prepared statement, ignoring some columns.
Implementors should handle possibility of null values. A multi-column type should be
written to parameters starting from index.

hydrate

Retrieve an instance of the mapped class, or the identifier of an entity or collection,
from a JDBC resultset. This is useful for 2-phase property initialization - the second
phase is a call to resolveIdentifier().

replace

During merge, replace the existing (target) value in the entity we are merging to
with a new (original) value from the detached entity we are merging. For immutable
objects, or null values, it is safe to simply return the first parameter. For
mutable objects, it is safe to return a copy of the first parameter. For objects
with component values, it might make sense to recursively replace component values.

replace

During merge, replace the existing (target) value in the entity we are merging to
with a new (original) value from the detached entity we are merging. For immutable
objects, or null values, it is safe to simply return the first parameter. For
mutable objects, it is safe to return a copy of the first parameter. For objects
with component values, it might make sense to recursively replace component values.