Здравствуйте, GarryIV, Вы писали:
GIV>Здравствуйте, Aleksei_Lekomtsev, Вы писали:
A_L>>Как происходит синхронизация Java объекта и сущности в БД(как ORM это обеспечивает и понимает что конкретно нужно изменить)?
GIV>сравнивает состояние загруженное из БД и текущее в сессии (ака персистент контекст)
GIV>полный ответ длинный это надо доки читать (а иногда и копаться в кишках ОРМ)
A_L>>Т.е. это обновление происходит в какой-то момент времени между вызовом set и commit методов? Или после вызова commit?
GIV>опять же упрощая: сначала ОРМ делает flush (обновляет БД) потом транзакшн менеджер коммитит
A_L>>Возможно ли отменить изменения после вызова set метода? Т.е. сделать так, чтобы эти изменения в БД не попали?
GIV>можно, например бросив исключение
A_L>>Прочитал здесь — https://jakarta.ee/specifications/persistence/3.0/jakarta-persistence-spec-3.0.html#a1955
A_L>>The state of persistent entities is synchronized to the database at transaction commit. ,
A_L>>но не уверен что это то что нужно
GIV>я тоже не уверен что тебе нужно )
Я так понял, что например в Hibernate есть First-level cache и Second-level cache — это вроде как тоже влияет