Package org.hibernate.type
Class SpecialOneToOneType
- java.lang.Object
-
- org.hibernate.type.AbstractType
-
- org.hibernate.type.EntityType
-
- org.hibernate.type.OneToOneType
-
- org.hibernate.type.SpecialOneToOneType
-
- All Implemented Interfaces:
Serializable,AssociationType,Type
public class SpecialOneToOneType extends OneToOneType
A one-to-one association that maps to specific formula(s) instead of the primary key column of the owning entity.- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.hibernate.type.EntityType
uniqueKeyPropertyName
-
Fields inherited from class org.hibernate.type.AbstractType
LEGACY_DEFAULT_SIZE, LEGACY_DICTATED_SIZE
-
-
Constructor Summary
Constructors Constructor Description SpecialOneToOneType(SpecialOneToOneType original, String superTypeEntityName)SpecialOneToOneType(TypeFactory.TypeScope scope, String referencedEntityName, ForeignKeyDirection foreignKeyType, boolean referenceToPrimaryKey, String uniqueKeyPropertyName, boolean lazy, boolean unwrapProxy, String entityName, String propertyName)SpecialOneToOneType(TypeFactory.TypeScope scope, String referencedEntityName, ForeignKeyDirection foreignKeyType, boolean referenceToPrimaryKey, String uniqueKeyPropertyName, boolean lazy, boolean unwrapProxy, String entityName, String propertyName, boolean constrained)SpecialOneToOneType(TypeFactory.TypeScope scope, String referencedEntityName, ForeignKeyDirection foreignKeyType, String uniqueKeyPropertyName, boolean lazy, boolean unwrapProxy, String entityName, String propertyName)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Objectassemble(Serializable oid, SharedSessionContractImplementor session, Object owner)Reconstruct the object from its disassembled state.Size[]defaultSizes(Mapping mapping)Defines the column sizes to use according to this type if the user did not explicitly say (and if noType.dictatedSizes(org.hibernate.engine.spi.Mapping)were given).Size[]dictatedSizes(Mapping mapping)Return the column sizes dictated by this type.Serializabledisassemble(Object value, SharedSessionContractImplementor session, Object owner)Return a disassembled representation of the object.intgetColumnSpan(Mapping mapping)How many columns are used to persist this type.Objecthydrate(ResultSet rs, String[] names, SharedSessionContractImplementor session, Object owner)Extract a value from the JDBC result set.int[]sqlTypes(Mapping mapping)Return the JDBC types codes (perTypes) for the columns mapped by this type.booleanuseLHSPrimaryKey()Is the primary key of the owning entity table to be used in the join?-
Methods inherited from class org.hibernate.type.OneToOneType
getForeignKeyDirection, getNotFoundAction, getPropertyName, isAlwaysDirtyChecked, isDirty, isDirty, isModified, isNull, isNullable, isOneToOne, nullSafeSet, toColumnNullness
-
Methods inherited from class org.hibernate.type.EntityType
compare, deepCopy, getAssociatedEntityName, getAssociatedEntityName, getAssociatedEntityPersister, getAssociatedJoinable, getHashCode, getIdentifier, getIdentifierOrUniqueKeyPropertyName, getIdentifierOrUniqueKeyType, getLHSPropertyName, getName, getOnCondition, getOnCondition, getReturnedClass, getRHSUniqueKeyPropertyName, getSemiResolvedType, hasNotFoundAction, isAssociationType, isEager, isEntityType, isEqual, isLogicalOneToOne, isMutable, isReferenceToIdentifierProperty, isReferenceToPrimaryKey, isSame, loadByUniqueKey, nullSafeGet, nullSafeGet, nullSafeSet, replace, requireIdentifierOrUniqueKeyType, resolve, resolve, resolveIdentifier, resolveIdentifier, scope, toLoggableString, toString
-
Methods inherited from class org.hibernate.type.AbstractType
beforeAssemble, getHashCode, isAnyType, isCollectionType, isComponentType, isEqual, replace, semiResolve
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.hibernate.type.Type
beforeAssemble, getHashCode, isAnyType, isCollectionType, isComponentType, isEqual, replace, semiResolve
-
-
-
-
Constructor Detail
-
SpecialOneToOneType
@Deprecated public SpecialOneToOneType(TypeFactory.TypeScope scope, String referencedEntityName, ForeignKeyDirection foreignKeyType, String uniqueKeyPropertyName, boolean lazy, boolean unwrapProxy, String entityName, String propertyName)
-
SpecialOneToOneType
@Deprecated public SpecialOneToOneType(TypeFactory.TypeScope scope, String referencedEntityName, ForeignKeyDirection foreignKeyType, boolean referenceToPrimaryKey, String uniqueKeyPropertyName, boolean lazy, boolean unwrapProxy, String entityName, String propertyName)
-
SpecialOneToOneType
public SpecialOneToOneType(TypeFactory.TypeScope scope, String referencedEntityName, ForeignKeyDirection foreignKeyType, boolean referenceToPrimaryKey, String uniqueKeyPropertyName, boolean lazy, boolean unwrapProxy, String entityName, String propertyName, boolean constrained)
-
SpecialOneToOneType
public SpecialOneToOneType(SpecialOneToOneType original, String superTypeEntityName)
-
-
Method Detail
-
getColumnSpan
public int getColumnSpan(Mapping mapping) throws MappingException
Description copied from interface:TypeHow many columns are used to persist this type. Always the same assqlTypes(mapping).length- Specified by:
getColumnSpanin interfaceType- Overrides:
getColumnSpanin classOneToOneType- Parameters:
mapping- The mapping object :/- Returns:
- The number of columns
- Throws:
MappingException- Generally indicates an issue accessing the passed mapping object.
-
sqlTypes
public int[] sqlTypes(Mapping mapping) throws MappingException
Description copied from interface:TypeReturn the JDBC types codes (perTypes) for the columns mapped by this type. NOTE: The number of elements in this array matches the return fromType.getColumnSpan(org.hibernate.engine.spi.Mapping).- Specified by:
sqlTypesin interfaceType- Overrides:
sqlTypesin classOneToOneType- Parameters:
mapping- The mapping object :/- Returns:
- The JDBC type codes.
- Throws:
MappingException- Generally indicates an issue accessing the passed mapping object.
-
dictatedSizes
public Size[] dictatedSizes(Mapping mapping) throws MappingException
Description copied from interface:TypeReturn the column sizes dictated by this type. For example, the mapping for achar/Characterwould have a dictated length limit of 1; for a string-basedUUIDwould have a size limit of 36; etc. NOTE: The number of elements in this array matches the return fromType.getColumnSpan(org.hibernate.engine.spi.Mapping).- Specified by:
dictatedSizesin interfaceType- Overrides:
dictatedSizesin classOneToOneType- Parameters:
mapping- The mapping object :/- Returns:
- The dictated sizes.
- Throws:
MappingException- Generally indicates an issue accessing the passed mapping object.
-
defaultSizes
public Size[] defaultSizes(Mapping mapping) throws MappingException
Description copied from interface:TypeDefines the column sizes to use according to this type if the user did not explicitly say (and if noType.dictatedSizes(org.hibernate.engine.spi.Mapping)were given). NOTE: The number of elements in this array matches the return fromType.getColumnSpan(org.hibernate.engine.spi.Mapping).- Specified by:
defaultSizesin interfaceType- Overrides:
defaultSizesin classOneToOneType- Parameters:
mapping- The mapping object :/- Returns:
- The default sizes.
- Throws:
MappingException- Generally indicates an issue accessing the passed mapping object.
-
useLHSPrimaryKey
public boolean useLHSPrimaryKey()
Description copied from interface:AssociationTypeIs the primary key of the owning entity table to be used in the join?- Specified by:
useLHSPrimaryKeyin interfaceAssociationType- Overrides:
useLHSPrimaryKeyin classOneToOneType
-
hydrate
public Object hydrate(ResultSet rs, String[] names, SharedSessionContractImplementor session, Object owner) throws HibernateException, SQLException
Description copied from interface:TypeExtract a value from the JDBC result set. This is useful for 2-phase property initialization - the second phase is a call toType.resolve(java.lang.Object, org.hibernate.engine.spi.SharedSessionContractImplementor, java.lang.Object)This hydrated value will be either:- in the case of an entity or collection type, the key
- otherwise, the value itself
- Specified by:
hydratein interfaceType- Overrides:
hydratein classOneToOneType- Parameters:
rs- The JDBC result setnames- the column names making up this type value (use to read from result set)session- The originating sessionowner- the parent entity- Returns:
- An entity or collection key, or an actual value.
- Throws:
HibernateException- An error from HibernateSQLException- An error from the JDBC driver- See Also:
Type.resolve(java.lang.Object, org.hibernate.engine.spi.SharedSessionContractImplementor, java.lang.Object)
-
disassemble
public Serializable disassemble(Object value, SharedSessionContractImplementor session, Object owner) throws HibernateException
Description copied from interface:TypeReturn a disassembled representation of the object. This is the value Hibernate will use in second level caching, so care should be taken to break values down to their simplest forms; for entities especially, this means breaking them down into their constituent parts.- Specified by:
disassemblein interfaceType- Overrides:
disassemblein classOneToOneType- Parameters:
value- the value to cachesession- the originating sessionowner- optional parent entity object (needed for collections)- Returns:
- the disassembled, deep cloned state
- Throws:
HibernateException- An error from Hibernate
-
assemble
public Object assemble(Serializable oid, SharedSessionContractImplementor session, Object owner) throws HibernateException
Description copied from interface:TypeReconstruct the object from its disassembled state. This method is the reciprocal ofType.disassemble(java.lang.Object, org.hibernate.engine.spi.SharedSessionContractImplementor, java.lang.Object)- Specified by:
assemblein interfaceType- Overrides:
assemblein classOneToOneType- Parameters:
oid- the disassembled state from the cachesession- the originating sessionowner- the parent entity object- Returns:
- the (re)assembled object
- Throws:
HibernateException- An error from Hibernate
-
-