I wonder whether it makes sense to use instead of
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
to use
I don't know is it possible or not but handling Throwables like Errors is a bad style of programming, it is not the developers responsibility to handle this kind of fatal errors. There always can happen bad things which You cannot handle. You should handle checked exceptions if necessary, which are known to your system like some type of logical errors.