📄 entitypersister.java
字号:
* Update a persistent instance */ public void update( Serializable id, Object[] fields, int[] dirtyFields, boolean hasDirtyCollection, Object[] oldFields, Object oldVersion, Object object, Object rowId, SessionImplementor session ) throws HibernateException; /** * Get the Hibernate types of the class properties */ public Type[] getPropertyTypes(); /** * Get the names of the class properties - doesn't have to be the names of the * actual Java properties (used for XML generation only) */ public String[] getPropertyNames(); /** * Get the "insertability" of the properties of this class * (does the property appear in an SQL INSERT) */ public boolean[] getPropertyInsertability(); /** * Which of the properties of this class are database generated values on insert? */ public ValueInclusion[] getPropertyInsertGenerationInclusions(); /** * Which of the properties of this class are database generated values on update? */ public ValueInclusion[] getPropertyUpdateGenerationInclusions(); /** * Get the "updateability" of the properties of this class * (does the property appear in an SQL UPDATE) */ public boolean[] getPropertyUpdateability(); /** * 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 EntityRegionAccessStrategy getCacheAccessStrategy(); /** * 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; public Object forceVersionIncrement(Serializable id, Object currentVersion, 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 + -