Так что в настоящее время я пытаюсь кэшировать как можно больше БЕЗОПАСНО в моем приложении для весенней загрузки.
Будь я сталкиваюсь с мозговым скребком.
Как мне обработать метод saveAll (список объектов)?
public List<WorkaroundEntity> saveAll(List<WorkaroundEntity> workaroundEntities) {
Этот метод сохраняет все сущности, мой текущий кеш выглядит так:
/**
* K=WorkaroundEntity.id -- Value=WorkaroundEntity
*/
private static final String CACHE_NAME_WORKAROUNDS = "workarounds";
Так что в основном моя карта имеет идентификаторы и объекты.
Когда пользователь сохраняет СПИСОК ВСЕХ ЛИЦ. С моей точки зрения у меня есть только эта опция:
@CacheEvict(value = CACHE_NAME_WORKAROUNDS, allEntries = true, condition = "#workaroundEntities.size()>=1")
public List<WorkaroundEntity> saveAll(List<WorkaroundEntity> workaroundEntities) {
return workaroundEntityRepository.saveAll(workaroundEntities);
}
Я ошибаюсь, и есть ли лучшее решение для такого рода проблем?
Пока что я использую этот кеш в следующих методах:
public WorkaroundEntity save(WorkaroundEntity workaroundEntity)
public WorkaroundEntity findById(long id)
public void delete(WorkaroundEntity workaroundEntity)
public WorkaroundEntity getOne(long id)
Как вы обрабатываете методы, которые работают с коллекциями, а не с отдельными сущностями?