私はこのような2つの方法を持っています:
まず、ユーザーのデポジットを受け取ります
@Override
@Transactional
@Cacheable(value = "deposits")
public Set<Deposit> getUserDeposit() {
User user = userRepository.findOneByUsername(
securityHolder.getUserDetails().getUsername());
Set<Deposit> deposits = user.getBalance().getDeposits();
return deposits;
}
次に、リレーションシップとして 1 つのデポジットを含むタスク エンティティを保存するときに、id によってキャッシュ デポジットから削除したい:
(スプリングデータインターフェース)
@CacheEvict(value = "deposits", key = "#entity.deposit.id", condition = "#entity != null")
<S extends T> List<S> save(Iterable<S> entity);
しかし、それはうまくいきません。