Кэш первого уровня работает только для результатов, которыми могут управлять EntityManager, которые являются сущностями. (или Сеанс в Hibernate)
Если вы хотите кэшировать другие объекты или простые типы I 'Я предлагаю использовать аннотацию @Cacheable с некоторыми поставщиками кэша, например EhCache LINK
РЕДАКТИРОВАТЬ:
Ваш собственныйзапросы не являются частью механизма кэширования первого уровня.Только простая операция, такая как, сохранить, объединить, обновить и т. Д. Может использовать его.Для получения дополнительной информации проверьте эту статью LINK