Что отсоединяется, персистентные и временные объекты в в спящем режиме? Объясните с примером.
новый
экземпляр постоянного класса, который не связан с сеансом
, не имеет представления в база данных и отсутствие идентификатора считается временным Hibernate:
Person person = new Person();
person.setName("Foobar");
// person is in a transient state
постоянный экземпляр имеет представление в базе данных, значение идентификатора и связан с сеансом
]. Вы можете сделать временный экземпляр постоянным , связав его с сеансом
:
Long id = (Long) session.save(person);
// person is now in a persistent state
Теперь, если мы закроем
спящий режим сеанс
, постоянный экземпляр станет отсоединенным экземпляром: он больше не подключен к сеансу
(но все равно может быть изменен и повторно подключен к новому сеансу
позже, хотя ).
Все это ясно объясняется во всей Главе 10. Работа с объектами документации Hibernate, которую я только перефразирую выше. Определенно, к прочтению.