Есть у меня колешен, который я кеширую:
| Код | private boolean active;
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE) @Filter(name = "active", condition = "active = :active") private List<ProductCatalog> childrens = new ArrayList<ProductCatalog>();
|
Но когда я енайблю филтер, то кеш неработает (потому что cache key несодержит никаких данных про филтер и его параметры). И никаких параметров нету в хибернате чтоби он кешировал данные с филтрами. У меня многа коллекшынов (+- 7) каторые я кеширую. И в публике я хочю показывать толко активные записи (все 7 обектов имеют boolean active). С филтрам неполучается, мне нужен кеш (99% хитов).
Как посоветуете быть ? Забыть про lazy loading и руками создовать DTO и филтровать активные записи ? Или ?  |