public final class PersistenceDelegator extends Object
| Modifier and Type | Field and Description |
|---|---|
private Map<String,Client> |
clientMap
The client map.
|
private boolean |
closed
The closed.
|
private Coordinator |
coordinator |
private boolean |
enableFlush |
private EntityEventDispatcher |
eventDispatcher
The event dispatcher.
|
private FlushManager |
flushManager |
private javax.persistence.FlushModeType |
flushMode |
private boolean |
isTransactionInProgress |
private EntityManagerFactoryImpl.KunderaMetadata |
kunderaMetadata |
private ReentrantReadWriteLock |
lock |
private static org.slf4j.Logger |
log
The Constant log.
|
private PersistenceCache |
persistenceCache |
| Constructor and Description |
|---|
PersistenceDelegator(EntityManagerFactoryImpl.KunderaMetadata kunderaMetadata,
PersistenceCache pc)
Instantiates a new persistence delegator.
|
| Modifier and Type | Method and Description |
|---|---|
private boolean |
applyFlush()
Returns true, if flush mode is AUTO and not running within transaction ||
running within transaction and commit is invoked.
|
(package private) void |
begin()
Transaction related methods
|
(package private) void |
clear() |
(package private) void |
close()
Close.
|
(package private) void |
commit() |
(package private) boolean |
contains(Object entity)
Check if the instance is a managed entity instance belonging to the
current persistence context.
|
(package private) javax.persistence.Query |
createNativeQuery(String jpaQuery,
Class resultClass) |
(package private) javax.persistence.Query |
createQuery(String jpaQuery)
Creates the query.
|
(package private) javax.persistence.Query |
createQuery(String jpaQuery,
String persistenceUnit)
Creates the query.
|
void |
detach(Object entity)
Remove the given entity from the persistence context, causing a managed
entity to become detached.
|
(package private) void |
doFlush()
On explicit call from em.flush().
|
private void |
execute()
Executes batch.
|
<E> List<E> |
find(Class<E> entityClass,
Map<String,String> embeddedColumnMap)
|
<E> List<E> |
find(Class<E> entityClass,
Object... primaryKeys)
Retrieves a
List of Entities for given Primary Keys |
(package private) <E> E |
find(Class<E> entityClass,
Object primaryKey)
Finds an entity from persistence cache, if not there, fetches from
database.
|
<E> E |
findById(Class<E> entityClass,
Object primaryKey)
Find object based on primary key either form persistence cache or from
database
|
private void |
flush()
Flushes Dirty objects in
PersistenceCache to databases. |
private void |
flushJoinTableData()
On flushing join table data
|
Client |
getClient(EntityMetadata m)
Gets the client.
|
Client |
getClient(String persistenceUnit) |
(package private) Coordinator |
getCoordinator()
Returns transaction coordinator.
|
(package private) Map<String,Client> |
getDelegate()
Returns map of client as delegate to entity manager.
|
EntityEventDispatcher |
getEventDispatcher()
Gets the event dispatcher.
|
EntityManagerFactoryImpl.KunderaMetadata |
getKunderaMetadata() |
private EntityMetadata |
getMetadata(Class<?> clazz)
Gets the metadata.
|
PersistenceCache |
getPersistenceCache() |
private javax.persistence.Query |
getQueryInstance(String jpaQuery,
boolean isNative,
Class mappedClass) |
boolean |
isOpen()
Checks if is open.
|
boolean |
isTransactionInProgress() |
(package private) void |
loadClient(String persistenceUnit,
Client client)
Pre load client specific to persistence unit.
|
<E> E |
merge(E e) |
private void |
onClearProxy() |
private void |
onSetProxyOwners(EntityMetadata m,
Object e) |
private void |
onSynchronization(Node node,
EntityMetadata metadata)
If transaction is in progress and user explicitly invokes em.flush()!
|
void |
persist(Object e)
Writes an entity into Persistence cache.
|
(package private) void |
populateClientProperties(Map properties)
Populates client specific properties.
|
void |
refresh(Object entity)
Refresh the state of the instance from the database, overwriting changes
made to the entity, if any.
|
void |
remove(Object e)
Removes an entity object from persistence cache.
|
(package private) void |
rollback() |
(package private) void |
setFlushMode(javax.persistence.FlushModeType flushMode) |
private static final org.slf4j.Logger log
private boolean closed
private final EntityEventDispatcher eventDispatcher
private javax.persistence.FlushModeType flushMode
private final ReentrantReadWriteLock lock
private boolean isTransactionInProgress
private final PersistenceCache persistenceCache
private final FlushManager flushManager
private boolean enableFlush
private Coordinator coordinator
private final EntityManagerFactoryImpl.KunderaMetadata kunderaMetadata
PersistenceDelegator(EntityManagerFactoryImpl.KunderaMetadata kunderaMetadata, PersistenceCache pc)
session - the sessionpersistenceUnits - the persistence unitspublic void persist(Object e)
public <E> E findById(Class<E> entityClass, Object primaryKey)
entityClass - primaryKey - <E> E find(Class<E> entityClass, Object primaryKey)
entityClass - Entity ClassprimaryKey - Primary Keypublic <E> List<E> find(Class<E> entityClass, Object... primaryKeys)
List of Entities for given Primary KeysentityClass - Entity ClassprimaryKeys - Array of Primary KeysPersistenceDelegator#find(Class, Object)}public <E> List<E> find(Class<E> entityClass, Map<String,String> embeddedColumnMap)
List of entities for a given Map of embedded
column values. Purpose of this method is to provide functionality of
search based on columns inside embedded objects.entityClass - Entity ClassembeddedColumnMap - Embedded column map valuespublic void remove(Object e)
private void flush()
PersistenceCache to databases.public <E> E merge(E e)
public void detach(Object entity)
public Client getClient(EntityMetadata m)
m - the mpublic EntityEventDispatcher getEventDispatcher()
javax.persistence.Query createQuery(String jpaQuery)
jpaQuery - the jpa queryjavax.persistence.Query createQuery(String jpaQuery, String persistenceUnit)
jpaQuery - the jpa queryprivate javax.persistence.Query getQueryInstance(String jpaQuery, boolean isNative, Class mappedClass)
public boolean isOpen()
void close()
private void onClearProxy()
private void onSetProxyOwners(EntityMetadata m, Object e)
void clear()
boolean contains(Object entity)
public void refresh(Object entity)
private EntityMetadata getMetadata(Class<?> clazz)
clazz - the clazzvoid setFlushMode(javax.persistence.FlushModeType flushMode)
flushMode - the flushMode to setpublic boolean isTransactionInProgress()
public PersistenceCache getPersistenceCache()
void begin()
void commit()
void doFlush()
void rollback()
void populateClientProperties(Map properties)
properties - map of properties.void loadClient(String persistenceUnit, Client client)
persistenceUnit - persistence unit.client - Map<String,Client> getDelegate()
private void execute()
private void flushJoinTableData()
private boolean applyFlush()
Coordinator getCoordinator()
private void onSynchronization(Node node, EntityMetadata metadata)
node - data nodemetadata - entity metadata.public EntityManagerFactoryImpl.KunderaMetadata getKunderaMetadata()
Copyright © 2015. All Rights Reserved.