/** * INTERNAL: * The message is passed to its reference class descriptor. */ public void postInsertAttributeValue(WriteObjectQuery query, Object attributeValue) throws DatabaseException, OptimisticLockException { if (attributeValue == null) { return; } // PERF: Avoid for simple aggregates. ClassDescriptor descriptor = getReferenceDescriptor(attributeValue, query.getSession()); if (descriptor.getObjectBuilder().isSimple() && !descriptor.getEventManager().hasAnyEventListeners()) { return; } WriteObjectQuery aggregateQuery = buildAggregateWriteQuery(query, attributeValue); descriptor.getQueryManager().postInsert(aggregateQuery); executeEvent(DescriptorEventManager.PostInsertEvent, aggregateQuery); // aggregates do not actually use a query to write to the database so the post write must be called here executeEvent(DescriptorEventManager.PostWriteEvent, aggregateQuery); }
/** * INTERNAL: * The message is passed to its reference class descriptor. */ public void postInsertAttributeValue(WriteObjectQuery query, Object attributeValue) throws DatabaseException, OptimisticLockException { if (attributeValue == null) { return; } // PERF: Avoid for simple aggregates. ClassDescriptor descriptor = getReferenceDescriptor(attributeValue, query.getSession()); if (descriptor.getObjectBuilder().isSimple() && !descriptor.getEventManager().hasAnyEventListeners()) { return; } WriteObjectQuery aggregateQuery = buildAggregateWriteQuery(query, attributeValue); descriptor.getQueryManager().postInsert(aggregateQuery); executeEvent(DescriptorEventManager.PostInsertEvent, aggregateQuery); // aggregates do not actually use a query to write to the database so the post write must be called here executeEvent(DescriptorEventManager.PostWriteEvent, aggregateQuery); }
/** * INTERNAL: * The message is passed to its reference class descriptor. */ public void postInsertAttributeValue(WriteObjectQuery query, Object attributeValue) throws DatabaseException, OptimisticLockException { if (attributeValue == null) { return; } // PERF: Avoid for simple aggregates. ClassDescriptor descriptor = getReferenceDescriptor(attributeValue, query.getSession()); if (descriptor.getObjectBuilder().isSimple() && !descriptor.getEventManager().hasAnyEventListeners()) { return; } WriteObjectQuery aggregateQuery = buildAggregateWriteQuery(query, attributeValue); descriptor.getQueryManager().postInsert(aggregateQuery); executeEvent(DescriptorEventManager.PostInsertEvent, aggregateQuery); // aggregates do not actually use a query to write to the database so the post write must be called here executeEvent(DescriptorEventManager.PostWriteEvent, aggregateQuery); }
queryManager.postInsert(writeQuery);
queryManager.postInsert(writeQuery);
queryManager.postInsert(writeQuery);