5.2.6.11. EntityStates
Интерфейс для получения информации о персистентных сущностях, сохраняемых через ORM. В отличие от бинов Persistence и PersistenceTools доступен на всех уровнях приложения.
Методы EntityStates
:
-
isNew()
- определяет, является ли переданный экземпляр только что созданным. Он может быть либо в состоянии New, либо Managed, но только что сохраненным в текущей транзакции. Также возвращаетtrue
для неперсистентных сущностей. -
isManaged()
- определяет, находится ли переданный экземпляр в состоянии Managed, то есть присоединен к персистентному контексту. -
isDetached()
- определяет, находится ли переданный экземпляр в состоянии Detached. Возвращаетtrue
, также если экземпляр не является персистентной сущностью. -
isLoaded()
- определяет, загружен ли данный атрибут сущности. Атрибут загружается, если он включен в представление, или если это локальный атрибут и никакое представление не использовалось в процессе загрузки через EntityManager или DataManager. Данный метод поддерживает проверку только непосредственных атрибутов сущностей. -
checkLoaded()
- то же самое что иisLoaded()
, но выбрасываетIllegalArgumentException
если хотя бы один из переданных атрибутов не загружен. -
isLoadedWithView()
- принимает экземпляр сущности и представление, и возвращает true если все атрибуты требуемые в представлении на самом деле загружены. -
checkLoadedWithView()
- то же самое что иisLoadedWithView()
, но выбрасываетIllegalArgumentException
вместо возврата false. -
makeDetached()
- принимает только что созданный экземпляр сущности и переводит его в состояние detached. Detached-объект можно передать вDataManager.commit()
илиEntityManager.merge()
для сохранения его состояния в базе данных. Подробнее см. API docs. -
makePatch()
- принимает только что созданный экземпляр сущности и превращает его в patch-объект. Patch-объект можно передать вDataManager.commit()
илиEntityManager.merge()
для сохранения его состояния в базе данных, при этом в отличие от detached-объекта, будут сохранены только не-null атрибуты. Подробнее см. API docs.