You are currently browsing legacy 3.5 version of documentation. Click here to switch to the newest 5.1 version.
Session: How to defer operations?
Operations can be deferred till
saveChanges is called by using
defer method in
advanced() session operations. There are four types of commands that can be deferred:
public void defer(ICommandData... commands);
|ICommandData||Array of commands implementing
Product product1 = new Product(); product1.setName("My Product"); product1.setSupplier("suppliers/999"); PutCommandData command1 = new PutCommandData(); command1.setKey("products/999"); command1.setDocument(RavenJObject.fromObject(product1)); command1.setMetadata(new RavenJObject()); session.advanced().defer(command1); Supplier supplier = new Supplier(); supplier.setName("My Supplier"); PutCommandData command2 = new PutCommandData(); command2.setKey("suppliers/999"); command2.setDocument(RavenJObject.fromObject(supplier)); command2.setMetadata(new RavenJObject()); session.advanced().defer(command2); DeleteCommandData deleteCommandData = new DeleteCommandData(); deleteCommandData.setKey("products/1"); session.advanced().defer(deleteCommandData);