📄 entitypersister.java
字号:
* Get the "checkability" of the properties of this class
* (is the property dirty checked, does the cache need
* to be updated)
*/
public boolean[] getPropertyCheckability();
/**
* Get the nullability of the properties of this class
*/
public boolean[] getPropertyNullability();
/**
* Get the "versionability" of the properties of this class
* (is the property optimistic-locked)
*/
public boolean[] getPropertyVersionability();
public boolean[] getPropertyLaziness();
/**
* Get the cascade styles of the propertes (optional operation)
*/
public CascadeStyle[] getPropertyCascadeStyles();
/**
* Get the identifier type
*/
public Type getIdentifierType();
/**
* Get the name of the identifier property (or return null) - need not return the
* name of an actual Java property
*/
public String getIdentifierPropertyName();
/**
* Should we always invalidate the cache instead of
* recaching updated state
*/
public boolean isCacheInvalidationRequired();
/**
* Should lazy properties of this entity be cached?
*/
public boolean isLazyPropertiesCacheable();
/**
* Does this class have a cache.
*/
public boolean hasCache();
/**
* Get the cache (optional operation)
*/
public CacheConcurrencyStrategy getCache();
/**
* Get the cache structure
*/
public CacheEntryStructure getCacheEntryStructure();
/**
* Get the user-visible metadata for the class (optional operation)
*/
public ClassMetadata getClassMetadata();
/**
* Is batch loading enabled?
*/
public boolean isBatchLoadable();
/**
* Is select snapshot before update enabled?
*/
public boolean isSelectBeforeUpdateRequired();
/**
* Get the current database state of the object, in a "hydrated" form, without
* resolving identifiers
* @return null if there is no row in the database
*/
public Object[] getDatabaseSnapshot(Serializable id, SessionImplementor session)
throws HibernateException;
/**
* Get the current version of the object, or return null if there is no row for
* the given identifier. In the case of unversioned data, return any object
* if the row exists.
*/
public Object getCurrentVersion(Serializable id, SessionImplementor session)
throws HibernateException;
/**
* Try to discover the entity mode from the entity instance
*/
public EntityMode guessEntityMode(Object object);
/**
* Has the class actually been bytecode instrumented?
*/
public boolean isInstrumented(EntityMode entityMode);
/**
* Does this entity define any properties as being database generated on insert?
*
* @return True if this entity contains at least one property defined
* as generated (including version property, but not identifier).
*/
public boolean hasInsertGeneratedProperties();
/**
* Does this entity define any properties as being database generated on update?
*
* @return True if this entity contains at least one property defined
* as generated (including version property, but not identifier).
*/
public boolean hasUpdateGeneratedProperties();
/**
* Does this entity contain a version property that is defined
* to be database generated?
*
* @return true if this entity contains a version property and that
* property has been marked as generated.
*/
public boolean isVersionPropertyGenerated();
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// stuff that is tuplizer-centric, but is passed a session ~~~~~~~~~~~~~~~~
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/**
* Called just after the entities properties have been initialized
*/
public void afterInitialize(Object entity, boolean lazyPropertiesAreUnfetched, SessionImplementor session);
/**
* Called just after the entity has been reassociated with the session
*/
public void afterReassociate(Object entity, SessionImplementor session);
/**
* Create a new proxy instance
*/
public Object createProxy(Serializable id, SessionImplementor session)
throws HibernateException;
/**
* Is this a new transient instance?
*/
public Boolean isTransient(Object object, SessionImplementor session) throws HibernateException;
/**
* Return the values of the insertable properties of the object (including backrefs)
*/
public Object[] getPropertyValuesToInsert(Object object, Map mergeMap, SessionImplementor session) throws HibernateException;
/**
* Perform a select to retrieve the values of any generated properties
* back from the database, injecting these generated values into the
* given entity as well as writing this state to the
* {@link org.hibernate.engine.PersistenceContext}.
* <p/>
* Note, that because we update the PersistenceContext here, callers
* need to take care that they have already written the initial snapshot
* to the PersistenceContext before calling this method.
*
* @param id The entity's id value.
* @param entity The entity for which to get the state.
* @param state
* @param session The session
*/
public void processInsertGeneratedProperties(Serializable id, Object entity, Object[] state, SessionImplementor session);
/**
* Perform a select to retrieve the values of any generated properties
* back from the database, injecting these generated values into the
* given entity as well as writing this state to the
* {@link org.hibernate.engine.PersistenceContext}.
* <p/>
* Note, that because we update the PersistenceContext here, callers
* need to take care that they have already written the initial snapshot
* to the PersistenceContext before calling this method.
*
* @param id The entity's id value.
* @param entity The entity for which to get the state.
* @param state
* @param session The session
*/
public void processUpdateGeneratedProperties(Serializable id, Object entity, Object[] state, SessionImplementor session);
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// stuff that is Tuplizer-centric ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/**
* The persistent class, or null
*/
public Class getMappedClass(EntityMode entityMode);
/**
* Does the class implement the <tt>Lifecycle</tt> interface.
*/
public boolean implementsLifecycle(EntityMode entityMode);
/**
* Does the class implement the <tt>Validatable</tt> interface.
*/
public boolean implementsValidatable(EntityMode entityMode);
/**
* Get the proxy interface that instances of <em>this</em> concrete class will be
* cast to (optional operation).
*/
public Class getConcreteProxyClass(EntityMode entityMode);
/**
* Set the given values to the mapped properties of the given object
*/
public void setPropertyValues(Object object, Object[] values, EntityMode entityMode) throws HibernateException;
/**
* Set the value of a particular property
*/
public void setPropertyValue(Object object, int i, Object value, EntityMode entityMode) throws HibernateException;
/**
* Return the (loaded) values of the mapped properties of the object (not including backrefs)
*/
public Object[] getPropertyValues(Object object, EntityMode entityMode) throws HibernateException;
/**
* Get the value of a particular property
*/
public Object getPropertyValue(Object object, int i, EntityMode entityMode) throws HibernateException;
/**
* Get the value of a particular property
*/
public Object getPropertyValue(Object object, String propertyName, EntityMode entityMode) throws HibernateException;
/**
* Get the identifier of an instance (throw an exception if no identifier property)
*/
public Serializable getIdentifier(Object object, EntityMode entityMode) throws HibernateException;
/**
* Set the identifier of an instance (or do nothing if no identifier property)
*/
public void setIdentifier(Object object, Serializable id, EntityMode entityMode) throws HibernateException;
/**
* Get the version number (or timestamp) from the object's version property (or return null if not versioned)
*/
public Object getVersion(Object object, EntityMode entityMode) throws HibernateException;
/**
* Create a class instance initialized with the given identifier
*/
public Object instantiate(Serializable id, EntityMode entityMode) throws HibernateException;
/**
* Is the given object an instance of this entity?
*/
public boolean isInstance(Object object, EntityMode entityMode);
/**
* Does the given instance have any uninitialized lazy properties?
*/
public boolean hasUninitializedLazyProperties(Object object, EntityMode entityMode);
/**
* Set the identifier and version of the given instance back
* to its "unsaved" value, returning the id
* @param currentId TODO
* @param currentVersion TODO
*/
public void resetIdentifier(Object entity, Serializable currentId, Object currentVersion, EntityMode entityMode);
/**
* Get the persister for an instance of this class or a subclass
*/
public EntityPersister getSubclassEntityPersister(Object instance, SessionFactoryImplementor factory, EntityMode entityMode);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -