Interface PersistenceUnitUtil

All Superinterfaces:
PersistenceUtil

public interface PersistenceUnitUtil extends 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:
2.0
  • Method Summary

    Modifier and Type
    Method
    Description
    <T> 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.
    Return the id of the entity.
    Return the version of the entity.
    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.
    <E> 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.
    boolean
    isLoaded(Object entity)
    Determine the load state of an entity belonging to the persistence unit.
    boolean
    isLoaded(Object entity, String attributeName)
    Determine the load state of a given persistent attribute of an entity belonging to the persistence unit.
    <E> 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.
    void
    load(Object entity)
    Load the persistent state of an entity belonging to the persistence unit and to an open persistence context.
    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.
  • Method Details

    • isLoaded

      boolean isLoaded(Object entity, String attributeName)
      Determine the load state of a given persistent attribute of an entity belonging to the persistence unit.
      Specified by:
      isLoaded in interface PersistenceUtil
      Parameters:
      entity - entity instance containing the attribute
      attributeName - name of attribute whose load state is to be determined
      Returns:
      false if entity's state has not been loaded or if the attribute state has not been loaded, else true
    • isLoaded

      <E> 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:
      entity - entity instance containing the attribute
      attribute - attribute whose load state is to be determined
      Returns:
      false if entity's state has not been loaded or if the attribute state has not been loaded, else true
      Since:
      3.2
    • isLoaded

      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(Object, String) method should be used to determine the load state of an attribute. Not doing so might lead to unintended loading of state.

      Specified by:
      isLoaded in interface PersistenceUtil
      Parameters:
      entity - entity instance whose load state is to be determined
      Returns:
      false if the entity has not been loaded, else true
    • load

      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(Object,String) 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:
      3.2
    • load

      <E> 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(Object,Attribute) 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:
      3.2
    • load

      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(Object) 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:
      3.2
    • isInstance

      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:
      3.2
    • getClass

      <T> 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:
      3.2
    • getIdentifier

      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
    • getVersion

      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:
      3.2