如果transactional 設置為true, 則在Service層如何方法內部拋出RuntimeException類型異常, 所有操作將會回滾.
class UserService {
boolean transactional = true
public boolean register(User user, UserInfo userInfo) throws RuntimeException {
if (user.save()) {
userInfo.user = user
if (userInfo.save()) {
return true
} else {
throw new RuntimeException ('ServiceException: UserService.register()...');
}
} else {
throw new RuntimeException ('ServiceException: UserService.register()...');
}
}
}