Моя сущность имеет именованный запрос, который выглядит следующим образом:Почему кеш Query EclipseLink работает только при использовании query.getSingleResult()?
@NamedQuery(name = "Person.find", query = "select p from Organization p where p.name=:NAME")
В моем коде я хочу, чтобы установить подсказку кэша запросов:
query.setHint("eclipselink.cache-usage", "CheckCacheThenDatabase");
Если я пытаюсь получить весь список результатов:
List<Person> result = query.getResultList();
EclipseLink бросает исключение:
Exception [EclipseLink-6124] (Eclipse Persistence Services - 1.0.1 (Build 20080905)): org.eclipse.persistence.exceptions.QueryException
Exception Description: Required query of class org.eclipse.persistence.queries.ReadAllQuery, found class org.eclipse.persistence.queries.ReadObjectQuery
Если я пытаюсь получить только один результат, он работает:
Person person = query.getSingleResult();
Если удалить подсказку запроса, а затем getResultList() работает также.
Я не понимаю исключение - разве он не говорит, что он специально ожидает getResultList() ?? Что я делаю не так?