EntityStates interface has the following methods:
isNew()– determines if the passed instance is newly created, i.e., in the New state. Also returns
trueif this instance is actually in Managed state but newly-persisted in the current transaction, or if it is not a persistent entity.
isManaged()- determines if the passed instance is Managed, i.e. attached to a persistence context.
isDetached()– determines if the passed instance is in the Detached state. Also returns
true, if this instance is not a persistent entity.
isLoaded()- determines if an attribute is loaded from the database. The attribute is loaded if it is included into a view, or if it is a local attribute and a view was not provided to the loading mechanism (EntityManager or DataManager). Only immediate attributes of the entity can be checked by this method.
checkLoaded()- the same as
IllegalArgumentExceptionif at least one of the attributes passed to the method is not loaded.
isLoadedWithView()- accepts an entity instance and a view and returns true if all attributes required by the view are actually loaded.
checkLoadedWithView()- the same as
IllegalArgumentExceptioninstead of returning false.
makeDetached()- accepts a newly created entity instance and turns it into the detached state. The detached object can be passed to
EntityManager.merge()to save its state in the database. See details in the API docs.
makePatch()- accepts a newly created entity instance and makes it a patch object. The patch object can be passed to
EntityManager.merge()to save its state in the database. Unlike for a detached object, only non-null attributes will be saved. See details in the API docs.