public static interface PersistenceContext.NaturalIdHelper
| Modifier and Type | Field and Description |
|---|---|
static java.io.Serializable |
INVALID_NATURAL_ID_REFERENCE |
| Modifier and Type | Method and Description |
|---|---|
void |
cacheNaturalIdCrossReferenceFromLoad(EntityPersister persister,
java.io.Serializable id,
java.lang.Object[] naturalIdValues)
Performs processing related to creating natural-id cross-reference entries on load.
|
void |
cleanupFromSynchronizations()
|
java.lang.Object[] |
extractNaturalIdValues(java.lang.Object[] state,
EntityPersister persister)
Given an array of "full entity state", extract the portions that represent the natural id
|
java.lang.Object[] |
extractNaturalIdValues(java.lang.Object entity,
EntityPersister persister)
Given an entity instance, extract the values that represent the natural id
|
java.lang.Object[] |
findCachedNaturalId(EntityPersister persister,
java.io.Serializable pk)
Given a persister and primary key, find the corresponding cross-referenced natural id values.
|
java.io.Serializable |
findCachedNaturalIdResolution(EntityPersister persister,
java.lang.Object[] naturalIdValues)
Given a persister and natural-id values, find the corresponding cross-referenced primary key.
|
java.util.Collection<java.io.Serializable> |
getCachedPkResolutions(EntityPersister persister)
Find all the locally cached primary key cross-reference entries for the given persister.
|
void |
handleEviction(java.lang.Object object,
EntityPersister persister,
java.io.Serializable identifier)
Called on
Session.evict(java.lang.Object) to give a chance to clean up natural-id cross refs. |
void |
handleSynchronization(EntityPersister persister,
java.io.Serializable pk,
java.lang.Object entity)
Part of the "load synchronization process".
|
void |
manageLocalNaturalIdCrossReference(EntityPersister persister,
java.io.Serializable id,
java.lang.Object[] state,
java.lang.Object[] previousState,
CachedNaturalIdValueSource source)
Creates necessary local cross-reference entries.
|
void |
manageSharedNaturalIdCrossReference(EntityPersister persister,
java.io.Serializable id,
java.lang.Object[] state,
java.lang.Object[] previousState,
CachedNaturalIdValueSource source)
Creates necessary shared (second level cache) cross-reference entries.
|
java.lang.Object[] |
removeLocalNaturalIdCrossReference(EntityPersister persister,
java.io.Serializable id,
java.lang.Object[] state)
Cleans up local cross-reference entries.
|
void |
removeSharedNaturalIdCrossReference(EntityPersister persister,
java.io.Serializable id,
java.lang.Object[] naturalIdValues)
Cleans up local cross-reference entries.
|
static final java.io.Serializable INVALID_NATURAL_ID_REFERENCE
java.lang.Object[] extractNaturalIdValues(java.lang.Object[] state,
EntityPersister persister)
state - The attribute state arraypersister - The persister representing the entity type.java.lang.Object[] extractNaturalIdValues(java.lang.Object entity,
EntityPersister persister)
entity - The entity instancepersister - The persister representing the entity type.void cacheNaturalIdCrossReferenceFromLoad(EntityPersister persister, java.io.Serializable id, java.lang.Object[] naturalIdValues)
persister - The persister representing the entity type.id - The primary key valuenaturalIdValues - The natural id valuesvoid manageLocalNaturalIdCrossReference(EntityPersister persister, java.io.Serializable id, java.lang.Object[] state, java.lang.Object[] previousState, CachedNaturalIdValueSource source)
persister - The persister representing the entity type.id - The primary key valuestate - Generally the "full entity state array", though could also be the natural id values arraypreviousState - Generally the "full entity state array", though could also be the natural id values array.
Specifically represents the previous values on update, and so is only used with CachedNaturalIdValueSource.UPDATEsource - Enumeration representing how these values are coming into cache.java.lang.Object[] removeLocalNaturalIdCrossReference(EntityPersister persister, java.io.Serializable id, java.lang.Object[] state)
persister - The persister representing the entity type.id - The primary key valuestate - Generally the "full entity state array", though could also be the natural id values arrayvoid manageSharedNaturalIdCrossReference(EntityPersister persister, java.io.Serializable id, java.lang.Object[] state, java.lang.Object[] previousState, CachedNaturalIdValueSource source)
persister - The persister representing the entity type.id - The primary key valuestate - Generally the "full entity state array", though could also be the natural id values arraypreviousState - Generally the "full entity state array", though could also be the natural id values array.
Specifically represents the previous values on update, and so is only used with CachedNaturalIdValueSource.UPDATEsource - Enumeration representing how these values are coming into cache.void removeSharedNaturalIdCrossReference(EntityPersister persister, java.io.Serializable id, java.lang.Object[] naturalIdValues)
persister - The persister representing the entity type.id - The primary key valuenaturalIdValues - The natural id values arrayjava.lang.Object[] findCachedNaturalId(EntityPersister persister, java.io.Serializable pk)
persister - The persister representing the entity type.pk - The primary key valuenulljava.io.Serializable findCachedNaturalIdResolution(EntityPersister persister, java.lang.Object[] naturalIdValues)
INVALID_NATURAL_ID_REFERENCE if the given natural ids are known to
be invalid.persister - The persister representing the entity type.naturalIdValues - The natural id value(s)INVALID_NATURAL_ID_REFERENCE,
or null.java.util.Collection<java.io.Serializable> getCachedPkResolutions(EntityPersister persister)
persister - The persister representing the entity type.void handleSynchronization(EntityPersister persister, java.io.Serializable pk, java.lang.Object entity)
cleanupFromSynchronizations() is
the inverse process called after flush to clean up those entries.persister - The persister representing the entity type.pk - The primary keyentity - The entity instancecleanupFromSynchronizations()void cleanupFromSynchronizations()
handleSynchronization(org.hibernate.persister.entity.EntityPersister, java.io.Serializable, java.lang.Object). Responsible for cleaning up the tracking
of old values as no longer valid.void handleEviction(java.lang.Object object,
EntityPersister persister,
java.io.Serializable identifier)
Session.evict(java.lang.Object) to give a chance to clean up natural-id cross refs.object - The entity instance.persister - The entity persisteridentifier - The entity identifierCopyright © 2001-2018 Red Hat, Inc. All Rights Reserved.