Top Description Interfaces Annotations Classes Enums
[default module]

Package jakarta.persistence


Jakarta Persistence is the API for the management for persistence and object/relational mapping.

Interface Summary

Modifier and TypeInterface and Description
public interface
AttributeConverter<
the type of the entity attribute
X
,
the type of the database column
Y
>

A class that implements this interface can be used to convert entity attribute state into database column representation and back again.

public interface
AttributeNode<
The type of the attribute.
T
>

Represents an attribute node of an entity graph.

public interface
Cache

Interface used to interact with the second-level cache.

public interface
EntityGraph<
The type of the root entity.
T
>

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.

public interface
EntityManager

Interface used to interact with the persistence context.

public interface
EntityManagerFactory

Interface used to interact with the entity manager factory for the persistence unit.

public interface
EntityTransaction

Interface used to control transactions on resource-local entity managers.

public interface
Parameter<
the type of the parameter
T
>

Type for query parameter objects.

public interface
PersistenceUnitUtil

Utility interface between the application and the persistence provider managing the persistence unit.

public interface
PersistenceUtil

Utility interface between the application and the persistence provider(s).

public interface
Query

Interface used to control query execution.

public interface
StoredProcedureQuery

Interface used to control stored procedure query execution.

public interface
Subgraph<
The type of the attribute.
T
>

This type represents a subgraph for an attribute node that corresponds to a Managed Type.

public interface
Tuple

Interface for extracting the elements of a query result tuple.

public interface
TupleElement<
the type of the element
X
>

The TupleElement interface defines an element that is returned in a query result tuple.

public interface
TypedQuery<
query result type
X
>

Interface used to control the execution of typed queries.

Annotation Summary

Modifier and TypeAnnotation and Description
public @interface
Access

Used 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.

public @interface
AssociationOverride

Used to override a mapping for an entity relationship.

public @interface
AssociationOverrides

Used to override mappings of multiple relationship properties or fields.

public @interface
AttributeOverride

Used to override the mapping of a Basic (whether explicit or default) property or field or Id property or field.

public @interface
AttributeOverrides

Used to override mappings of multiple properties or fields.

public @interface
Basic

The simplest type of mapping to a database column.

public @interface
Cacheable

Specifies whether an entity should be cached if caching is enabled when the value of the persistence.xml caching element is ENABLE_SELECTIVE or DISABLE_SELECTIVE.

public @interface
CollectionTable

Specifies the table that is used for the mapping of collections of basic or embeddable types.

public @interface
Column

Specifies the mapped column for a persistent property or field.

public @interface
ColumnResult

Used in conjunction with the SqlResultSetMapping annotation or ConstructorResult annotation to map a column of the SELECT list of a SQL query.

public @interface
ConstructorResult

Used in conjunction with the SqlResultSetMapping annotation to map the SELECT clause of a SQL query to a constructor.

public @interface
Convert

Specifies the conversion of a Basic field or property.

public @interface
Converter

Specifies that the annotated class is a converter and defines its scope.

public @interface
Converts

Used to group Convert annotations.

public @interface
DiscriminatorColumn

Specifies the discriminator column for the SINGLE_TABLE and JOINED Inheritance mapping strategies.

public @interface
DiscriminatorValue

Specifies the value of the discriminator column for entities of the given type.

public @interface
ElementCollection

Specifies a collection of instances of a basic type or embeddable class.

public @interface
Embeddable

Specifies a class whose instances are stored as an intrinsic part of an owning entity and share the identity of the entity.

public @interface
Embedded

Specifies a persistent field or property of an entity whose value is an instance of an embeddable class.

public @interface
EmbeddedId

Applied to a persistent field or property of an entity class or mapped superclass to denote a composite primary key that is an embeddable class.

public @interface
Entity

Specifies that the class is an entity.

public @interface
EntityListeners

Specifies the callback listener classes to be used for an entity or mapped superclass.

public @interface
EntityResult

Used in conjunction with the SqlResultSetMapping annotation to map the SELECT clause of a SQL query to an entity result.

public @interface
Enumerated

Specifies that a persistent property or field should be persisted as a enumerated type.

public @interface
ExcludeDefaultListeners

Specifies that the invocation of default listeners is to be excluded for the entity class (or mapped superclass) and its subclasses.

public @interface
ExcludeSuperclassListeners

Specifies that the invocation of superclass listeners is to be excluded for the entity class (or mapped superclass) and its subclasses.

public @interface
FieldResult

Used in conjunction with the EntityResult annotation to map columns specified in the SELECT list of a SQL query to the properties or fields of an entity class.

public @interface
ForeignKey

Used to specify the handling of foreign key constraints when schema generation is in effect.

public @interface
GeneratedValue

Provides for the specification of generation strategies for the values of primary keys.

public @interface
Id

Specifies the primary key of an entity.

public @interface
IdClass

Specifies a composite primary key class that is mapped to multiple fields or properties of the entity.

public @interface
Index

Used in schema generation to specify creation of an index.

public @interface
Inheritance

Specifies the inheritance strategy to be used for an entity class hierarchy.

public @interface
JoinColumn

Specifies a column for joining an entity association or element collection.

public @interface
JoinColumns

Specifies the mapping for composite foreign keys.

public @interface
JoinTable

Specifies the mapping of associations.

public @interface
Lob

Specifies that a persistent property or field should be persisted as a large object to a database-supported large object type.

public @interface
ManyToMany

Specifies a many-valued association with many-to-many multiplicity.

public @interface
ManyToOne

Specifies a single-valued association to another entity class that has many-to-one multiplicity.

public @interface
MapKey

Specifies the map key for associations of type java.util.Map when the map key is itself the primary key or a persistent field or property of the entity that is the value of the map.

public @interface
MapKeyClass

Specifies the type of the map key for associations of type java.util.Map.

public @interface
MapKeyColumn

Specifies the mapping for the key column of a map whose map key is a basic type.

public @interface
MapKeyEnumerated

Specifies the enum type for a map key whose basic type is an enumerated type.

public @interface
MapKeyJoinColumn

Specifies a mapping to an entity that is a map key.

public @interface
MapKeyJoinColumns

Supports composite map keys that reference entities.

public @interface
MapKeyTemporal

This annotation must be specified for persistent map keys of type java.util.Date and java.util.Calendar.

public @interface
MappedSuperclass

Designates a class whose mapping information is applied to the entities that inherit from it.

public @interface
MapsId

Designates a ManyToOne or OneToOne relationship attribute that provides the mapping for an EmbeddedId primary key, an attribute within an EmbeddedId primary key, or a simple primary key of the parent entity.

public @interface
NamedAttributeNode

A NamedAttributeNode is a member element of a NamedEntityGraph.

public @interface
NamedEntityGraph

Used to specify the path and boundaries for a find operation or query.

public @interface
NamedEntityGraphs

Used to group NamedEntityGraph annotations.

public @interface
NamedNativeQueries

Specifies multiple native SQL named queries.

public @interface
NamedNativeQuery

Specifies a named native SQL query.

public @interface
NamedQueries

Specifies multiple named Jakarta Persistence query language queries.

public @interface
NamedQuery

Specifies a static, named query in the Jakarta Persistence query language.

public @interface
NamedStoredProcedureQueries

Specifies multiple named stored procedure queries.

public @interface
NamedStoredProcedureQuery

Specifies and names a stored procedure, its parameters, and its result type.

public @interface
NamedSubgraph

A NamedSubgraph is a member element of a NamedEntityGraph.

public @interface
OneToMany

Specifies a many-valued association with one-to-many multiplicity.

public @interface
OneToOne

Specifies a single-valued association to another entity that has one-to-one multiplicity.

public @interface
OrderBy

Specifies the ordering of the elements of a collection valued association or element collection at the point when the association or collection is retrieved.

public @interface
OrderColumn

Specifies a column that is used to maintain the persistent order of a list.

public @interface
PersistenceContext

Expresses a dependency on a container-managed EntityManager and its associated persistence context.

public @interface
PersistenceContexts

Declares one or more PersistenceContext annotations.

public @interface
PersistenceProperty

Describes a single container or persistence provider property.

public @interface
PersistenceUnit

Expresses a dependency on an EntityManagerFactory and its associated persistence unit.

public @interface
PersistenceUnits

Declares one or more PersistenceUnit annotations.

public @interface
PostLoad

Specifies a callback method for the corresponding lifecycle event.

public @interface
PostPersist

Specifies a callback method for the corresponding lifecycle event.

public @interface
PostRemove

Specifies a callback method for the corresponding lifecycle event.

public @interface
PostUpdate

Specifies a callback method for the corresponding lifecycle event.

public @interface
PrePersist

Specifies a callback method for the corresponding lifecycle event.

public @interface
PreRemove

Specifies a callback method for the corresponding lifecycle event.

public @interface
PreUpdate

Specifies a callback method for the corresponding lifecycle event.

public @interface
PrimaryKeyJoinColumn

Specifies a primary key column that is used as a foreign key to join to another table.

public @interface
public @interface
QueryHint

Used to supply a query property or hint to the NamedQuery or NamedNativeQuery annotation.

public @interface
SecondaryTable

Specifies a secondary table for the annotated entity class.

public @interface
SecondaryTables

Specifies multiple secondary tables for an entity.

public @interface
SequenceGenerator

Defines a primary key generator that may be referenced by name when a generator element is specified for the GeneratedValue annotation.

public @interface
SequenceGenerators

Used to group SequenceGenerator annotations.

public @interface
SqlResultSetMapping

Specifies the mapping of the result of a native SQL query or stored procedure.

public @interface
SqlResultSetMappings

Is used to define one or more SqlResultSetMapping annotations.

public @interface
StoredProcedureParameter

Specifies a parameter of a named stored procedure query.

public @interface
Table

Specifies the primary table for the annotated entity.

public @interface
TableGenerator

Defines a primary key generator that may be referenced by name when a generator element is specified for the GeneratedValue annotation.

public @interface
TableGenerators

Used to group TableGenerator annotations.

public @interface
Temporal

This annotation must be specified for persistent fields or properties of type java.util.Date and java.util.Calendar.

public @interface
Transient

Specifies that the property or field is not persistent.

public @interface
UniqueConstraint

Specifies that a unique constraint is to be included in the generated DDL for a primary or secondary table.

public @interface
Version

Specifies the version field or property of an entity class that serves as its optimistic lock value.

Class Summary

Modifier and TypeClass and Description
public class
EntityExistsException

Thrown by the persistence provider when EntityManager.persist(Object) is called and the entity already exists.

public class
EntityNotFoundException

Thrown by the persistence provider when an entity reference obtained by EntityManager.getReference is accessed but the entity does not exist.

public class
LockTimeoutException

Thrown by the persistence provider when an pessimistic locking conflict occurs that does not result in transaction rollback.

public class
NonUniqueResultException

Thrown by the persistence provider when Query.getSingleResult() or TypedQuery.getSingleResult() is executed on a query and there is more than one result from the query.

public class
NoResultException

Thrown by the persistence provider when Query.getSingleResult() or TypedQuery.getSingleResult()is executed on a query and there is no result to return.

public class
OptimisticLockException

Thrown by the persistence provider when an optimistic locking conflict occurs.

public class
Persistence

Bootstrap class that is used to obtain an EntityManagerFactory in Java SE environments.

public class
PersistenceException

Thrown by the persistence provider when a problem occurs.

public class
PessimisticLockException

Thrown by the persistence provider when an pessimistic locking conflict occurs.

public class
QueryTimeoutException

Thrown by the persistence provider when a query times out and only the statement is rolled back.

public class
RollbackException

Thrown by the persistence provider when EntityTransaction.commit() fails.

public class
TransactionRequiredException

Thrown by the persistence provider when a transaction is required but is not active.

Enum Summary

Modifier and TypeEnum and Description
public enum
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.

public enum
CacheRetrieveMode

Used as the value of the jakarta.persistence.cache.retrieveMode property to specify the behavior when data is retrieved by the find methods and by queries.

public enum
CacheStoreMode

Used as the value of the jakarta.persistence.cache.storeMode property to specify the behavior when data is read from the database and when data is committed into the database.

public enum
CascadeType

Defines the set of cascadable operations that are propagated to the associated entity.

public enum
ConstraintMode

Used to control the application of a constraint.

public enum
DiscriminatorType

Defines supported types of the discriminator column.

public enum
EnumType

Defines mapping for enumerated types.

public enum
FetchType

Defines strategies for fetching data from the database.

public enum
FlushModeType

Flush mode setting.

public enum
GenerationType

Defines the types of primary key generation strategies.

public enum
InheritanceType

Defines inheritance strategy options.

public enum
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.

public enum
ParameterMode

Specifies the mode of a parameter of a stored procedure query.

public enum
PersistenceContextType

Specifies whether a transaction-scoped or extended persistence context is to be used in PersistenceContext.

public enum
PessimisticLockScope

Defines the values of the jakarta.persistence.lock.scope property for pessimistic locking.

public enum
SharedCacheMode

Specifies how the provider must use a second-level cache for the persistence unit.

public enum
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.

public enum
TemporalType

Type used to indicate a specific mapping of java.util.Date or java.util.Calendar.

public enum
ValidationMode

The validation mode to be used by the provider for the persistence unit.