Мое понимание Hibernate заключается в том, что, поскольку объекты загружаются из БД, они добавляются в сеанс. В разных точках, в зависимости от вашей конфигурации, сеанс очищается. На данный момент модифицированные объекты записываются в базу данных.
Как Hibernate решает, какие объекты "грязны" и их нужно записать?
Профили, сгенерированные Hibernate, перехватывают назначения для полей и добавляют объект к грязному списку в сеансе?
Или Hibernate просматривает каждый объект в сеансе и сравнивает его с исходным состоянием объектов?
Или что-то совсем другое?