1.1) кэш Первого уровня
кэш Первого уровня всегда Партнеры объект Сессии . Будьте в спящем режиме использует этот кэш по умолчанию. Здесь, это обрабатывает одну транзакцию после другого, означает, что привычка много раз обрабатывает одну транзакцию. Главным образом это сокращает количество SQL-запросов, которые это должно генерировать в данной транзакции. Это вместо того, чтобы обновить после каждой модификации, сделанной в транзакции, она обновляет транзакцию только в конце транзакции.
1.2) кэш Второго уровня
кэш Второго уровня всегда партнеры Объект фабрики Сессии . При выполнении транзакций промежуточных, это загружает объекты на уровне Фабрики Сессии, так, чтобы те объекты были доступны целому приложению, не связанному с отдельным пользователем. Так как объекты уже загружаются в кэше, каждый раз, когда объект возвращается запросом, в то время никакая потребность пойти для транзакции базы данных. Таким образом вторые работы кэша уровня. Здесь мы можем использовать кэш уровня запроса также.
Заключенный в кавычки из: http://javabeat.net/introduction-to-hibernate-caching/
Существует довольно хорошее объяснение первого уровня, кэширующегося на Оптимальная Логика блог.
В основном, первое кэширование уровня происходит на на основание сессии, где, поскольку второе кэширование уровня может быть совместно использовано через несколько сессий.