@ Транзакционная аннотация на слое сервиса
У меня есть класс DAO, где у меня есть 2 метода с аннотацией Spring @Transactional
аннотации, а именно:
public class ClassDAO {
@Transactional
public void save() throws Exception {
}
@Transactional
public void save2() {
}
}
Я хочу, чтобы эти 2 метода были частью одной и той же транзакции, поэтому, если какой-либо метод завершится неудачно, вся транзакция будет откатана.
Эти методы вызываются из уровня сервиса следующим образом: @Autowired private ClassDAO dao;
@Transactional
public void processDAO() {
dao.save();
dao.save2();
}
я использую @Transactional
аннотации на уровне сервиса, так как я прочитал, это лучший подход, но с другой стороны, я прочитал @Transactional
Атрибут работает только при вызове аннотированного метода для ссылки, полученной из applicationContext, поэтому, если это так, это объясняет, почему @Transactional
аннотация не работает на сервисном уровне.
У меня есть один вопрос:
Если @Transactiona
Атрибут l работает только при вызове аннотированного метода для ссылки, полученной из applicationContext, тогда как получается, что рекомендуется размещать аннотацию Transactional на сервисном уровне?
Спасибо и всего наилучшего.