JPA Interface

PersistenceUnitUtil

Super Interfaces:
PersistenceUtil

Utility interface between the application and the persistence provider managing the persistence unit.

The methods of this interface should only be invoked on entity instances obtained from or managed by entity managers for this persistence unit or on new entity instances.

Since:
JPA 2.0

Public Methods

Class<?extendsT> getClass(T entity)
Return the concrete entity class if the given entity belonging to the persistence unit and to an open persistence context.
This method may, but is not required to, load the given entity by side effect.
Parameters:
entity - entity instance
Return:
an entity class belonging to the persistence unit
Throws:
IllegalArgumentException - if the given object is not an instance of an entity class belonging to the persistence unit
PersistenceException - if the entity is not associated with an open persistence context or cannot be loaded from the database
Since:
JPA 3.2
Object getIdentifier(Object entity)
Return the id of the entity.
A generated id is not guaranteed to be available until after the database insert has occurred. Returns null if the entity does not yet have an id.
Parameters:
entity - entity instance
Return:
id of the entity
Throws:
IllegalArgumentException - if the object is found not to be an entity
Since:
JPA 2.0
Object getVersion(Object entity)
Return the version of the entity.
A generated version is not guaranteed to be available until after the database insert has occurred. Returns null if the entity does not yet have an id.
Parameters:
entity - entity instance
Return:
id of the entity
Throws:
IllegalArgumentException - if the object is found not to be an entity
Since:
JPA 3.2
boolean isInstance(Object entity, Class<?> entityClass)
Return true if the given entity belonging to the persistence unit and to an open persistence context is an instance of the given entity class, or false otherwise.
This method may, but is not required to, load the given entity by side effect.
Parameters:
entity - entity instance
entityClass - an entity class belonging to the persistence unit
Throws:
IllegalArgumentException - if the given object is not an instance of an entity class belonging to the persistence unit or if the given class is not an entity class belonging to the persistence unit
PersistenceException - if the entity is not associated with an open persistence context or cannot be loaded from the database
Since:
JPA 3.2
boolean isLoaded(E entity, Attribute<?superE,?> attribute)
Determine the load state of a given persistent attribute of an entity belonging to the persistence unit.
Parameters:
entity - entity instance containing the attribute
attribute - attribute whose load state is to be determined
Return:
false if entity's state has not been loaded or if the attribute state has not been loaded, else true
Since:
JPA 3.2
boolean isLoaded(Object entity)
Determine the load state of an entity belonging to the persistence unit.
This method can be used to determine the load state of an entity passed as a reference. An entity is considered loaded if all attributes for which FetchType.EAGER has been specified have been loaded.

The isLoaded() method should be used to determine the load state of an attribute. Not doing so might lead to unintended loading of state.

Parameters:
entity - entity instance whose load state is to be determined
Return:
false if the entity has not been loaded, else true
Since:
JPA 2.0
boolean isLoaded(Object entity, String attributeName)
Determine the load state of a given persistent attribute of an entity belonging to the persistence unit.
Parameters:
entity - entity instance containing the attribute
attributeName - name of attribute whose load state is to be determined
Return:
false if entity's state has not been loaded or if the attribute state has not been loaded, else true
Since:
JPA 2.0
void load(E entity, Attribute<?superE,?> attribute)
Load the persistent value of a given persistent attribute of an entity belonging to the persistence unit and to an open persistence context.
After this method returns, isLoaded() must return true with the given entity instance and attribute.
Parameters:
entity - entity instance to be loaded
attribute - the attribute to be loaded
Throws:
IllegalArgumentException - if the given object is not an instance of an entity class belonging to the persistence unit
PersistenceException - if the entity is not associated with an open persistence context or cannot be loaded from the database
Since:
JPA 3.2
void load(Object entity)
Load the persistent state of an entity belonging to the persistence unit and to an open persistence context.
After this method returns, isLoaded() must return true with the given entity instance.
Parameters:
entity - entity instance to be loaded
Throws:
IllegalArgumentException - if the given object is not an instance of an entity class belonging to the persistence unit
PersistenceException - if the entity is not associated with an open persistence context or cannot be loaded from the database
Since:
JPA 3.2
void load(Object entity, String attributeName)
Load the persistent value of a given persistent attribute of an entity belonging to the persistence unit and to an open persistence context.
After this method returns, isLoaded() must return true with the given entity instance and attribute.
Parameters:
entity - entity instance
attributeName - the name of the attribute to be loaded
Throws:
IllegalArgumentException - if the given object is not an instance of an entity class belonging to the persistence unit
PersistenceException - if the entity is not associated with an open persistence context or cannot be loaded from the database
Since:
JPA 3.2