Transactional Model

The transaction model for the Oracle NoSQL Database SDK for Spring Data builds on top of the existing transaction model exposed by the Oracle NoSQL Database. That is, ACID transactions are only supported for operations that do not span database shards. From the perspective of your Spring application, you should think about ACID transactions as being supported for those repository methods that operate over single objects. Repository methods like deleteAll() are implemented in the Oracle NoSQL Database SDK for Spring Data to make a "best-effort" to complete across all database shards but make no ACID guarantees.

The write operations when using save(), saveAll(), delete(), deleteById(), deleteAll() or write queries will be done based on the default Java driver durability. For more information on default Java driver durability, see COMMIT_NO_SYNC in the Java Direct Driver API Reference.

The read operations when using findByID(), findAllById(), findAll(), count() or select queries will be done based on the default eventual consistency or as specified in the @NosqlTable annotation. For more information on default eventual consistency, see getDefaultConsistency in the Java SDK API Reference.