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.
Savepoints are not a JDBC feature, they are a DBMS feature.
In addition to Luke's detailed answer you might also want to read up on what the DBMS manuals explain about savepoints
http://www.postgresql.org/docs/current/static/sql-savepoint.html
http://download.oracle.com/docs/cd/E11882_01/server.112/e17118/statements_10001.htm#BABFIJGC
http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.sql.ref.doc/doc/r0003271.html
http://msdn.microsoft.com/en-us/library/ms188378.aspx
http://dev.mysql.com/doc/refman/5.5/en/savepoint.html