# Interface TransactionalWriter

All Superinterfaces:
  `RowSetWriter`

public interface TransactionalWriter extends RowSetWriter
A specialized interface that facilitates an extension of the standard `SyncProvider` abstract class so that it has finer grained transaction control.

If one or more disconnected `RowSet` objects are participating in a global transaction, they may wish to coordinate their synchronization commits to preserve data integrity and reduce the number of synchronization exceptions. If this is the case, an application should set the `CachedRowSet` constant `COMMIT_ON_ACCEPT_CHANGES` to `false` and use the `commit` and `rollback` methods defined in this interface to manage transaction boundaries.

Since:
  1.5

## Method Summary

Modifier and Type
Method
Description
`void`
`commit()`
Makes permanent all changes that have been performed by the `acceptChanges` method since the last call to either the `commit` or `rollback` methods.
`void`
`rollback()`
Undoes all changes made in the current transaction.
`void`
`rollback(Savepoint s)`
Undoes all changes made in the current transaction made prior to the given `Savepoint` object.

### Methods declared in interface RowSetWriter

`writeData`
Modifier and Type
Method
Description
`boolean`
`writeData(RowSetInternal caller)`
Writes the changes in this `RowSetWriter` object's rowset back to the data source from which it got its data.

## Method Details

### commit

void commit() throws SQLException
Makes permanent all changes that have been performed by the `acceptChanges` method since the last call to either the `commit` or `rollback` methods. This method should be used only when auto-commit mode has been disabled.

Throws:
  `SQLException` - if a database access error occurs or the `Connection` object within this `CachedRowSet` object is in auto-commit mode

### rollback

void rollback() throws SQLException
Undoes all changes made in the current transaction. This method should be used only when auto-commit mode has been disabled.

Throws:
  `SQLException` - if a database access error occurs or the `Connection` object within this `CachedRowSet` object is in auto-commit mode

### rollback

void rollback(Savepoint s) throws SQLException
Undoes all changes made in the current transaction made prior to the given `Savepoint` object. This method should be used only when auto-commit mode has been disabled.

Parameters:
  `s` - a `Savepoint` object marking a savepoint in the current transaction. All changes made before s was set will be undone. All changes made after s was set will be made permanent.
Throws:
  `SQLException` - if a database access error occurs or the `Connection` object within this `CachedRowSet` object is in auto-commit mode