Kayıt() ve update() - iki işlemi gerçekleştirmek için bir Spring MVC hizmet yöntemim var.Spring MVC özel iletiyle geri alma
Kaydetme() başarıyla yürütüldükten sonra, güncelleştirilecek kullanıcının bulunmadığını bulursam, kaydetme işlemini geri almak için el ile yeni bir RuntimeExceotion() atarım. Bu durumda, tarayıcı mesajına Hata Mesajı ("kullanıcıyı bulamıyor") nasıl iade edebilirim?
@Transactional(rollbackFor = { Exception.class })
public Map<String,Object> service(){
Map<String,Object> map = new HashMap<String,Object>();
//1. save user
User user = getUser();
this.save(user);
//2. try to update another
String anotherUserId = "anUserId";
User anUser = this.getById(anotherUserId);
if(anUser != null){
anUser.setName("newName");
this.update(anUser);
map.put("status",true);
}else{
//logical error
map.put("status",false);
map.put("err_msg","cant find the user for update");
//triger rollback(rollback save user)
throw new RuntimeException("update user error");
}
return map;
}
Gerçekten minnettarım! Mükemmel çalışıyor, SpringTransactional için bir istisna attıktan sonra bir şey yapmayı düşünmedim. –