我正在努力使用Spring Service组件中的一个方法,该方法应该是事务性的。该方法调用同一个类中定义的另外两个方法,它们都使用扩展JpaRepository
的Spring存储库来持久化数据(因此可能抛出未经检查的异常),但是一个方法(methodB
)也在做一些文件系统可能抛出已检查异常的操作。使此方法具有事务性的正确性是什么?到目前为止,我有这个:
@Service
public class MyServiceImpl implements MyService {
@Transactional
public void doStuff() {
methodA();
try {
methodB();
} catch (Throwable t) {
throw new RuntimeException();
}
}
public void methodB() throws MyCheckedExcpetion() {
// some stuff
}
public void methodA() {
// some stuff
}
}
有更好的方法吗?