The IUserType type exposes the following members.

Methods

  NameDescription
Assemble
Reconstruct an object from the cacheable representation. At the very least this method should perform a deep copy if the type is mutable. (optional operation)
DeepCopy
Return a deep copy of the persistent state, stopping at entities and at collections.
Disassemble
Transform the object into its cacheable representation. At the very least this method should perform a deep copy if the type is mutable. That may not be enough for some implementations, however; for example, associations must be cached as identifier values. (optional operation)
Equals
Compare two instances of the class mapped by this type for persistent "equality" ie. equality of persistent state
GetHashCode
Get a hashcode for the instance, consistent with persistence "equality"
NullSafeGet
Retrieve an instance of the mapped class from a JDBC resultset. Implementors should handle possibility of null values.
NullSafeSet
Write an instance of the mapped class to a prepared statement. Implementors should handle possibility of null values. A multi-column type should be written to parameters starting from index.
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.

Properties

  NameDescription
IsMutable
Are objects of this type mutable?
ReturnedType
The type returned by NullSafeGet()
SqlTypes
The SQL types for the columns mapped by this type.

See Also