# Uses of Package
javax.persistence

Packages that use javax.persistence
javax.persistence: Java Persistence is the API for the management for persistence and object/relational mapping.
javax.persistence.criteria: Java Persistence Criteria API
javax.persistence.spi: SPI for Java Persistence providers

Classes in javax.persistence used by javax.persistence
Class and Description
AccessType Used with the `Access` annotation to specify an access type to be applied to an entity class, mapped superclass, or embeddable class, or to a specific attribute of such a class.
AttributeNode Represents an attribute node of an entity graph.
Cache Interface used to interact with the second-level cache.
CacheRetrieveMode Used as the value of the `javax.persistence.cache.retrieveMode` property to specify the behavior when data is retrieved by the `find` methods and by queries.
CacheStoreMode Used as the value of the `javax.persistence.cache.storeMode` property to specify the behavior when data is read from the database and when data is committed into the database.
CascadeType Defines the set of cascadable operations that are propagated to the associated entity.
ConstraintMode Used to control the application of a constraint.
DiscriminatorType Defines supported types of the discriminator column.
EntityGraph This type represents the root of an entity graph that will be used as a template to define the attribute nodes and boundaries of a graph of entities and entity relationships.
EntityManager Interface used to interact with the persistence context.
EntityManagerFactory Interface used to interact with the entity manager factory for the persistence unit.
EntityTransaction Interface used to control transactions on resource-local entity managers.
EnumType Defines mapping for enumerated types.
FetchType Defines strategies for fetching data from the database.
FlushModeType Flush mode setting.
GenerationType Defines the types of primary key generation strategies.
InheritanceType Defines inheritance strategy options.
LockModeType Lock modes can be specified by means of passing a `LockModeType` argument to one of the `EntityManager` methods that take locks (`lock`, `find`, or `refresh`) or to the `Query.setLockMode()` or `TypedQuery.setLockMode()` method.
Parameter Type for query parameter objects.
ParameterMode Specifies the mode of a parameter of a stored procedure query.
PersistenceContextType Specifies whether a transaction-scoped or extended persistence context is to be used in `PersistenceContext`.
PersistenceException Thrown by the persistence provider when a problem occurs.
PersistenceUnitUtil Utility interface between the application and the persistence provider managing the persistence unit.
PersistenceUtil Utility interface between the application and the persistence provider(s).
PessimisticLockScope Defines the values of the `javax.persistence.lock.scope` property for pessimistic locking.
Query Interface used to control query execution.
SharedCacheMode Specifies how the provider must use a second-level cache for the persistence unit.
StoredProcedureQuery Interface used to control stored procedure query execution.
Subgraph This type represents a subgraph for an attribute node that corresponds to a Managed Type.
SynchronizationType Specifies whether the persistence context is always automatically synchronized with the current transaction or whether the persistence context must be explicitly joined to the current transaction by means of the `EntityManager.joinTransaction()` method.
TemporalType Type used to indicate a specific mapping of `java.util.Date` or `java.util.Calendar`.
TupleElement The `TupleElement` interface defines an element that is returned in a query result tuple.
TypedQuery Interface used to control the execution of typed queries.
ValidationMode The validation mode to be used by the provider for the persistence unit.

Classes in javax.persistence used by javax.persistence.criteria
Class and Description
Parameter Type for query parameter objects.
Tuple Interface for extracting the elements of a query result tuple.
TupleElement The `TupleElement` interface defines an element that is returned in a query result tuple.

Classes in javax.persistence used by javax.persistence.spi
Class and Description
EntityManagerFactory Interface used to interact with the entity manager factory for the persistence unit.
SharedCacheMode Specifies how the provider must use a second-level cache for the persistence unit.
ValidationMode The validation mode to be used by the provider for the persistence unit.