Сессия всегда имеет кэш «первого уровня», поэтому, если вы используете одну сессию, все, что вы прочитаете, будет кэшировано. Hibernate выполнит запрос к базе данных, но затем при построении объектов проверяет кэш сеанса, чтобы избежать создания нового объекта, поэтому любые столбцы, измененные в базе данных, обновляться не будут. Если вы закроете его и получите новый сеанс, при следующем запросе он прочитает полный объект из базы данных.