Пытаюсь разобраться в сессиях Hibernate - PullRequest
0 голосов
/ 01 апреля 2012

Если я сохраню сущность, используя сеанс Hibernate, а затем попытаюсь получить эту сущность из текущего сеанса в следующей строке (т. Е. Пока без изменений были записаны в БД), будет ли сеанс возвращать объект? Я полагаю, что так и должно быть, потому что он также знает, какие изменения были внесены в него.

Ответы [ 2 ]

0 голосов
/ 01 апреля 2012

Должно быть, но вы должны быть осторожны при реализации равенства и хэш-кода.Сессия - это просто большая хэш-карта с сущностями, которые идентифицируются по идентификатору объекта.Поэтому, если вы попытаетесь получить объект по идентификатору, вы получите тот же объект.

0 голосов
/ 01 апреля 2012

Да, представление сохраненных и загружаемых объектов должно быть согласованным.Иногда запросы приводят к сбросу всех ожидающих изменений в базе данных перед выполнением запроса, чтобы обеспечить такую ​​согласованность (при условии, что для сеанса установлен режим автоматической очистки по умолчанию).

Далее в этомВ этом случае сеанс должен возвращать тот же объект, который вы сохранили, а не копию, которая ссылается на ту же строку в базе данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...