@Override @Transactional @CacheEvict( value = {"product", "productCategory", "review", "consultation"}, allEntries = true) public void save(Review review) { super.save(review); Product product = review.getProduct(); if (product != null) { reviewDao.flush(); long totalScore = reviewDao.calculateTotalScore(product); long scoreCount = reviewDao.calculateScoreCount(product); product.setTotalScore(totalScore); product.setScoreCount(scoreCount); productDao.merge(product); reviewDao.flush(); staticService.build(product); } }