在JDBC3.0中(JDK4.0),引入了一個新特性Savepoint。我們知道,在JDBC2.0中的事務支持讓開發者可以控制對數據的并發訪問,從而保證數據的一致性。但有時候我們需要對事務多一點的控制,而不是在當前的事務中簡單地對每一個改變進行回滾。在 JDBC 3.0 下,我們可以通過 Savepoint 獲得這種控制。 Savepoint 接口允許您將事務分割為各個邏輯斷點,以控制有多少事務需要回滾。下圖將說明如何在事務中運用 Savepoint。
JDBC下使用Savepoint
示例代碼:





















示例結果就是,insert語句將被執行,update語句未執行,其被回滾了。
Hibernate下使用Savepoint
示例:
















Spring對Savepoint的支持