Я хочу реализовать кэш второго уровня для одной из сущностей. Но я выбираю данные, используя поле, которое не является ID. Я читал во многих постах, что кэш второго уровня работает, только если мы выбираем данные, используя id. Есть ли способ?, так что я могу реализовать кэш второго уровня для извлечения данных, используя поле, отличное от id?Я использую Eh-кеш, репозиторий JPA и Spring Boot. Как я могу реализовать кэш запросов?
в файле свойств:
hibernate.cache.use_second_level_cache = true
hibernate.cache.use_query_cache = true
hibernate.cache.region.factory_class = org.hibernate.cache.ehcache.EhCacheRegionFactory
Repository.java
public interface SomeRepository extends JpaRepository<SomeClass, Long> {
@Query("SELECT .....WHERE id= :someId")
@QueryHints({ @QueryHint(name = "org.hibernate.cacheable", value ="true") })
List<Lookup> findAllByProjectId(@Param("someId") Long someId);
}