Я хочу восстановить CacheEntry для реального объекта Entity. Есть ли какое-то решение по этому поводу?
Я использую кэш второго уровня Hibernate со спецификацией jazache Hazelcast. Общая память кластера распределенного кэша больше, чем память каждого локального экземпляра.
Когда я использую Hibernate MultiLoad, происходит слишком медленное получение кэшированных объектов по одному синхронно в удаленном кластере кэширования, когда нет кэшированных записей.
Чтобы решить эту проблему, я подумал о следующем способе.
Сначала. использование асинхронной функции, предоставленной провайдером кэша для получения CachedEntries. -> Функция Asynchonouse работает для получения кэшированных записей в локальном кеше и асинхронного получения кэшированных записей в удаленном кеше, когда он не найден в локальном.
Секунда. Восстановление кэшированных записей, взятых из вышеуказанной операции, в реальные объекты сущности.
В-третьих. Получение записей, которые не основаны на вышеуказанной операции, с помощью Hibernate findAllById ().
Четвертый. Объединение всех сущностей, описанных в описанных выше операциях.
Как решить эту проблему производительности? И есть ли решение о восстановлении CacheEntry для реального объекта Entity?
Спасибо. Минкю Ким.