Transactional Model

Learn about how the Oracle NoSQL Database SDK for Spring Data handles transactions on Oracle NoSQL Database.

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 must think about ACID transactions as being supported for those repository methods that operate over single objects. Repository methods such as 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 performed based on the default Java driver durability. For more information about 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 performed based on the default eventual consistency or as specified in the @NosqlTable annotation. For more information about default eventual consistency, see getDefaultConsistency in the Java SDK API Reference.