类 DynamicMapEntityTuplizer
- java.lang.Object
-
- org.hibernate.tuple.entity.AbstractEntityTuplizer
-
- org.hibernate.tuple.entity.DynamicMapEntityTuplizer
-
- 所有已实现的接口:
EntityTuplizer,Tuplizer
public class DynamicMapEntityTuplizer extends AbstractEntityTuplizer
AnEntityTuplizerspecific to the dynamic-map entity mode.- 作者:
- Steve Ebersole, Gavin King
-
-
嵌套类概要
嵌套类 修饰符和类型 类 说明 static classDynamicMapEntityTuplizer.BasicEntityNameResolver
-
字段概要
-
从类继承的字段 org.hibernate.tuple.entity.AbstractEntityTuplizer
getters, hasCustomAccessors, propertySpan, setters
-
-
方法概要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 说明 protected InstantiatorbuildInstantiator(EntityMetamodel entityMetamodel, PersistentClass mappingInfo)Build an appropriate Instantiator for the given mapped entity.protected GetterbuildPropertyGetter(Property mappedProperty, PersistentClass mappedEntity)Build an appropriate Getter for the given property.protected SetterbuildPropertySetter(Property mappedProperty, PersistentClass mappedEntity)Build an appropriate Setter for the given property.protected ProxyFactorybuildProxyFactory(PersistentClass mappingInfo, Getter idGetter, Setter idSetter)Build an appropriate ProxyFactory for the given mapped entity.StringdetermineConcreteSubclassEntityName(Object entityInstance, SessionFactoryImplementor factory)Given an entity instance, determine the most appropriate (most targeted) entity-name which represents it.static StringextractEmbeddedEntityName(Map entity)ClassgetConcreteProxyClass()Returns the java class to which generated proxies will be typed.EntityModegetEntityMode()Return the entity-mode handled by this tuplizer instance.EntityNameResolver[]getEntityNameResolvers()Get anyEntityNameResolversassociated with thisTuplizer.ClassgetMappedClass()Return the pojo class managed by this tuplizer.-
从类继承的方法 org.hibernate.tuple.entity.AbstractEntityTuplizer
afterInitialize, createProxy, getComponentValue, getEntityMetamodel, getEntityName, getFactory, getGetter, getIdentifier, getIdentifier, getIdentifierGetter, getIdentifierMapperType, getInstantiator, getPropertyValue, getPropertyValue, getPropertyValues, getPropertyValuesToInsert, getProxyFactory, getSubclassEntityNames, getVersion, getVersionGetter, hasProxy, instantiate, instantiate, instantiate, isInstance, isLifecycleImplementor, resetIdentifier, resetIdentifier, setIdentifier, setIdentifier, setPropertyValue, setPropertyValue, setPropertyValues, shouldGetAllProperties, toString
-
-
-
-
方法详细资料
-
getEntityMode
public EntityMode getEntityMode()
从接口复制的说明:EntityTuplizerReturn the entity-mode handled by this tuplizer instance.- 返回:
- The entity-mode
-
buildPropertyGetter
protected Getter buildPropertyGetter(Property mappedProperty, PersistentClass mappedEntity)
从类复制的说明:AbstractEntityTuplizerBuild an appropriate Getter for the given property.- 指定者:
buildPropertyGetter在类中AbstractEntityTuplizer- 参数:
mappedProperty- The property to be accessed via the built Getter.mappedEntity- The entity information regarding the mapped entity owning this property.- 返回:
- An appropriate Getter instance.
-
buildPropertySetter
protected Setter buildPropertySetter(Property mappedProperty, PersistentClass mappedEntity)
从类复制的说明:AbstractEntityTuplizerBuild an appropriate Setter for the given property.- 指定者:
buildPropertySetter在类中AbstractEntityTuplizer- 参数:
mappedProperty- The property to be accessed via the built Setter.mappedEntity- The entity information regarding the mapped entity owning this property.- 返回:
- An appropriate Setter instance.
-
buildInstantiator
protected Instantiator buildInstantiator(EntityMetamodel entityMetamodel, PersistentClass mappingInfo)
从类复制的说明:AbstractEntityTuplizerBuild an appropriate Instantiator for the given mapped entity.- 指定者:
buildInstantiator在类中AbstractEntityTuplizermappingInfo- The mapping information regarding the mapped entity.- 返回:
- An appropriate Instantiator instance.
-
buildProxyFactory
protected ProxyFactory buildProxyFactory(PersistentClass mappingInfo, Getter idGetter, Setter idSetter)
从类复制的说明:AbstractEntityTuplizerBuild an appropriate ProxyFactory for the given mapped entity.- 指定者:
buildProxyFactory在类中AbstractEntityTuplizer- 参数:
mappingInfo- The mapping information regarding the mapped entity.idGetter- The constructed Getter relating to the entity's id property.idSetter- The constructed Setter relating to the entity's id property.- 返回:
- An appropriate ProxyFactory instance.
-
getMappedClass
public Class getMappedClass()
从接口复制的说明:TuplizerReturn the pojo class managed by this tuplizer. Need to determine how to best handle this for the Tuplizers for EntityModes other than POJO. todo : be really nice to not have this here since it is essentially pojo specific...- 返回:
- The persistent class.
-
getConcreteProxyClass
public Class getConcreteProxyClass()
从接口复制的说明:EntityTuplizerReturns the java class to which generated proxies will be typed. todo : look at fully encapsulatingPersistenceContext.narrowProxy(java.lang.Object, org.hibernate.persister.entity.EntityPersister, org.hibernate.engine.spi.EntityKey, java.lang.Object)here, since that is the only external use of this method- 返回:
- The java class to which generated proxies will be typed
-
getEntityNameResolvers
public EntityNameResolver[] getEntityNameResolvers()
从接口复制的说明:EntityTuplizerGet anyEntityNameResolversassociated with thisTuplizer.- 返回:
- The associated resolvers. May be null or empty.
-
determineConcreteSubclassEntityName
public String determineConcreteSubclassEntityName(Object entityInstance, SessionFactoryImplementor factory)
从接口复制的说明:EntityTuplizerGiven an entity instance, determine the most appropriate (most targeted) entity-name which represents it. This is called in situations where we already know an entity name for the given entityInstance; we are being asked to determine if there is a more appropriate entity-name to use, specifically within an inheritance hierarchy. For example, consider a case where a user calls session.update( "Animal", cat );. Here, the user has explicitly provided Animal as the entity-name. However, they have passed in an instance of Cat which is a subclass of Animal. In this case, we would return Cat as the entity-name. null may be returned from calls to this method. The meaning of null in that case is assumed to be that we should use whatever explicit entity-name the user provided (Animal rather than Cat in the example above).- 参数:
entityInstance- The entity instance.factory- Reference to the SessionFactory.- 返回:
- The most appropriate entity name to use.
-
-