Jakarta Persistence (JPA) Interface

jakarta.persistence.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:
Jakarta Persistence (JPA) 2.0

Public Instance Methods

Class<? extends T> 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
Returns:
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:
Jakarta Persistence (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
Returns:
id of the entity.
Throws:
IllegalArgumentException - if the object is found not to be an entity.
Since:
Jakarta Persistence (JPA) 1.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
Returns:
id of the entity.
Throws:
IllegalArgumentException - if the object is found not to be an entity.
Since:
Jakarta Persistence (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:
entityClass - an entity class belonging to the persistence unit
entity - entity instance
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:
Jakarta Persistence (JPA) 3.2
boolean isLoaded(Object entity, String attributeName)
Determine the load state of a given persistent attribute of an entity belonging to the persistence unit.
Parameters:
attributeName - name of attribute whose load state is to be determined
entity - entity instance containing the attribute
Returns:
false if entity's state has not been loaded or if the attribute state has not been loaded, else true.
Since:
Jakarta Persistence (JPA) 1.0
boolean isLoaded(E entity, Attribute<? super E,?> attribute)
Determine the load state of a given persistent attribute of an entity belonging to the persistence unit.
Parameters:
attribute - attribute whose load state is to be determined
entity - entity instance containing the attribute
Returns:
false if entity's state has not been loaded or if the attribute state has not been loaded, else true.
Since:
Jakarta Persistence (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
Returns:
false if the entity has not been loaded, else true.
Since:
Jakarta Persistence (JPA) 1.0
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:
attributeName - the name of the attribute to be loaded
entity - entity instance
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:
Jakarta Persistence (JPA) 3.2
void load(E entity, Attribute<? super E,?> 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:
attribute - the attribute to be loaded
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:
Jakarta Persistence (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:
Jakarta Persistence (JPA) 3.2