public class Neo4jSession extends org.grails.datastore.mapping.core.AbstractSession
Represents a session for interacting with Neo4j
Created by stefan on 03.03.14.
| Modifiers | Name | Description |
|---|---|---|
protected Driver |
boltDriver |
|
protected Session |
boltSession |
map node id to hashmap of relationship types showing startNode id and endNode id |
protected java.util.concurrent.ConcurrentMap<RelationshipUpdateKey, java.util.Collection<java.io.Serializable>> |
pendingRelationshipDeletes |
|
protected java.util.concurrent.ConcurrentMap<RelationshipUpdateKey, java.util.Collection<java.io.Serializable>> |
pendingRelationshipInserts |
| Fields inherited from class | Fields |
|---|---|
class org.grails.datastore.mapping.core.AbstractSession |
ENTITY_ACCESS |
| Constructor and description |
|---|
Neo4jSession(org.grails.datastore.mapping.core.Datastore datastore, org.grails.datastore.mapping.model.MappingContext mappingContext, org.springframework.context.ApplicationEventPublisher publisher, boolean stateless, Driver boltDriver) |
| Type Params | Return Type | Name and description |
|---|---|---|
|
public void |
addPendingRelationshipDelete(java.io.Serializable parentId, org.grails.datastore.mapping.model.types.Association association, java.io.Serializable id)Adds a relationship that is pending deletion |
|
public void |
addPendingRelationshipInsert(java.io.Serializable parentId, org.grails.datastore.mapping.model.types.Association association, java.io.Serializable id)Adds a relationship that is pending insertion |
|
protected void |
addRelationshipUpdate(java.io.Serializable parentId, org.grails.datastore.mapping.model.types.Association association, java.io.Serializable id, java.util.Map<RelationshipUpdateKey, java.util.Collection<java.io.Serializable>> targetMap) |
|
protected java.util.Map<java.lang.String, java.util.List<java.lang.Object>> |
amendMapWithUndeclaredProperties(GraphPersistentEntity graphEntity, java.util.Map<java.lang.String, java.lang.Object> simpleProps, java.lang.Object pojo, org.grails.datastore.mapping.model.MappingContext mappingContext) |
|
public Neo4jTransaction |
assertTransaction() |
|
public org.grails.datastore.mapping.transactions.Transaction |
beginTransaction(org.springframework.transaction.TransactionDefinition transactionDefinition) |
|
protected org.grails.datastore.mapping.transactions.Transaction |
beginTransactionInternal() |
|
protected org.grails.datastore.mapping.transactions.Transaction |
beginTransactionInternal(org.springframework.transaction.TransactionDefinition transactionDefinition, boolean sessionCreated) |
|
protected void |
buildCascadingDeletes(org.grails.datastore.mapping.model.PersistentEntity entity, CypherBuilder baseQuery) |
|
public java.lang.String |
buildEntityCreateOperation(org.grails.datastore.mapping.model.PersistentEntity entity, org.grails.datastore.mapping.core.impl.PendingInsert entityInsert, java.util.Map<java.lang.String, java.lang.Object> params, java.util.List<org.grails.datastore.mapping.core.impl.PendingOperation<java.lang.Object, java.io.Serializable>> cascadingOperations) |
|
public void |
buildEntityCreateOperation(java.lang.StringBuilder createCypher, java.lang.String index, org.grails.datastore.mapping.model.PersistentEntity entity, org.grails.datastore.mapping.core.impl.PendingInsert entityInsert, java.util.Map<java.lang.String, java.lang.Object> params, java.util.List<org.grails.datastore.mapping.core.impl.PendingOperation<java.lang.Object, java.io.Serializable>> cascadingOperations) |
|
protected void |
clearPendingOperations() |
|
public int |
compare(Neo4jSession.RelationshipUpdateKey o1, Neo4jSession.RelationshipUpdateKey o2) |
|
protected org.springframework.transaction.support.DefaultTransactionDefinition |
createDefaultTransactionDefinition(org.springframework.transaction.TransactionDefinition other) |
|
protected org.grails.datastore.mapping.engine.Persister |
createPersister(java.lang.Class cls, org.grails.datastore.mapping.model.MappingContext mappingContext) |
|
public long |
deleteAll(org.grails.datastore.mapping.query.api.QueryableCriteria criteria) |
|
public void |
disconnect() |
|
public void |
flush() |
|
protected void |
flushPendingDeletes(java.util.Map<org.grails.datastore.mapping.model.PersistentEntity, java.util.Collection<org.grails.datastore.mapping.core.impl.PendingDelete>> pendingDeletes) |
|
protected void |
flushPendingInserts(java.util.Map<org.grails.datastore.mapping.model.PersistentEntity, java.util.Collection<org.grails.datastore.mapping.core.impl.PendingInsert>> inserts) |
|
protected void |
flushPendingUpdates(java.util.Map<org.grails.datastore.mapping.model.PersistentEntity, java.util.Collection<org.grails.datastore.mapping.core.impl.PendingUpdate>> updates) |
|
public Driver |
getBoltDriver() |
|
public Neo4jDatastore |
getDatastore() |
|
public Neo4jEntityPersister |
getEntityPersister(java.lang.Object o)Gets a Neo4jEntityPersister for the given object |
|
public Neo4jMappingContext |
getMappingContext() |
|
public Session |
getNativeInterface() |
|
public Neo4jTransaction |
getTransaction() |
|
public boolean |
hasTransaction() |
|
public static boolean |
isCollectionWithPersistentEntities(java.lang.Object o, org.grails.datastore.mapping.model.MappingContext mappingContext) |
|
protected void |
postFlush(boolean hasUpdates) |
|
public long |
updateAll(org.grails.datastore.mapping.query.api.QueryableCriteria criteria, java.util.Map<java.lang.String, java.lang.Object> properties) |
|
protected boolean |
wasTransactionTerminated() |
| Methods inherited from class | Name |
|---|---|
class org.grails.datastore.mapping.core.AbstractSession |
org.grails.datastore.mapping.core.AbstractSession#addPendingDelete(org.grails.datastore.mapping.core.impl.PendingDelete), org.grails.datastore.mapping.core.AbstractSession#addPendingInsert(org.grails.datastore.mapping.core.impl.PendingInsert), org.grails.datastore.mapping.core.AbstractSession#addPendingUpdate(org.grails.datastore.mapping.core.impl.PendingUpdate), org.grails.datastore.mapping.core.AbstractSession#addPostFlushOperation(java.lang.Runnable), org.grails.datastore.mapping.core.AbstractSession#attach(java.lang.Object), org.grails.datastore.mapping.core.AbstractSession#beginTransaction(), org.grails.datastore.mapping.core.AbstractSession#beginTransaction(org.springframework.transaction.TransactionDefinition), org.grails.datastore.mapping.core.AbstractSession#cacheCollection(org.grails.datastore.mapping.model.PersistentEntity, java.io.Serializable, java.util.Collection, java.lang.String), org.grails.datastore.mapping.core.AbstractSession#cacheEntry(org.grails.datastore.mapping.model.PersistentEntity, java.io.Serializable, java.lang.Object), org.grails.datastore.mapping.core.AbstractSession#cacheInstance(java.lang.Class, java.io.Serializable, java.lang.Object), org.grails.datastore.mapping.core.AbstractSession#clear(), org.grails.datastore.mapping.core.AbstractSession#clear(java.lang.Object), org.grails.datastore.mapping.core.AbstractSession#clearSessionProperty(java.lang.String), org.grails.datastore.mapping.core.AbstractSession#contains(java.lang.Object), org.grails.datastore.mapping.core.AbstractSession#createEntityAccess(org.grails.datastore.mapping.model.PersistentEntity, java.lang.Object), org.grails.datastore.mapping.core.AbstractSession#createQuery(java.lang.Class), org.grails.datastore.mapping.core.AbstractSession#delete(java.lang.Iterable), org.grails.datastore.mapping.core.AbstractSession#delete(java.lang.Object), org.grails.datastore.mapping.core.AbstractSession#deleteAll(org.grails.datastore.mapping.query.api.QueryableCriteria), org.grails.datastore.mapping.core.AbstractSession#disconnect(), org.grails.datastore.mapping.core.AbstractSession#equals(java.lang.Object), org.grails.datastore.mapping.core.AbstractSession#flush(), org.grails.datastore.mapping.core.AbstractSession#getAttribute(java.lang.Object, java.lang.String), org.grails.datastore.mapping.core.AbstractSession#getCachedCollection(org.grails.datastore.mapping.model.PersistentEntity, java.io.Serializable, java.lang.String), org.grails.datastore.mapping.core.AbstractSession#getCachedEntry(org.grails.datastore.mapping.model.PersistentEntity, java.io.Serializable), org.grails.datastore.mapping.core.AbstractSession#getCachedEntry(org.grails.datastore.mapping.model.PersistentEntity, java.io.Serializable, boolean), org.grails.datastore.mapping.core.AbstractSession#getCachedInstance(java.lang.Class, java.io.Serializable), org.grails.datastore.mapping.core.AbstractSession#getClass(), org.grails.datastore.mapping.core.AbstractSession#getDatastore(), org.grails.datastore.mapping.core.AbstractSession#getFlushMode(), org.grails.datastore.mapping.core.AbstractSession#getMappingContext(), org.grails.datastore.mapping.core.AbstractSession#getNativeInterface(), org.grails.datastore.mapping.core.AbstractSession#getObjectIdentifier(java.lang.Object), org.grails.datastore.mapping.core.AbstractSession#getPendingDeletes(), org.grails.datastore.mapping.core.AbstractSession#getPendingInserts(), org.grails.datastore.mapping.core.AbstractSession#getPendingUpdates(), org.grails.datastore.mapping.core.AbstractSession#getPersister(java.lang.Object), org.grails.datastore.mapping.core.AbstractSession#getSessionProperty(java.lang.String), org.grails.datastore.mapping.core.AbstractSession#getTransaction(), org.grails.datastore.mapping.core.AbstractSession#hasTransaction(), org.grails.datastore.mapping.core.AbstractSession#hashCode(), org.grails.datastore.mapping.core.AbstractSession#insert(java.lang.Object), org.grails.datastore.mapping.core.AbstractSession#isCached(java.lang.Class, java.io.Serializable), org.grails.datastore.mapping.core.AbstractSession#isConnected(), org.grails.datastore.mapping.core.AbstractSession#isDirty(java.lang.Object), org.grails.datastore.mapping.core.AbstractSession#isPendingAlready(java.lang.Object), org.grails.datastore.mapping.core.AbstractSession#isSchemaless(), org.grails.datastore.mapping.core.AbstractSession#isStateless(), org.grails.datastore.mapping.core.AbstractSession#isStateless(org.grails.datastore.mapping.model.PersistentEntity), org.grails.datastore.mapping.core.AbstractSession#lock(java.lang.Class, java.io.Serializable), org.grails.datastore.mapping.core.AbstractSession#lock(java.lang.Object), org.grails.datastore.mapping.core.AbstractSession#merge(java.lang.Object), org.grails.datastore.mapping.core.AbstractSession#notify(), org.grails.datastore.mapping.core.AbstractSession#notifyAll(), org.grails.datastore.mapping.core.AbstractSession#persist(java.lang.Iterable), org.grails.datastore.mapping.core.AbstractSession#persist(java.lang.Object), org.grails.datastore.mapping.core.AbstractSession#proxy(java.lang.Class, java.io.Serializable), org.grails.datastore.mapping.core.AbstractSession#refresh(java.lang.Object), org.grails.datastore.mapping.core.AbstractSession#registerPending(java.lang.Object), org.grails.datastore.mapping.core.AbstractSession#retrieve(java.lang.Class, java.io.Serializable), org.grails.datastore.mapping.core.AbstractSession#retrieveAll(java.lang.Class, [Ljava.io.Serializable;), org.grails.datastore.mapping.core.AbstractSession#retrieveAll(java.lang.Class, java.lang.Iterable), org.grails.datastore.mapping.core.AbstractSession#setAttribute(java.lang.Object, java.lang.String, java.lang.Object), org.grails.datastore.mapping.core.AbstractSession#setFlushMode(jakarta.persistence.FlushModeType), org.grails.datastore.mapping.core.AbstractSession#setSessionProperty(java.lang.String, java.lang.Object), org.grails.datastore.mapping.core.AbstractSession#setSynchronizedWithTransaction(boolean), org.grails.datastore.mapping.core.AbstractSession#toString(), org.grails.datastore.mapping.core.AbstractSession#unlock(java.lang.Object), org.grails.datastore.mapping.core.AbstractSession#updateAll(org.grails.datastore.mapping.query.api.QueryableCriteria, java.util.Map), org.grails.datastore.mapping.core.AbstractSession#wait(), org.grails.datastore.mapping.core.AbstractSession#wait(long), org.grails.datastore.mapping.core.AbstractSession#wait(long, int) |
map node id to hashmap of relationship types showing startNode id and endNode id
Adds a relationship that is pending deletion
association - The associationid - The idAdds a relationship that is pending insertion
association - The associationid - The idGets a Neo4jEntityPersister for the given object
o - The object