我在几张表中插入记录,即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
插入正在持续,我不想。我想回滚一切。
请建议。
您正在捕捉异常... –