@Transactional
public void save(User user) throws Exception{
try {
for (int i = 0;i < 5;i++){
apiService.createUser();//在权限系统创建用户以http形式
user.setUserName(“”);
user.setPassWord(null);
userDao.save(user);
System.out.print("继续执行"+i);
}
} catch (Exception e) {
System.out.print("service进来了");
}
公司 架构是spring+spring data jpa+springmvc
在执行save方法时
问题一:理论上在循环第一次已经异常不应该继续往下执行,但是会继续循环五次
问题二:在service中不会进入catch,而在controller中可以,如果我在循环中throw new RuntimeException()异常service进入catch,如果我删除事务注解,没问题进入catch.
感觉很奇怪,求指点
Apakah maklumat pengecualian? Urus niaga telah dilaksanakan menggunakan ejen, dan ralat mungkin telah berlaku semasa proses ejen. Dengan cara ini, ralat tidak boleh ditangkap dalam perkhidmatan dan dibuang ke pengawal
Saya terlupa untuk membalas Sebenarnya, data spring jpa menyimpan data semasa menjalankan operasi simpan Jika ia tidak diserahkan kepada pangkalan data, ia perlu disiram untuk menangkap pengecualian