Запросы запроса, не работающие в Eclipse Link 2.3.2/2.6.1 при использовании для извлечения данных со второго кэш-память используемые подсказки,javax.persistence.cache.retrieveMode и javax.persistence.cache.retrieveMode не работает с NamedQuery при использовании с Eclipse Link ORM
@QueryHint(name = "javax.persistence.cache.retrieveMode", value = "USE"),
@QueryHint(name = "javax.persistence.cache.storeMode ", value = "USE")
Пробовал с ниже вариантов.
1. Added JPA Hints to Named query itself
@NamedQuery(
name = TestEntity.FIND_BY_CODE,
query = "select t from Test t where t.code = :code",
hints = {
@QueryHint(name = "javax.persistence.cache.retrieveMode", value = "USE"),
@QueryHint(name = "javax.persistence.cache.storeMode ", value = "USE") })
2. Adding hints to the Entity Manager Itself after injecting it
em.setProperty("javax.persistence.cache.retrieveMode", CacheRetrieveMode.USE);
em.setProperty("javax.persistence.cache.storeMode", CacheRetrieveMode.USE);
3. Added JPA hints at the time of Query execution
em.createNamedQuery(TestEntity.FIND_BY_CODE,
AlertCategoryType.class).setHint("javax.persistence.cache.retrieveMode", CacheRetrieveMode.USE)
.setHint("javax.persistence.cache.storeMode", CacheStoreMode.USE)
.setParameter("code", code).getSingleResult();
Ничего из вышеперечисленного использования советов не работает. Затем я попытался отлаживать три разных варианта, что я нашел, Запрос базы данных, который формировался после установки этих подсказок, передает подсказки в качестве пары ключ/значение ниже.
eclipselink.query.hints => {javax.persistence.cache.retrieveMode=USE, javax.persistence.cache.storeMode=USE}
Где eclipselink.query.hints - это ключ, даже если мы установили подсказки JPA. Это то, что мы не контролируем, чтобы изменить это.
Но когда я передаю подсказки Eclipse Link, приведенные ниже, он начал работать как ожидалось, и результаты будут получены из кэша, а не из БД.
eclipselink.query.hints => {eclipselink.query-results-cache.size=500, eclipselink.query-results-cache=true}
Это означает, что при использовании Eclipse-Link он распознает только Eclipse, Link при условии, намеков в соответствии с клавишей [вышеуказанному] мы видим в запросе.
Пожалуйста, предложите любую работу вокруг, чтобы получить подсказки JPA работать
Окружающая среда Я использую
- Eclispe Link 2.3.2/2.6.1
- Runnin плавник служат Glassfish 4.1 [скумбриевидный гидролик ]
- Java8/JEE7