Как настроить запрос Cacheing в EclipseLink

Я нашел решение! Очень просто: просто используйте var actions; вместо let actions; для доступа к функции. let ограничивает область видимости, поэтому она недоступна.

Больше информации здесь: В чем разница между использованием & quot; let & quot; и "var"?

8
задан rustyshelf 25 February 2009 в 05:41
поделиться

3 ответа

Просто предположение здесь, но Вы могли бы попробовать

query.cacheQueryResults();

после создания его, но перед Вами getResultList.

- MarkusQ

0
ответ дан 5 December 2019 в 20:20
поделиться

Я заставил кэш EclipseLink 1.0.1 работать путем добавления просто подсказки запроса:

Query query = em.createNamedQuery("Person.find");
query.setParameter("NAME", name);      
query.setHint("eclipselink.cache-usage", "CheckCacheThenDatabase");
return (Person)query.getSingleResult();

Я не изменил объект вообще и еще не попытался настроить кэш с помощью аннотаций.

0
ответ дан 5 December 2019 в 20:20
поделиться

Описанные здесь решения не помогли мне. Но я заставил его работать с:

@Cache
@NamedQueries({@NamedQuery(
      name = "State.findAll",
      query = "SELECT s FROM State s", 
      hints = {
          @QueryHint(name = QueryHints.QUERY_RESULTS_CACHE, value = HintValues.TRUE)
      }
    )})
8
ответ дан 5 December 2019 в 20:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: