|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.hibernate.type.AbstractType org.hibernate.type.EntityType
public abstract class EntityType
Base for types which map associations to persistent entities.
Field Summary | |
---|---|
protected boolean |
isEmbeddedInXML
|
protected String |
uniqueKeyPropertyName
|
Fields inherited from class org.hibernate.type.AbstractType |
---|
LEGACY_DEFAULT_SIZE, LEGACY_DICTATED_SIZE |
Constructor Summary | |
---|---|
protected |
EntityType(TypeFactory.TypeScope scope,
String entityName,
String uniqueKeyPropertyName,
boolean eager,
boolean isEmbeddedInXML,
boolean unwrapProxy)
Constructs the requested entity type mapping. |
Method Summary | |
---|---|
int |
compare(Object x,
Object y)
Perform a Comparator style comparison between values |
Object |
deepCopy(Object value,
SessionFactoryImplementor factory)
Return a deep copy of the persistent state, stopping at entities and at collections. |
Object |
fromXMLNode(org.dom4j.Node xml,
Mapping factory)
Parse the XML representation of an instance. |
String |
getAssociatedEntityName()
The name of the associated entity. |
String |
getAssociatedEntityName(SessionFactoryImplementor factory)
The name of the associated entity. |
Joinable |
getAssociatedJoinable(SessionFactoryImplementor factory)
Retrieves the Joinable defining the associated entity. |
int |
getHashCode(Object x,
SessionFactoryImplementor factory)
Get a hash code, consistent with persistence "equality". |
protected Object |
getIdentifier(Object value,
SessionImplementor session)
|
String |
getIdentifierOrUniqueKeyPropertyName(Mapping factory)
The name of the property on the associated entity to which our FK refers |
Type |
getIdentifierOrUniqueKeyType(Mapping factory)
Determine the type of either (1) the identifier if we reference the associated entity's PK or (2) the unique key to which we refer (i.e. |
String |
getLHSPropertyName()
Get the name of a property in the owning entity that provides the join key (null if the identifier) |
String |
getName()
For entity types, the name correlates to the associated entity name. |
String |
getOnCondition(String alias,
SessionFactoryImplementor factory,
Map enabledFilters)
Get the "filtering" SQL fragment that is applied in the SQL on clause, in addition to the usual join condition |
String |
getPropertyName()
|
Class |
getReturnedClass()
This returns the wrong class for an entity with a proxy, or for a named entity. |
String |
getRHSUniqueKeyPropertyName()
The name of a unique property of the associated entity that provides the join key (null if the identifier of an entity, or key of a collection) |
Type |
getSemiResolvedType(SessionFactoryImplementor factory)
As part of 2-phase loading, when we perform resolving what is the resolved type for this type? Generally speaking the type and its semi-resolved type will be the same. |
boolean |
isAssociationType()
An entity type is a type of association type |
boolean |
isEmbeddedInXML()
|
boolean |
isEntityType()
Explicitly, an entity type is an entity type ;) |
boolean |
isEqual(Object x,
Object y,
SessionFactoryImplementor factory)
Compare two instances of the class mapped by this type for persistence "equality" (equality of persistent state). |
boolean |
isLogicalOneToOne()
Is the association modeled here a 1-1 according to the logical moidel? |
boolean |
isMutable()
Are objects of this type mutable. |
protected boolean |
isNotEmbedded(SessionImplementor session)
|
protected boolean |
isNull(Object owner,
SessionImplementor session)
|
protected abstract boolean |
isNullable()
|
abstract boolean |
isOneToOne()
Is the association modeled here defined as a 1-1 in the database (physical model)? |
boolean |
isReferenceToPrimaryKey()
Does this association foreign key reference the primary key of the other table? Otherwise, it references a property-ref. |
boolean |
isSame(Object x,
Object y)
Two entities are considered the same when their instances are the same. |
boolean |
isXMLElement()
|
Object |
loadByUniqueKey(String entityName,
String uniqueKeyPropertyName,
Object key,
SessionImplementor session)
Load an instance by a unique key that is not the primary key. |
Object |
nullSafeGet(ResultSet rs,
String[] names,
SessionImplementor session,
Object owner)
Extract a value of the mapped class from the JDBC result set. |
Object |
nullSafeGet(ResultSet rs,
String name,
SessionImplementor session,
Object owner)
Extract a value of the mapped class from the JDBC result set. |
Object |
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. |
Object |
resolve(Object value,
SessionImplementor session,
Object owner)
Resolve an identifier or unique key value |
protected Object |
resolveIdentifier(Serializable id,
SessionImplementor session)
Resolve an identifier via a load. |
protected TypeFactory.TypeScope |
scope()
|
void |
setToXMLNode(org.dom4j.Node node,
Object value,
SessionFactoryImplementor factory)
A representation of the value to be embedded in an XML element. |
String |
toLoggableString(Object value,
SessionFactoryImplementor factory)
Generate a loggable representation of an instance of the value mapped by this type. |
String |
toString()
Generates a string representation of this type. |
Methods inherited from class org.hibernate.type.AbstractType |
---|
assemble, beforeAssemble, disassemble, getHashCode, hydrate, isAnyType, isCollectionType, isComponentType, isDirty, isEqual, isModified, replace, replaceNode, 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.AssociationType |
---|
getForeignKeyDirection, isAlwaysDirtyChecked, useLHSPrimaryKey |
Methods inherited from interface org.hibernate.type.Type |
---|
assemble, beforeAssemble, defaultSizes, dictatedSizes, disassemble, getColumnSpan, getHashCode, hydrate, isAnyType, isCollectionType, isComponentType, isDirty, isDirty, isEqual, isModified, nullSafeSet, nullSafeSet, replace, semiResolve, sqlTypes, toColumnNullness |
Field Detail |
---|
protected final String uniqueKeyPropertyName
protected final boolean isEmbeddedInXML
Constructor Detail |
---|
protected EntityType(TypeFactory.TypeScope scope, String entityName, String uniqueKeyPropertyName, boolean eager, boolean isEmbeddedInXML, boolean unwrapProxy)
scope
- The type scopeentityName
- The name of the associated entity.uniqueKeyPropertyName
- The property-ref name, or null if we
reference the PK of the associated entity.eager
- Is eager fetching enabled.isEmbeddedInXML
- Should values of this mapping be embedded in XML modes?unwrapProxy
- Is unwrapping of proxies allowed for this association; unwrapping
says to return the "implementation target" of lazy prooxies; typically only possible
with lazy="no-proxy".Method Detail |
---|
protected TypeFactory.TypeScope scope()
public boolean isAssociationType()
isAssociationType
in interface Type
isAssociationType
in class AbstractType
public final boolean isEntityType()
isEntityType
in interface Type
isEntityType
in class AbstractType
public boolean isMutable()
isMutable
in interface Type
public String toString()
toString
in class Object
public String getName()
getName
in interface Type
public boolean isReferenceToPrimaryKey()
public String getRHSUniqueKeyPropertyName()
AssociationType
getRHSUniqueKeyPropertyName
in interface AssociationType
public String getLHSPropertyName()
AssociationType
getLHSPropertyName
in interface AssociationType
public String getPropertyName()
public final String getAssociatedEntityName()
public String getAssociatedEntityName(SessionFactoryImplementor factory)
getAssociatedEntityName
in interface AssociationType
factory
- The session factory, for resolution.
public Joinable getAssociatedJoinable(SessionFactoryImplementor factory) throws MappingException
Joinable
defining the associated entity.
getAssociatedJoinable
in interface AssociationType
factory
- The session factory.
MappingException
- Generally indicates an invalid entity name.public final Class getReturnedClass()
getReturnedClass
in interface Type
public Object nullSafeGet(ResultSet rs, String name, SessionImplementor session, Object owner) throws HibernateException, SQLException
mapped class
from the JDBC result set. Implementors
should handle possibility of null values. This form might be called if the type is known to be a
single-column type.
nullSafeGet
in interface Type
rs
- The result set from which to extract value.name
- the column name making up this type value (use to read from result set)session
- The originating sessionowner
- the parent entity
HibernateException
- An error from Hibernate
SQLException
- An error from the JDBC driverpublic final Object nullSafeGet(ResultSet rs, String[] names, SessionImplementor session, Object owner) throws HibernateException, SQLException
mapped class
from the JDBC result set. Implementors
should handle possibility of null values.
nullSafeGet
in interface Type
rs
- The result set from which to extract value.names
- the column names making up this type value (use to read from result set)session
- The originating sessionowner
- the parent entity
HibernateException
- An error from Hibernate
SQLException
- An error from the JDBC driveralternative, 2-phase property initialization
public final boolean isSame(Object x, Object y)
isSame
in interface Type
isSame
in class AbstractType
x
- One entity instancey
- Another entity instance
public int compare(Object x, Object y)
Comparator
style comparison between values
compare
in interface Type
compare
in class AbstractType
x
- The first valuey
- The second value
Comparator.compare(T, T)
for a discussion.public Object deepCopy(Object value, SessionFactoryImplementor factory)
deepCopy
in interface Type
value
- The value to be copiedfactory
- The session factory
public Object replace(Object original, Object target, SessionImplementor session, Object owner, Map copyCache) throws HibernateException
replace
in interface Type
original
- the value from the detached entity being mergedtarget
- the value in the managed entitysession
- The originating sessionowner
- The owner of the valuecopyCache
- The cache of already copied/replaced values
HibernateException
- An error from Hibernatepublic int getHashCode(Object x, SessionFactoryImplementor factory)
hashCode
.
getHashCode
in interface Type
getHashCode
in class AbstractType
x
- The value for which to retrieve a hash codefactory
- The session factory
public boolean isEqual(Object x, Object y, SessionFactoryImplementor factory)
Type
isEqual
in interface Type
isEqual
in class AbstractType
x
- The first valuey
- The second valuefactory
- The session factory
public boolean isEmbeddedInXML()
isEmbeddedInXML
in interface AssociationType
public boolean isXMLElement()
isXMLElement
in interface Type
isXMLElement
in class AbstractType
public Object fromXMLNode(org.dom4j.Node xml, Mapping factory) throws HibernateException
fromXMLNode
in interface Type
xml
- The XML node from which to read the valuefactory
- The session factory
mapped class
HibernateException
- An error from Hibernatepublic void setToXMLNode(org.dom4j.Node node, Object value, SessionFactoryImplementor factory) throws HibernateException
setToXMLNode
in interface Type
node
- The XML node to which to write the valuevalue
- The value to writefactory
- The session factory
HibernateException
- An error from Hibernatepublic String getOnCondition(String alias, SessionFactoryImplementor factory, Map enabledFilters) throws MappingException
AssociationType
getOnCondition
in interface AssociationType
MappingException
public Object resolve(Object value, SessionImplementor session, Object owner) throws HibernateException
resolve
in interface Type
resolve
in class AbstractType
value
- an identifier or value returned by hydrate()session
- the sessionowner
- the parent entity
HibernateException
- An error from HibernateType.hydrate(java.sql.ResultSet, java.lang.String[], org.hibernate.engine.spi.SessionImplementor, java.lang.Object)
public Type getSemiResolvedType(SessionFactoryImplementor factory)
Type
getSemiResolvedType
in interface Type
getSemiResolvedType
in class AbstractType
factory
- The session factory
protected final Object getIdentifier(Object value, SessionImplementor session) throws HibernateException
HibernateException
protected boolean isNotEmbedded(SessionImplementor session)
public String toLoggableString(Object value, SessionFactoryImplementor factory)
toLoggableString
in interface Type
value
- The instance to be logged.factory
- The session factory.
HibernateException
- Generally some form of resolution problem.public abstract boolean isOneToOne()
public boolean isLogicalOneToOne()
public final Type getIdentifierOrUniqueKeyType(Mapping factory) throws MappingException
factory
- The mappings...
MappingException
- Generally, if unable to resolve the associated entity name
or unique key property name.public final String getIdentifierOrUniqueKeyPropertyName(Mapping factory) throws MappingException
factory
- The mappings...
MappingException
- Generally, if unable to resolve the associated entity nameprotected abstract boolean isNullable()
protected final Object resolveIdentifier(Serializable id, SessionImplementor session) throws HibernateException
id
- The entity id to resolvesession
- The orginating session.
HibernateException
- Indicates problems performing the load.protected boolean isNull(Object owner, SessionImplementor session)
public Object loadByUniqueKey(String entityName, String uniqueKeyPropertyName, Object key, SessionImplementor session) throws HibernateException
entityName
- The name of the entity to loaduniqueKeyPropertyName
- The name of the property defining the uniqie key.key
- The unique key property value.session
- The originating session.
HibernateException
- generally indicates problems performing the load.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |