Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

EclipseLink/UserGuide/JPA/Advanced JPA Development/NoSQL/Transactions



Warning This page is now obsolete.

For current information, please see "Using EclipseLink with NoSQL Databases in the EclipseLink Solutions Guide: http://www.eclipse.org/eclipselink/documentation/latest/solutions/nonrelational_db.htm




EclipseLink JPA

Eclipselink-logo.gif
EclipseLink
Website
Download
Community
Mailing ListForumsIRCmattermost
Issues
OpenHelp WantedBug Day
Contribute
Browse Source


Transactions

The JPA transaction API is supported with NoSQL data-sources. Some NoSQL data-sources may not support transactions, so the level of transaction support is dependent on the NoSQL platform. JTA persistence units and transactions are also supported, but unless the NoSQL adapter is integrated with JTA, no XA or transaction support will be available.

If the NoSQL data-source does not support transactions, then any database change such as flush() will be committed directly to the database, and rollback() will not have any affect. A commit operation that fails will not roll back any successful changes written before the error. JPA normally does not write to the database until commit or flush() are called, so there will still be some level of transaction support offered by the persistence context.

JPA operations persist(), merge(), and remove() are supported.

MongoDB - Transactions are not supported.

Oracle NoSQL - Transactions are not supported.

Locking

Locking support is dependent on the NoSQL platform. Some NoSQL platforms may offer support for optimistic version locking. Even if the NoSQL platform does not support locking an @Version can still be used, and will at a minimum still be validated on merge() operations.

MongoDB - Version locking is supported. Note that when a lock error occurs any previous successful writes will not be rolledback as transactions are not supported.

Oracle NoSQL - Locking is not supported.




Eclipselink-logo.gif
Version: 2.4.0 DRAFT
Other versions...

Back to the top