javax.persistence

## 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:
  Java Persistence 2.0

### Method Summary

All Methods Instance Methods Abstract Methods
`java.lang.Object` `getIdentifier(java.lang.Object entity)` Return the id of the entity.
`boolean` `isLoaded(java.lang.Object entity)` Determine the load state of an entity belonging to the persistence unit.
`boolean` `isLoaded(java.lang.Object entity, java.lang.String attributeName)` Determine the load state of a given persistent attribute of an entity belonging to the persistence unit.

### Method Detail

#### isLoaded

    boolean isLoaded(java.lang.Object entity,
                     java.lang.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

    boolean isLoaded(java.lang.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

#### getIdentifier

    java.lang.Object getIdentifier(java.lang.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:
  `java.lang.IllegalArgumentException` - if the object is found not to be an entity