Кэширование - это средство, предоставляемое средами ORM, которые помогают пользователям быстро запускать веб-приложение, а сама структура помогает уменьшить количество запросов к базе данных в одной транзакции.Hibernate также предоставляет эту функцию кэширования в двух слоях.
1) Кэш первого уровня : это включено по умолчанию и работает в области сеанса.
2) Кэш второго уровня : Он отличается от кэша первого уровня, который доступен для глобального использования в области фабрики сеансов.
Таким образом, в вашем случае вы используете кэш первого уровня, этот кешсвязывание по умолчанию с текущим сеансом неявным образом.
Внести следующие изменения :
Employee emp = (Employee) sf.getCurrentSession().get(Employee.class, 1l);
System.out.println(emp.getName()); // Displays employee name
System.out.println("DB Fetch Count : "+sf.getCurrentSession().getStatistics().getEntityCount());//Displays '1'!