Состояния сущностей в Hibernate

org.hibernate.Session  и javax.persistence.EntityManager  представляют контекст для работы с постоянно хранимыми данными. Этот контекст называется persistence context. Сохраняемые данные имеют свою состояние как относительно persistence context, так и относительно базы данных. Сущность Hibernate может находиться в одном из четырёх состояний:

transient — экземпляр сущности был создан, но не связан с persistence context. Он не сохранён в базе данных и обычно не имеет идентификатора.

managed или persistent — сущность связана с persistence context и имеет связанный с ней идентификатор. Она может как существовать в базе данных, так и пока отсутствовать в ней.

detached — с сущностью связан идентификатор, но она больше не связана с persistence context (обычно из-за того, что persistence context был закрыт, либо экземпляр был удалён из него)

removed — сущность имеет идентификатор и связана с persistence context, но она запланирована к удалению из базы данных.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *