Package org.hibernate.engine.spi
Class EntityKey
- java.lang.Object
-
- org.hibernate.engine.spi.EntityKey
-
- All Implemented Interfaces:
java.io.Serializable
public final class EntityKey extends java.lang.Object implements java.io.SerializableUniquely identifies of an entity instance in a particular Session by identifier. Note that it's only safe to be used within the scope of a Session: it doesn't consider for example the tenantId as part of the equality definition. Information used to determine uniqueness consists of the entity-name and the identifier value (seeequals(java.lang.Object)). Performance considerations: lots of instances of this type are created at runtime. Make sure each one is as small as possible by storing just the essential needed.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description EntityKey(java.io.Serializable id, EntityPersister persister)Construct a unique identifier for an entity class instance.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static EntityKeydeserialize(java.io.ObjectInputStream ois, SessionFactoryImplementor sessionFactory)Custom deserialization routine used during deserialization of a Session/PersistenceContext for increased performance.booleanequals(java.lang.Object other)java.lang.StringgetEntityName()java.io.SerializablegetIdentifier()EntityPersistergetPersister()inthashCode()booleanisBatchLoadable()voidserialize(java.io.ObjectOutputStream oos)Custom serialization routine used during serialization of a Session/PersistenceContext for increased performance.java.lang.StringtoString()
-
-
-
Constructor Detail
-
EntityKey
public EntityKey(java.io.Serializable id, EntityPersister persister)Construct a unique identifier for an entity class instance. NOTE : This signature has changed to accommodate both entity mode and multi-tenancy, both of which relate to the Session to which this key belongs. To help minimize the impact of these changes in the future, theSharedSessionContractImplementor.generateEntityKey(java.io.Serializable, org.hibernate.persister.entity.EntityPersister)method was added to hide the session-specific changes.- Parameters:
id- The entity idpersister- The entity persister
-
-
Method Detail
-
isBatchLoadable
public boolean isBatchLoadable()
-
getIdentifier
public java.io.Serializable getIdentifier()
-
getEntityName
public java.lang.String getEntityName()
-
getPersister
public EntityPersister getPersister()
-
equals
public boolean equals(java.lang.Object other)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
serialize
public void serialize(java.io.ObjectOutputStream oos) throws java.io.IOExceptionCustom serialization routine used during serialization of a Session/PersistenceContext for increased performance.- Parameters:
oos- The stream to which we should write the serial data.- Throws:
java.io.IOException- Thrown by Java I/O
-
deserialize
public static EntityKey deserialize(java.io.ObjectInputStream ois, SessionFactoryImplementor sessionFactory) throws java.io.IOException, java.lang.ClassNotFoundException
Custom deserialization routine used during deserialization of a Session/PersistenceContext for increased performance.- Parameters:
ois- The stream from which to read the entry.sessionFactory- The SessionFactory owning the Session being deserialized.- Returns:
- The deserialized EntityEntry
- Throws:
java.io.IOException- Thrown by Java I/Ojava.lang.ClassNotFoundException- Thrown by Java I/O
-
-