попробуйте что-то подобное при настройке фабрики сеансов гибернации:
configuration.setProperty( Environment.USE_QUERY_CACHE, Boolean.FALSE.toString() );
configuration.setProperty( Environment.USE_SECOND_LEVEL_CACHE, Boolean.FALSE.toString() );
configuration.setProperty(Environment.CACHE_REGION_FACTORY,org.hibernate.cache.impl.NoCachingRegionFactory.class.getName());
configuration.setProperty(Environment.CACHE_PROVIDER,org.hibernate.cache.NoCacheProvider.class.getName());
Однако обратите внимание, что вы не можете отключить Session Cache, предоставляемый Hibernate (если не все реализации JPA). Если вы действительно что-то не кэшируете в Hibernate, вы можете либо удалить его, либо не использовать Hibernate (в зависимости от того, что проще для вас)
Что касается кэширования конкретных сущностей, я рекомендую вам взглянуть на javax.persistence.Cacheable и посмотреть, как это работает для вас.