java.sql.Savepoint 必须存在, 即 jdk 版本要 1.4+
Connection.getMetaData().supportsSavepoints() 必须为 true, 即 jdbc drive 必须支持 JDBC 3.0
不要使用session保存对象,否则NESTED会不起作用。
不要调用同一个类中NESTED方法,虽然还不知道为什么,但是我为这个问题纠结了两天
方法A 方法B
如果A调用B,A没有事务 则B的事务不会生效。(这点没什么文档上提到,我测试多次的结果)
如果A有事务 A调用B 则参见下面:
无事务 则A的事务作用于B
requied 同上
requied_new A的事务将和B的平级,A的回滚不会因想到B
NESTED B回滚 A不回滚 ,但是A回滚,B也回滚