Top Description Fields Constructors Methods
org.hibernate.engine

public final Class EntityKey

extends Object
implements Serializable
Class Inheritance
All Implemented Interfaces
java.io.Serializable
Imports
java.io.Serializable, .ObjectOutputStream, .IOException, .ObjectInputStream, org.hibernate.AssertionFailure, .EntityMode, org.hibernate.persister.entity.EntityPersister, org.hibernate.pretty.MessageHelper, org.hibernate.type.Type

Uniquely identifies of an entity instance in a particular session by identifier.

Uniqueing information consists of the entity-name and the identifier value.

Author
Gavin King
See Also
EntityUniqueKey

Field Summary

Modifier and TypeField and Description
private final EntityMode
private final String
private final SessionFactoryImplementor
private final int
private final Serializable
private final Type
private final boolean
private final String

Constructor Summary

AccessConstructor and Description
public
EntityKey(Serializable id, EntityPersister persister, EntityMode entityMode)

Construct a unique identifier for an entity class instance

private
EntityKey(Serializable
The identifier value
identifier
,
String
The root entity name
rootEntityName
,
String
The specific entity name
entityName
,
Type
The type of the identifier value
identifierType
,
boolean
Whether represented entity is eligible for batch loading
batchLoadable
,
SessionFactoryImplementor
The session factory
factory
,
EntityMode
The entity's entity mode
entityMode
)

Used to reconstruct an EntityKey during deserialization.

Method Summary

Modifier and TypeMethod and Description
pack-priv static EntityKey

Returns:

The deserialized EntityEntry
deserialize
(ObjectInputStream
The stream from which to read the entry.
ois
,
SessionImplementor
The session being deserialized.
session
)

Custom deserialization routine used during deserialization of a Session/PersistenceContext for increased performance.

public boolean
equals(Object
the reference object with which to compare.
other
)

Overrides java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.
private int
public String
public Serializable
getIdentifier()

Get the user-visible identifier

public int
hashCode()

Overrides java.lang.Object.hashCode.

Returns a hash code value for the object.
public boolean
pack-priv void
serialize(ObjectOutputStream
The stream to which we should write the serial data.
oos
)

Custom serialization routine used during serialization of a Session/PersistenceContext for increased performance.

public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.
Inherited from java.lang.Object:
clonefinalizegetClassnotifynotifyAllwaitwaitwait

Field Detail

entityModeback to summary
private final EntityMode entityMode
entityNameback to summary
private final String entityName
factoryback to summary
private final SessionFactoryImplementor factory
hashCodeback to summary
private final int hashCode
identifierback to summary
private final Serializable identifier
identifierTypeback to summary
private final Type identifierType
isBatchLoadableback to summary
private final boolean isBatchLoadable
rootEntityNameback to summary
private final String rootEntityName

Constructor Detail

EntityKeyback to summary
public EntityKey(Serializable id, EntityPersister persister, EntityMode entityMode)

Construct a unique identifier for an entity class instance

EntityKeyback to summary
private EntityKey(Serializable identifier, String rootEntityName, String entityName, Type identifierType, boolean batchLoadable, SessionFactoryImplementor factory, EntityMode entityMode)

Used to reconstruct an EntityKey during deserialization.

Parameters
identifier:Serializable

The identifier value

rootEntityName:String

The root entity name

entityName:String

The specific entity name

identifierType:Type

The type of the identifier value

batchLoadable:boolean

Whether represented entity is eligible for batch loading

factory:SessionFactoryImplementor

The session factory

entityMode:EntityMode

The entity's entity mode

Method Detail

deserializeback to summary
pack-priv static EntityKey deserialize(ObjectInputStream ois, SessionImplementor session) throws IOException, ClassNotFoundException

Custom deserialization routine used during deserialization of a Session/PersistenceContext for increased performance.

Parameters
ois:ObjectInputStream

The stream from which to read the entry.

session:SessionImplementor

The session being deserialized.

Returns:EntityKey

The deserialized EntityEntry

equalsback to summary
public boolean equals(Object other)

Overrides java.lang.Object.equals.

Doc from java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

Parameters
other:Object

the reference object with which to compare.

Returns:boolean

true if this object is the same as the obj argument; false otherwise.

generateHashCodeback to summary
private int generateHashCode()
getEntityNameback to summary
public String getEntityName()
getIdentifierback to summary
public Serializable getIdentifier()

Get the user-visible identifier

hashCodeback to summary
public int hashCode()

Overrides java.lang.Object.hashCode.

Doc from java.lang.Object.hashCode.

Returns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided by java.util.HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
Returns:int

a hash code value for this object.

isBatchLoadableback to summary
public boolean isBatchLoadable()
serializeback to summary
pack-priv void serialize(ObjectOutputStream oos) throws IOException

Custom serialization routine used during serialization of a Session/PersistenceContext for increased performance.

Parameters
oos:ObjectOutputStream

The stream to which we should write the serial data.

toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object.

Returns:String

a string representation of the object.