Я использую Hibernate для всех задач, связанных с базой данных.
Я использую класс HIbernateUTIl для поддержания соединений и делаю что-то вроде этого
Session session = null;
SessionFactory sessionfactory = HibernateUtil.getSessionFactory();
session = sessionfactory.openSession();
в конце кода в блоке finally, который я делаю
session.close();
и после этого моя функция завершается, внутри функции я запускаю несколько запросов и получаю результат в массиве.
мой вопрос таков: очищается ли кэш первичного уровня, как только я закрываю сессию, или мне нужно принудительно очистить это с помощью
session.clear()
и если основной кеш не очищен, он будет содержать ссылки на мой объект, что сделает их недоступными для сборки мусора и, в конечном итоге, к потере памяти.