我有一个DAO类,我有两个使用Spring @Transactional
注释注释的方法,如下所示:
public class ClassDAO {
@Transactional
public void save() throws Exception {
}
@Transactional
public void save2() {
}
}
我希望这两个方法成为同一个事务的一部分,所以如果任何方法失败,整个事务就会被回滚。
从服务层调用这些方法,如下所示: @Autowired 私人ClassDAO dao;
@Transactional
public void processDAO() {
dao.save();
dao.save2();
}
我在服务层上使用@Transactional
注释,因为我读过这是最好的方法,但另一方面,我读过@Transactional
属性只有在调用带注释的方法时才有效从applicationContext获取的引用,如果这是真的,那将解释为什么@Transactional
注释不在服务层上工作。
我有一个问题:
如果@Transactiona
l属性仅在从applicationContext获取的引用上调用带注释的方法时才起作用,那么如何在服务层上放置Transactional注释是一种好的做法?
谢谢和最诚挚的问候。