我在幾張表中插入記錄,即Dept
和Emp
。如果Dept
表成功創建,那麼只需要在Emp
表中插入記錄。另外,如果Emp
中的任何插入失敗,那麼我想要回滾所有包含從Emp
以及Dept
表中回滾的事務。Spring:Propagation.REQUIRED not working
這個我試過用Propagation.REQUIRED
如下圖所示:
Java文件
public void saveEmployee(Employee empl){
try {
jdbcTemplate.update("INSERT INTO EMP VALUES(?,?,?,?,?)",empl.getEmpId(),empl.getEmpName(),
empl.getDeptId(),empl.getAge(),empl.getSex());
} catch (DataAccessException e) {
e.printStackTrace();
}
}
@Transactional(propagation=Propagation.REQUIRED)
public void saveRecords(){
saveDepartment(dept);
saveEmployee(empl);
}
的context.xml
<tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true"/>
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
問題:
即使插入Emp
表失敗,Dept
插入正在持續,我不想。我想回滾一切。
請建議。
您正在捕捉異常... –