* This implementation creates a JDBC 3.0 Savepoint and returns it.
* @see java.sql.Connection#setSavepoint
*/
public Object createSavepoint() throws TransactionException {
if (!savepointClassAvailable) {
throw new NestedTransactionNotSupportedException(
"Cannot create a nested JDBC transaction because you are not running on JDK 1.4 or higher");
}
ConnectionHolder conHolder = getConnectionHolderForSavepoint();
try {
if (!conHolder.supportsSavepoints()) {
throw new NestedTransactionNotSupportedException(
"Cannot create a nested transaction because savepoints are not supported by your JDBC driver");
}
}
catch (Throwable ex) {
throw new NestedTransactionNotSupportedException(
"Cannot create a nested transaction because your JDBC driver is not a JDBC 3.0 driver", ex);
}
try {
return conHolder.createSavepoint();
}