Reading
http://download.oracle.com/javase/6/docs/api/java/sql/Savepoint.html
it is not well spelled out what savepoints are mapped from database perspective.
A savepoint marks a point that the current transaction can roll back to. Instead of rolling all of its changes back, it can choose to roll back only some of them. For example, suppose you:
After doing this, the table will contain the first 10 rows you inserted. The other 5 rows will have been deleted by the rollback.
Setting a savepoint doesn't 'save' any data to the database. It doesn't make database changes visible to any other transaction. A savepoint is just a marker that the current transaction can roll back to.