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)
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)
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)
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)
This method may, but is not required to, load the given entity by side effect.
- Parameters:
entity- entity instanceentityClass- 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
- Parameters:
entity- entity instance containing the attributeattribute- 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)
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)
- Parameters:
entity- entity instance containing the attributeattributeName- 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
After this method returns, isLoaded() must return true with the given entity instance and attribute.
- Parameters:
entity- entity instance to be loadedattribute- 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)
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)
After this method returns, isLoaded() must return true with the given entity instance and attribute.
- Parameters:
entity- entity instanceattributeName- 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