Jakarta Persistence - 2.2
Specification Assertion Detail

TotalsTotalActiveDeprecatedRemoved
# of Assertions 27032604099
# of Required Assertions 26092511098
# of Optional Assertions 949301

IDChapterSectionDescriptionRequiredDependencyImplementation SpecificDefined byStatusTestable
PERSISTENCE:SPEC:50021The entity class must:true
falsetechnologyactivetrue
PERSISTENCE:SPEC:50121be annotated with the Entity annotation true
falsetechnologyactivetrue
PERSISTENCE:SPEC:50221be denoted in the XML descriptor as an Entity true
falsetechnologyactivetrue
PERSISTENCE:SPEC:50321The entity must have a no-arg constructor. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:50421The entity may have other constructors as well. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:50521The no-arg constructor must be public or protected. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:131821The entity class must be a top-level class true
falsetechnologyactivetrue
PERSISTENCE:SPEC:114521An enum or interface must not be designated as an entity. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:50621If an entity instance is to be passed by value as a detached object (e.g., through a remote interface), the entity class must implement the Serializable interface. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:50721The entity class must not be final.true
falsetechnologyactivetrue
PERSISTENCE:SPEC:50821No methods or persistent instances of the entity class may be final. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:114621An instance variable must be directly accessed only from within the methods of the entity by the entity instance itself. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:50921Both abstract and concrete classes can be entities. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:51021Entities may extend non-entity classes as well as entity classes and non-entity classes may extend entity classes. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:51121Instance variables must not be accessed by clients of the entity. The state of the entity is available to clients only through the entity's methods—i.e., accessor methods (getter/setter methods) or other business methods. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:51621.1It is required that the entity class follow the method conventions for a JavaBean when property-based access is used. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:51222Instance variables of a class must be private, protected, or package visibility independent of whether field access or property access is used. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:51522When property access is used, the property accessor methods must be public or protected. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:131922for every persistent property property of type T of the entity, there is a getter method, getProperty, and setter method setProperty. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:132022For boolean properties, isProperty may be used as an alternative name for the getter method true
falsetechnologyactivetrue
PERSISTENCE:SPEC:51722Collection-valued persistent fields and properties must be defined in terms of one of the following collection-valued interfaces regardless of whether the entity class otherwise adheres to the JavaBeans method conventions noted above and whether field or property access is used true
falsetechnologyactivetrue
PERSISTENCE:SPEC:51822The following collection interfaces are supported: java.util.Collection, java.util.set, java.util.List, java.util.Map true
falsetechnologyactivetrue
PERSISTENCE:SPEC:132122The collection implementation type may be used by the application to initialize fields or properties before the entity is made persistent. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:132222Once the entity becomes managed (or detached), subsequent access must be through the interface type. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:51922For collection-valued persistent properties, type T must be one of these collection interface types in the method signatures above. Use of the generic variants of these collection types is encouraged true
falsetechnologyactivetrue
PERSISTENCE:SPEC:52022In addition to returning and setting persistent state of the instance, the property accessor methods may contain other business logic as well, for example, to perform validation. The persistence provider runtime executes this logic when property-based access is used. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:52122If a persistence context is joined to a transaction, runtime exceptions thrown by property accessor methods cause the current transaction to be rolled back. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:52222Exceptions thrown by such methods when used by the persistence runtime to load or store persistent state cause the persistence runtime to mark the current transaction for rollback and to throw a PersistenceException that wraps the application exception. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:52322Entity subclasses may override the property accessor methods. However, portable applications must not override the object/relational mapping metadata that applies to the persistent fields or properties of entity superclasses. true
truetechnologyactivetrue
PERSISTENCE:SPEC:52422The persistent fields or properties of an entity may be one of the following types: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:52522Java primitive typestrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:52622java.lang.Stringtrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:52722other Java serializable types (including wrappers of the primitive types, java.math.BigInteger, java.math.BigDecimal, java.util.Date, java.util.Calendar, java.sql.Date, java.sql.Time, java.sql.TimeStamp true
falsetechnologyactivetrue
PERSISTENCE:SPEC:52822user-defined serializable types, byte[], Byte[], char[], and Character[] true
falsetechnologyactivetrue
PERSISTENCE:SPEC:52922enumstrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:53022entity typestrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:53122collection of entity typestrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:53222embeddable classestrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:524.122collections of basic typestrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:524.222collections of embeddable typestrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:114923.1By default, a single access type(field or property access) applies to an entity hierarchy. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:132323.1The default access type of an entity hierarchy is determined by the placement of mapping annotations on the attributes of the entity classes and mapped superclasses of the entity hierarchy that do not explicitly specify an access type. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:132423.1An access type is explicitly specified by means of the Access annotation true
falsetechnologyactivetrue
PERSISTENCE:SPEC:51323.1When field-based access is used, the object/relational mapping annotations for the entity class annotate the instance variables, and the persistence provider runtime accesses instance variables directly. All non-transient instance variables that are not annotated with the Transient annotation are persistent. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:51423.1When property-based access is used, the object/relational mapping annotations for the entity class annotate the getter property accessors, and the persistence provider runtime accesses persistent state via the property accessor methods. All properties not annotated with the Transient annotation are persistent. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:115023.1Mapping annotations must not be applied to fields or properties that are transient or Transient. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:132523.1All such classes in the entity hierarchy whose access type is defaulted in this way must be consistent in their placement of annotations on either fields or properties, such that a single, consistent default access type applies within the hierarchy. Any embeddable classes used by such classes will have the same access type as the default access type of the hierarchy unless the Access annotation is specified as defined below. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:132623.2An access type for an individual entity class, mapped superclass, or embeddable class can be specified for that class independent of the default for the entity hierarchy by means of the Access annotation applied to the class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:132723.2This explicit access type specification does not affect the access type of other entity classes or mapped superclasses in the entity hierarchy. The following rules apply: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1327.123.2When Access(FIELD) is applied to an entity class, mapped superclass, or embeddable class, mapping annotations may be placed on the instance variables of that class, and the persistence provider runtime accesses persistent state via the instance variables defined by the class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1327.223.2All non-transient instance variables that are not annotated with the Transient annotation are persistent. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1327.323.2When Access(FIELD) is applied to such a class, it is possible to selectively designate individual attributes within the class for property access. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:115323.2To specify a persistent property for access by the persistence provider runtime, that property must be designated Access(PROPERTY.) true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1327.423.2It is permitted (but redundant) to place Access(FIELD) on a persistent field whose class has field access type or Access(PROPERTY) on a persistent property whose class has property access type true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1327.523.2It is not permitted to specify a field as Access(PROPERTY) or a property as Access(FIELD) true
falsetechnologyactivefalse
PERSISTENCE:SPEC:1327.623.2Note that Access(PROPERTY) must not be placed on the setter methods. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:115423.2The behavior is undefined if mapping annotations are placed on any properties defined by the class for which Access(PROPERTY) is not specified. true
truetechnologyactivefalse
PERSISTENCE:SPEC:1327.723.2Persistent state inherited from superclasses is accessed in accordance with the access types of those superclasses. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1327.823.2When Access(PROPERTY) is applied to an entity class, mapped superclass, or embeddable class, mapping annotations may be placed on the properties of that class, and the persistence provider runtime accesses persistent state via the properties defined by that class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1327.923.2All properties that are not annotated with the Transient annotation are persistent. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1327.1023.2When Access(PROPERTY) is applied to such a class, it is possible to selectively designate individual attributes within the class for instance variable access. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:115523.2To specify a persistent instance variable for access by the persistence provider runtime, that instance variable must be designated Access(FIELD) true
falsetechnologyactivetrue
PERSISTENCE:SPEC:115623.2The behavior is undefined if mapping annotations are placed on any instance variables defined by the class for which Access(FIELD) is not specified. true
truetechnologyactivefalse
PERSISTENCE:SPEC:1327.1123.2Persistent state inherited from superclasses is accessed in accordance with the access types of those superclasses. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:132823.3The access type of an embeddable class is determined by the access type of the entity class, mapped superclass, or embeddable class in which it is embedded (including as a member of an element collection) independent of whether the access type of the containing class has been explicitly specified or defaulted. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:132923.3A different access type for an embeddable class can be specified for that embeddable class by means of the Access annotation as described above. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:53324Every entity must have a primary key.true
falsetechnologyactivetrue
PERSISTENCE:SPEC:115824The primary key must be defined on the entity class that is the root of the entity hierarchy or on a mapped superclass that is a (direct or indirect) superclass of all entity classes in the entity hierarchy. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:115924The primary key must be defined exactly once in an entity hierarchy. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:53424A simple (i.e., non-composite) primary key must correspond to a single persistent field or property of the entity class. The Id annotation or id XML element must be used to denote a simple primary key. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:53524Composite primary key must correspond to either a single persistent field or property or to a set of such fields or properties true
falsetechnologyactivetrue
PERSISTENCE:SPEC:116224A primary key class must be defined to represent a composite primary key. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:133024The EmbeddedId or IdClass annotation is used to denote a composite primary key true
falsetechnologyactivetrue
PERSISTENCE:SPEC:53624A simple primary key or a field or property of a composite primary key should be one of the following types: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:53724any Java primitive typetrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:53824any primitive wrapper typetrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:53924java.lang.Stringtrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:54024java.util.Date. If java.util.Date is used as a primary key field or property,the temporal type should be specified as DATE. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:54124java.sql.Datetrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:116924java.math.BigDecimaltrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:117024java.math.BigIntegertrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:133124If the primary key is a composite primary key derived from the primary key of another entity, the primary key may contain an attribute whose type is that of the primary key of the referenced entity true
truetechnologyactivefalse
PERSISTENCE:SPEC:117224If generated primary keys are used, only integral types will be portable. true
truetechnologyactivefalse
PERSISTENCE:SPEC:54324The following rules apply for composite primary keys: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:54424The primary key class must be public and must have a public no-arg constructor. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:54224The access type (field- or property-based access) of a primary key class is determined by the access type of the entity for which it is the primary key unless the primary key is a embedded id and a different access type is specified. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:54624If property-based access is used, the properties of the primary key class must be public or protected. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:54524The primary key class must be serializable. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:54724The primary key class must define equals and hashCode methods. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:54824A composite primary key must either be represented and mapped as an embeddable class (EmbeddedId annotation) or must be represented as an id class and mapped to multiple fields or properties of the entity class (IdClass annotation). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:54924If the composite primary key class is represented as an id class, the names of primary key fields or properties in the primary key class and those of the entity class to which the id class is mapped must correspond and their types must be the same. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:117724A primary key that corresponds to a derived identity must conform to the rules true
falsetechnologyactivefalse
PERSISTENCE:SPEC:55024The application must not change the value of the primary key. The behavior is undefined if this occurs. false
truetechnologyactivefalse
PERSISTENCE:SPEC:117924.1The identity of an entity may be derived from the identity of another entity (the "parent" entity) when the former entity (the "dependent" entity) is the owner of a many-to-one or one-to-one relationship to the parent entity and a foreign key maps the relationship from dependent to parent. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:133224.1If a many-to-one or one-to-one entity relationship corresponds to a primary key attribute, the entity containing this relationship cannot be persisted without the relationship having been assigned an entity since the identity of the entity containing the relationship is derived from the referenced entity. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:133324.1Derived identities may be captured by means of simple primary keys or by means of composite primary keys true
falsetechnologyactivetrue
PERSISTENCE:SPEC:118024.1If the dependent entity class has primary key attributes in addition to those of the parent's primary key or if the parent has a composite primary key, an embedded id or id class must be used to specify the primary key of the dependent entity. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:133424.1It is not necessary that parent entity and dependent entity both use embedded ids or both use id classes to represent composite primary keys when the parent has a composite key. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:118124.1A dependent entity may have more than one parent entity. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:118224.1.1If the dependent entity uses an id class to represent its primary key, one of the two following rules must be observed: The names of the attributes of the id class and the Id attributes of the dependent entity class must correspond as follows: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:118324.1.1The Id attribute in the entity class and the corresponding attribute in the id class must have the same name. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:118424.1.1If an Id attribute in the entity class is of basic type, the corresponding attribute in the id class must have the same type. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:118524.1.1If an Id attribute in the entity is a many-to-one or one-to-one reference to a parent entity, the type of the corresponding attribute in the id class must be the same Java type as the id class or embedded id of the parent entity (if the parent entity has a composite primary key) or the type of the Id attribute of the parent entity (if the parent entity has a simple primary key). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1182.124.1.1If the dependent entity has a single primary key attribute (i.e., the relationship attribute), the id class specified by the dependent entity must be the same as the primary key class of the parent entity. The Id annotation is applied to the relationship to the parent entity. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:133524.1.1If the dependent entity uses an embedded id to represent its primary key, the attribute in the embedded id corresponding to the relationship attribute must be of the same type as the primary key of the parent entity and must be designated by the MapsId annotation applied to the relationship attribute. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:133624.1.1The value element of the MapsId annotation must be used to specify the name of the attribute within the embedded id to which the relationship attribute corresponds. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:133724.1.1If the embedded id of the dependent entity is of the same Java type as the primary key of the parent entity, the relationship attribute maps both the relationship to the parent and the primary key of the dependent entity, and in this case the MapsId annotation is specified without the value element true
falsetechnologyactivetrue
PERSISTENCE:SPEC:133824.1.1Note that the parent’s primary key might be represented as either an embedded id or as an id class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:133924.1.1If the dependent entity has a single primary key attribute (i.e, the relationship attribute or an attribute that corresponds to the relationship attribute) and the primary key of the parent entity is a simple primary key, the primary key of the dependent entity is a simple primary key of the same type as that of the parent entity (and neither EmbeddedId nor IdClass is specified). In this case, either (1) the relationship attribute is annotated Id, or (2) a separate Id attribute is specified and the relationship attribute is annotated MapsId (and the value element of the MapsId annotation is not specified). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:134024.1.2A primary key attribute that is derived from the identity of a parent entity is mapped by the corresponding relationship attribute. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:134124.1.2The default mapping for this relationship is as specified in section 2.10. In the case where a default mapping does not apply or where a default mapping is to be overridden, the JoinColumn or JoinColumns annotation is used on the relationship attribute. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:134224.1.2If the dependent entity uses an embedded id to represent its primary key, the AttributeOverride annotation may be used to override the default mapping of embedded id attributes that do not correspond to the relationship attributes mapping the derived identity. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:134324.1.2The embedded id attributes that correspond to the relationship are treated by the provider as “read only”—that is, any updates to them on the part of the application are not propagated to the database. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:134424.1.2If the dependent uses an id class, the Column annotation may be used to override the default mapping of Id attributes that are not relationship attributes. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:118825An entity may have collections of embeddables as well as single-valued embeddable attributes. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:118925Embeddable may be used as map keys and map values. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:55125Embedded objects belong strictly to their owning entity and are not shareable across persistent entities. Attempting to share an embedded object across entities has undefined semantics. true
truetechnologyactivefalse
PERSISTENCE:SPEC:55325Embeddable classes must adhere to the requirements as specified in section 2.1 for entities with the exception that embeddable classes are not annotated as Entity. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:119025Embeddable classes must be annotated as Embeddable or denoted in XML descriptors. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:119125An embeddable class may be used to represent the state of another embeddable class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:119225An embeddable class (including an embeddable class within another embeddable class) may contain a collection of a basic type or other embeddable class. Direct or indirect circular containment dependencies among embeddable classes are not permitted. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:119325An embeddable class may contain a relationship to an entity or collection of entities. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:119425Since instances of embeddable classes themselves have no persistent identity, the relationship from the referenced entity is to the entity that contains the embeddable instance(s) and not to the embeddable itself. An embeddable class that is used as an embedded id or as map key must not contain such a relationship. An entity cannot have a unidirectional relationship to the embeddable class of another entity (or itself). true
falsetechnologyactivefalse
PERSISTENCE:SPEC:119526A persistent field or property of an entity or embeddable class may correspond to a collection of a basic type or embeddable class (“element collection”). Such a collection, when specified as such by the ElementCollection annotation, is mapped by means of a collection table true
falsetechnologyactivetrue
PERSISTENCE:SPEC:119526If the ElementCollection annotation (or XML equivalent) is not specified for the collection-valued field or property, the rules of Section 2.8 apply. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:119626An embeddable class (including an embeddable class within another embeddable class) that is contained within an element collection must not contain an element collection, nor may it contain a relationship to an entity other than a many-to-one or one-to-one relationship. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:119726The embeddable class must be on the owning side of the relationship and the relationship must be mapped by a foreign key mapping. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:119827Collections of elements and entity relationships can be represented as java.util.Map collections. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:119927The map key type and the map value independently can each be a basic type, embeddable class, or an entity. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:120027The ElementCollection, OneToMany, and ManyToMany annotations are used to specify the map as an element collection or entity relationship as follows: when the map value is a basic type or embeddable class, the ElementCollection annotation is used; when the map value is an entity, the OneToMany or ManyToMany annotation is used. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:120127Bidirectional relationships represented as java.util.Map collections support the use of the Map datatype on one side of the relationship only. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:120227.1If the map key type is a basic type, the MapKeyColumn annotation is used to specify the column mapping for the map key. If the MapKeyColumn annotation is not specified, the default values of the MapKeyColumn annotation apply. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:120327.1If the map key type is an embeddable class, the mappings for the map key columns are defaulted according to the default column mappings for the embeddable class. The AttributeOverride and AttributeOverrides annotations can be used to override these mappings true
falsetechnologyactivetrue
PERSISTENCE:SPEC:134527.1If an embeddable class is used as a map key, the embeddable class must implement the hashCode and equals methods consistently with the database columns to which the embeddable is mapped true
falsetechnologyactivetrue
PERSISTENCE:SPEC:120427.1If the map key type is an entity, the MapKeyJoinColumn and MapKeyJoinColumns annotations are used to specify the column mappings for the map key. If the primary key of the referenced entity is a simple primary key and the MapKeyJoinColumn annotation is not specified, the default values of the MapKeyJoinColumn annotation apply. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:120527.1If Java generic types are not used in the declaration of a relationship attribute of type java.util.Map, the MapKeyClass annotation must be used to specify the type of the key of the map. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:134627.1The MapKey annotation is used to specify the special case where the map key is itself the primary key or a persistent field or property of the entity that is the value of the map. The MapKeyClass annotation is not used when MapKey is specified. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:134727.2When the value type of the map is a basic type or an embeddable class, a collection table is used to map the map. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:120627.2If Java generic types are not used, the targetClass element of the ElementCollection annotation must be used to specify the value type for the map. The default column mappings for the map value are derived according to the default mapping rules for the CollectionTable annotation. The Column annotation is used to override these defaults for a map value of basic type. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:134827.2The AttributeOverride(s) and AssociationOverride(s) annotations are used to override the mappings for a map value that is an embeddable class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:120727.2When the value type of the map is an entity, a join table is used to map for a many-to-many relationship or, by default, for a one-to-many unidirectional relationship. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:120827.2If the relationship is a bidirectional one-to-many/many-to-one relationship, by default the map is mapped in the table of the entity that is the value of the map. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:120927.2If Java generic types are not used, the targetEntity element of the OneToMany or ManyToMany annotation must be used to specify the value type for the map. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:55528If a persistent field or property other than a relationship property is not annotated with a mapping annotation, the the following default mappings rules are applied in order true
falsetechnologyactivetrue
PERSISTENCE:SPEC:55728If the type is a class that is annotated with the @Embeddable annotation, it is mapped as if the field or property were annotated with the Embedded annotation. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:55628If the type of the field or property is one of the following, it is mapped in the same way as it would if it were annotated as Basic: Java primitive types, wrappers of primitive types, java.lang.String, java.math.BigInteger, java.math.BigDecimal, java.util.Date, java.util.Calendar,java.sql.Date, java.sql.Time, java.sql.TimeStamp, byte[], Byte[], char[], Character[], enums, any other types that implement Serializable. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:56028It is an error if no annotation is present and none of the above rules apply. true
truetechnologyactivetrue
PERSISTENCE:SPEC:56129If there is an association between two entities, one of the following relationship modeling annotations must be applied to the corresponding property or field of the referencing entity: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:56229OneToOnetrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:56329OneToManytrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:56429ManyToOnetrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:56529ManyToManytrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:56629For associations that do not specify the targe type (e.g., where Java generic types are not used for collections) it is necessary to also specify the entity that is the target of the relationship. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:121029Relationships may be bidirectional or unidirectional. false
falsetechnologyactivetrue
PERSISTENCE:SPEC:56729A bidirectional relationship has both an owning side and an inverse (non-owning)side true
falsetechnologyactivetrue
PERSISTENCE:SPEC:56829A unidirectional relationship has only an owning side. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:56929The following rules apply to bidirectional relationships: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:57029The inverse side of a bidirectional relationship must refer to its owning side by use of the mappedBy element of the OneToOne, OneToMany, or ManyToMany annotation. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:57129The mappedBy element designates the property or field in the entity that is the owner of the relationship. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:57229The many side of one-to-many/many-to-one bidirectional relationships must be the owning side, hence the mappedBy element cannot be specified on the ManyToOne annotation. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:57329For one-to-one bidirectional relationships, the owning side corresponds to the side that contains the corresponding foreign key. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:57429For many-to-many bidirectional relationships, either side may be the owning side. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:57529The cascade=REMOVE specification should only be applied to associations that are specified as OneToOne or OneToMany. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:57629Applications that apply cascade=REMOVE to other assocations are not portable. true
truetechnologyactivefalse
PERSISTENCE:SPEC:134929Associations that are specified as OneToOne or OneToMany support use of the orphanRemoval option. The following behaviors apply when orphanRemoval is in effect: true
truetechnologyactivetrue
PERSISTENCE:SPEC:1349.129If an entity that is the target of the relationship is removed from the relationship (by setting the relationship to null or removing the entity from the relationship collection), the remove operation will be applied to the entity being orphaned. The remove operation is applied at the time of the flush operation. The orphanRemoval functionality is intended for entities that are privately "owned" by their parent entity. true
truetechnologyactivetrue
PERSISTENCE:SPEC:1349.229If the entity being orphaned is a detached, new, or removed entity, the semantics of orphanRemoval do not apply. true
truetechnologyactivetrue
PERSISTENCE:SPEC:1349.329If the remove operation is applied to a managed source entity, the remove operation will be cascaded to the relationship target in accordance with the rules of section 3.2.3, (and hence it is not necessary to specify cascade=REMOVE for the relationship). If the parent is detached or new or was previously removed before the orphan was associated with it, the remove operation is not applied to the entity being orphaned. true
truetechnologyactivetrue
PERSISTENCE:SPEC:121129In addition, this specification also requires support for the following alternative mapping strategies: false
falsetechnologyactivefalse
PERSISTENCE:SPEC:121229The mapping of unidirectional one-to-many relationships by means of foreign key mappings. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:121429The JoinColumn annotation or corresponding XML element must be used to specify such non-default mappings. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:121329The mapping of unidirectional and bidirectional one-to-one relationships and bidirectional many-to-one/one-to-many relationships by means of join table mappings. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1211.129The JoinTable annotation or corresponding XML element must be used to specify such non-default mappings true
falsetechnologyactivetrue
PERSISTENCE:SPEC:57729Such mapping annotations must be specified on the owning side of the relationship. Any overriding of mapping defaults must be consistent with the relationship modeling annotation that is specified. true
truetechnologyactivetrue
PERSISTENCE:SPEC:135029If there are no associated entities for a multi-valued relationship of an entity fetched from the database, the persistence provider is responsible for returning an empty collection as the value of the relationship. true
truetechnologyactivetrue
PERSISTENCE:SPEC:578210.1Assuming that: Entity A references a single instance of Entity B. Entity B references a single instance of Entity A. Entity A is specified as the owner of the relationship. The following mapping defaults apply: Entity A is mapped to a table named A. Entity B is mapped to a table named B. Table A contains a foreign key to table B. The foreign key column name is formed as the concatenation of the following: the name of the relationship property or field of entity A; "_"; the name of the primary key column in table B. The foreign key column has the same type as the primary key of table B and there is a unique key constraint on it. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:579210.2Assuming that: Entity A references a single instance of Entity B. Entity B references a collection of Entity A. Entity A must be the owner of the relationship. The following mapping defaults apply: Entity A is mapped to a table named A. Entity B is mapped to a table named B. Table A contains a foreign key to table B. The foreign key column name is formed as the concatenation of the following: the name of the relationship property or field of entity A; "_"; the name of the primary key column in table B. The foreign key column has the same type as the primary key of table B. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1351210.2When the relationship is modeled as a java.util.Map, “Entity B references a collection of Entity A” means that Entity B references a map collection in which the type of the Map value is Entity A. The map key may be a basic type, embeddable class, or an entity. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:580210.3Assuming that: Entity A references a single instance of Entity B. Entity B does not reference Entity A. A unidirectional relationship has only an owning side, which in this case must be Entity A. The unidirectional single-valued relationship modeling case can be specified as either a unidirectional OneToOne or as a unidirectional ManyToOne relationship. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:581210.3.1The following mapping defaults apply: Entity A is mapped to a table named A. Entity B is mapped to a table named B. Table A contains a foreign key to table B. The foreign key column name is formed as the concatenation of the following: the name of the relationship property or field of entity A; "_"; the name of the primary key column in table B. The foreign key column has the same type as the primary key of table B and there is a unique key constraint on it. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:582210.3.2The following mapping defaults apply: Entity A is mapped to a table named A. Entity B is mapped to a table named B. Table A contains a foreign key to table B. The foreign key column name is formed as the concatenation of the following: the name of the relationship property or field of entity A; "_"; the name of the primary key column in table B. The foreign key column has the same type as the primary key of table B. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:583210.4Assuming that: Entity A references a collection of Entity B. Entity B references a collection of Entity A. Entity A is the owner of the relationship. The following mapping defaults apply: Entity A is mapped to a table named A. Entity B is mapped to a table named B. There is a join table that is named A_B (owner name first). This join table has two foreign key columns. One foreign key column refers to table A and has the same type as the primary key of table A. The name of this foreign key column is formed as the concatenation of the following: the name of the relationship property or field of entity B; "_"; the name of the primary key column in table A. The other foreign key column refers to table B and has the same type as the primary key of table B. The name of this foreign key column is formed as the concatenation of the following: the name of the relationship property or field of entity A; "_"; the name of the primary key column in table B. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:584210.5Assuming that: Entity A references a collection of Entity B. Entity B does not reference Entity A. A unidirectional relationship has only an owning side, which in this case must be Entity A. The unidirectional multi-valued relationship modeling case can be true
falsetechnologyactivetrue
PERSISTENCE:SPEC:585210.5.1The following mapping defaults apply: Entity A is mapped to a table named A. Entity B is mapped to a table named B. There is a join table that is named A_B (owner name first). This join table has two foreign key columns. One foreign key column refers to table A and has the same type as the primary key of table A. The name of this foreign key column is formed as the concatenation of the following: the name of entity A; "_"; the name of the primary key column in table A. The other foreign key column refers to table B and has the same type as the primary key of table B and there is a unique key constraint on it. The name of this foreign key column is formed as the concatenation of the following: the name of the relationship property or field of entity A; "_"; the name of the primary key column in table B. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:586210.5.2Entity A is mapped to a table named A. Entity B is mapped to a table named B. There is a join table that is named A_B (owner name first). This join table has two foreign key columns. One foreign key column refers to table A and has the same type as the primary key of table A. The name of this foreign key column is formed as the concatenation of the following: the name of entity A; "_"; the name of the primary key column in table A. The other foreign key column refers to table B and has the same type as the primary key of table B. The name of this foreign key column is formed as the concatenation of the following: the name of the relationship property or field of entity A; "_"; the name of the primary key column in table B. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1217211An entity may inherit from another entity class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1218211Entities support inheritance,polymorphic associations, and polymorphic queries. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1219211Both abstract and concrete classes can be entities. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1352211Both abstract and concrete classes can be annotated with the Entity annotation, mapped as entities, and queried for as entities. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1220211Entities can extend non-entity classes and non-entity classes can extend entity classes. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1353211.1An abstract class can be specified as an entity. An abstract entity differs from a concrete entity only in that it cannot be directly instantiated. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:588211.1An abstract entity class is annotated with the Entity annotation or denoted in the XML descriptor as an entity. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:588.1211.1An abstract entity is mapped as an entity and can be the target of queries (which will operate over and/or retrieve instances of its concrete subclass). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:593211.2An entity may inherit from a superclass that provides persistent entity state and mapping information, but which is not itself an entity. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:594211.2A mapped superclass, unlike an entity, is not queryable and must not be passed as an argument to EntityManager or Query operations. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1354211.2Persistent relationships defined by a mapped superclass must be unidirectional. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:595211.2An mapped superclass cannot be the target of a persistent relationship. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:596211.2Both abstract or concrete classes may be specified as mapped superclasses. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:597211.2The MappedSuperclass annotation (or mapped-superclass XML descriptor element) is used to designate an mapped superclass. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:598211.2A class designated as an mapped superclass has no separate table defined for it. Its mapping information is applied to entities that inherit from it. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:599211.2A classes designated as mapped superclass can be mapped in the same way as an entity except that the mapping will only apply to its subclesses since no table exists for the mapped superclass. When applied to the subclasses the inherited mappings will apply in the context of the subclass tables. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:600211.2Mapping information may be overridden in such subclasses by using the AttributeOverride and AssociationOverride annotations or corresponding XML elements. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:601211.2All other entity mapping defaults apply equally to a class designated as mapped superclass. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:589211.3An entity can have a non-entity superclass, which may be either a concrete or abstract class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:589211.3The superclass must not be an embeddable class or id class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:590211.3The state of a non-entity superclass is not persistent. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:591211.3Any state inherited from non-entity superclasses is non-persistent in an inheriting entity class. This non-persistent state is not managed by the entity manager. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1355211.3Any annotations on such superclasses are ignored. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:592211.3Non-entity classes cannot be passed as arguments to methods of the EntityManager or Query interfaces and cannot bear mapping information. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:592.1211.3This includes instances of a non-entity class that extends an entity class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:602212There are three basic strategies that are used when mapping a class or class hierarchy to a relational database schema: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:603212a single table per class hierarchy false
falsetechnologyactivetrue
PERSISTENCE:SPEC:605212a joined subclass strategy, in which fields that are specific to a subclass are mapped to a separate table than the fields that are common to the parent class, and a join is performed to instantiate the subclass. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:604212a table per concrete entity classtrue
truetechnologyactivetrue
PERSISTENCE:SPEC:1356212 An implementation is required to support the single table per class hierarchy inheritance mapping strategy and the joined subclass strategy. true
truetechnologyactivetrue
PERSISTENCE:SPEC:1357212.1 all the classes in a hierarchy are mapped to a single table. The table has a column that serves as a “discriminator column”, that is, a column whose value identifies the specific subclass to which the instance that is represented by the row belongs. true
truetechnologyactivetrue
PERSISTENCE:SPEC:1358212.1 It has the drawback, however, that it requires that the columns that correspond to state specific to the subclasses be nullable. true
truetechnologyactivetrue
PERSISTENCE:SPEC:1359212.2In the joined subclass strategy, the root of the class hierarchy is represented by a single table. Each subclass is represented by a separate table that contains those fields that are specific to the subclass (not inherited from its superclass), as well as the column(s) that represent its primary key. The primary key column(s) of the subclass table serves as a foreign key to the primary key of the superclass table. true
truetechnologyactivetrue
PERSISTENCE:SPEC:1360212.2It has the drawback that it requires that one or more join operations be performed to instantiate instances of a subclass. In deep class hierarchies, this may lead to unacceptable performance. Queries that range over the class hierarchy likewise require joins. true
truetechnologyactivetrue
PERSISTENCE:SPEC:1361212.3 each class is mapped to a separate table. All properties of the class, including inherited properties, are mapped to columns of the table for the class. true
truetechnologyactivetrue
PERSISTENCE:SPEC:1362213This specification requires the following with regard to the interpretation of the names referencing database objects. These names include the names of tables, columns, and other database elements. Such names also include names that result from defaulting (e.g., a table name that is defaulted from an entity name or a column name that is defaulted from a field or property name). true
truetechnologyactivetrue
PERSISTENCE:SPEC:1363213 By default, the names of database objects must be treated as undelimited identifiers and passed to the database as such. true
truetechnologyactivetrue
PERSISTENCE:SPEC:1369213 To specify delimited identifiers, one of the following approaches must be used: true
truetechnologyactivetrue
PERSISTENCE:SPEC:1369.1213 It is possible to specify that all database identifiers in use for a persistence unit be treated as delimited identifiers by specifying the element within the persistence-unit-defaults element of the object/relational xml mapping file. true
truetechnologyactivetrue
PERSISTENCE:SPEC:1369.2213 If the element is specified, it cannot be overridden. true
truetechnologyactivetrue
PERSISTENCE:SPEC:1369.3213 It is possible to specify on a per-name basis that a name for a database object is to be interpreted as a delimited identifier as follows: Using annotations, a name is specified as a delimited identifier by enclosing the name within double quotes, whereby the inner quotes are escaped true
truetechnologyactivetrue
PERSISTENCE:SPEC:1369.4213 It is possible to specify on a per-name basis that a name for a database object is to be interpreted as a delimited identifier as follows: When using XML, a name is specified as a delimited identifier by use of double quotes true
truetechnologyactivetrue
PERSISTENCE:SPEC:1370213 The following annotations contain elements whose values correspond to names of database identifiers and for which the above rules apply, including when their use is nested within that of other annotations: true
truetechnologyactivetrue
PERSISTENCE:SPEC:1370.1213 EntityResult (discriminatorColumn element) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1370.2213FieldResult (column element) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1370.3213ColumnResult (name element) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1370.4213CollectionTable (name, catalog, schema elements) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1370.5213Column (name, columnDefinition, table elements) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1370.6213DiscriminatorColumn (name, columnDefinition elements) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1370.7213ForeignKey (name, foreignKeyDefinition elements) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1370.8213Index (name, columnList elements) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1370.9213JoinColumn (name, referencedColumnName, columnDefinition, table elements) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1370.10213JoinTable (name, catalog, schema elements) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1370.11213MapKeyColumn (name, columnDefinition, table elements) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1370.12213MapKeyJoinColumn (name, referencedColumnName, columnDefinition, table elements) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1370.13213NamedStoredProcedureQuery (procedureName element) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1370.14213OrderColumn (name, columnDefinition elements) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1370.15213PrimaryKeyJoinColumn (name, referencedColumnName, columnDefinition elements) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1370.16213
true
truetechnologyactivetrue
PERSISTENCE:SPEC:1370.17213SecondaryTable (name, catalog, schema elements) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1370.18213SequenceGenerator (sequenceName, catalog, schema elements) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1370.19213StoredProcedureParameter (name element) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1370.20213Table (name, catalog, schema elements) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1370.21213TableGenerator (table, catalog, schema, pkColumnName, valueColumnName elements) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1370.22213UniqueConstraint (name, columnNames elements) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1371213 The following XML elements and types contain elements or attributes whose values correspond to names of database identifiers and for which the above rules apply: true
truetechnologyactivetrue
PERSISTENCE:SPEC:1371.1213entity-mappings (schema, catalog elements) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1371.2213persistence-unit-defaults (schema, catalog elements) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1371.3213collection-table (name, catalog, schema attributes) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1371.4213column (name, table, column-definition attributes) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1371.5213column-result (name attribute) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1371.6213discriminator-column (name, column-definition attributes) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1371.7213entity-result (discriminator-column attribute) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1371.8213field-result (column attribute) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1371.9213foreign-key (name, foreign-key-definition attributes) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1371.10213index (name attribute, column-list element) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1371.11213join-column (name, referenced-column-name, column-definition, table attributes) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1371.12213join-table (name, catalog, schema attributes) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1371.13213map-key-column (name, column-definition, table attributes) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1371.14213map-key-join-column (name, referenced-column-name, column-definition, table attributes) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1371.15213named-stored-procedure-query (procedure-name attribute) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1371.16213order-column (name, column-definition attributes) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1371.17213primary-key-join-column (name, referenced-column-name, column-definition attributes) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1371.18213secondary-table (name, catalog, schema attributes) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1371.19213sequence-generator (sequence-name, catalog, schema attributes) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1371.20213stored-procedure-parameter (name attribute) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1371.21213table (name, catalog, schema attributes) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1371.22213table-generator (table, catalog, schema, pk-column-name, value-column-name attributes) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1371.23213unique-constraint (name attribute, column-name element) true
truetechnologyactivetrue
PERSISTENCE:SPEC:60631.1The persist, merge, remove, and refresh methods must be invoked within a transaction context when an entity manager with a transaction-scoped persistence context is used. If there is no transaction context, the jakarta.persistence.TransactionRequiredException is thrown. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:131331.1Methods that specify a lock mode other than LockModeType.NONE must be invoked within a transaction. If there is no transaction or if the entity manager has not been joined to the transaction, the jakarta.persistence.TransactionRequiredException is thrown. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:60731.1The find method (provided it is invoked without a lock or invoked with LockModeType.NONE) and the getReference method are not required to be invoked within a transaction. If an entity manager with transaction-scoped persistence context is in use, the resulting entities will be detached; if an entity manager with an extended persistence context is used, they will be managed. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:60831.1The Query, TypedQuery, CriteriaBuilder, Metamodel, and EntityTransaction objects obtained from an entity manager are valid while that entity manager is open. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:60931.1If the argument to the createQuery method is not a valid Java Persistence query string or a valid CriteriaQuery object, the IllegalArgumentException may be thrown or the query execution will fail and a PersistenceException will be thrown. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:137231.1 If the result class specification of a Java Persistence query language query is incompatible with the result of the query, the IllegalArgumentException may be thrown when the createQuery method is invoked or the query execution will fail and a PersistenceException will be thrown when the query is executed. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:61031.1If a native query is not a valid query for the database in use or if the results set specification is incompatible with the result of the query, the query execution will fail and a PersistenceException will be thrown when the query is executed. The PersistenceException should wrap the underlying database exception when possible. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:61131.1Runtime exceptions thrown by the methods of the EntityManager interface other than the Lock- TimeoutException will cause the current transaction to be marked for rollback if the persistence context is joined to that transaction. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:61231.1The methods close, isOpen, joinTransaction and getTransaction are used to managed application-managed entity managers and their life cycle. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:137331.1A property defined by this specification must be observed by the provider unless otherwise explicitly stated. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:137431.1A hint specifies a preference on the part of the application. While a hint defined by this specification should be observed by the provider if possible, a hint may or may not always be observed. A portable application must not depend on the observance of a hint. false
falsetechnologyactivetrue
PERSISTENCE:SPEC:61332Entity Instance's Life Cycle:true
falsetechnologyactivetrue
PERSISTENCE:SPEC:61432A new entity instance has no persistent identity and is not yet associated with a persistence context. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:61532A managed entity instance is an instance with a persistent identity that is currently associated with a persistence context. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:61632A detached entity is an instance with a persistent identity that is not (or no longer) associated with a persistence context. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:61732A removed entity instance is an instance with a persistent identity associated with a persistence context that will be removed from the database. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:137532.1Entity instances are created by means of the new operation. An entity instance, when first created by new is not yet persistent. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:61832.2A new entity instance becomes both managed and persistent by invoking the persist method on it or by cascading the persist operation. The semantics of the persist operation, applied to an entity X, are as follows: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:61932.2If X is a new entity, it becomes managed. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:62032.2The entity X will be entered into the database at or before transaction commit or as a result of the flush operation. true
truetechnologyactivetrue
PERSISTENCE:SPEC:62132.2If X is a preexisting managed entity, it is ignored by the persist operation. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:62232.2However, the persist operation is cascaded to entities referenced by X, if the relationships from X to these other entities are annotated with the cascade=PERSIST annotation element value or specified with the equivalent XML descriptor element. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:62332.2However, the persist operation is cascaded to entities referenced by X, if the relationships from X to these other entities are annotated with the cascade=ALL annotation element value or specified with the equivalent XML descriptor element. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:62432.2If X is a removed entity, it becomes managed. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:62532.2If X is a detached object, an IllegalArgumentException will be thrown by the persist operation (or the transaction comit will fail). true
truetechnologyremovedtrue
PERSISTENCE:SPEC:618.132.2If X is a detached object, the EntityExistsException may be thrown when the persist operation is invoked true
truetechnologyremovedtrue
PERSISTENCE:SPEC:618.232.2If X is a detached object, the EntityExistsException or another PersistenceException may be thrown at flush or commit time. true
truetechnologyremovedtrue
PERSISTENCE:SPEC:62632.2For all entities Y referenced by a relationship from X, if the relationship to Y has been annotated with the cascade element value cascade=PERSIST, the persist operation is applied to Y. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:62732.2For all entities Y referenced by a relationship from X, if the relationship to Y has been annotated with the cascade element value cascade=ALL, the persist operation is applied to Y. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:62832.3A managed entity instance becomes removed by invoking the remove method on it or by cascading the remove operation. The semantics of the remove operation, applied to an entity X, are as follows: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:62932.3If X is a new entity, it is ignored by the remove operation. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:63032.3However, the remove operation is cascaded to entities referenced by X, if the relationship from X to these other entities is annotated with cascade=REMOVE annotation element. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:63132.3However, the remove operation is cascaded to entities referenced by X, if the relationship from X to these other entities is annotated with cascade=ALL annotation element. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:63232.3If X is a managed entity, the remove operation causes it to become removed. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:63332.3The remove operation is cascaded to entities referenced by X, if the relationship from X to these other entities is annotated with cascade=REMOVE annotation element value. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:63432.3The remove operation is cascaded to entities referenced by X, if the relationship from X to these other entities is annotated with cascade=ALL annotation element value. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:63532.3If X is a detached entity, an IllegalArgumentException will be thrown by the remove operation (or the transaction commit will fail). true
truetechnologyactivetrue
PERSISTENCE:SPEC:63632.3If X is a removed entity, it is ignored by the remove operation. true
truetechnologyactivetrue
PERSISTENCE:SPEC:63732.3A removed entity X will be removed from the database at or before transaction commit or as a result of the flush operation. true
truetechnologyactivetrue
PERSISTENCE:SPEC:137632.3After an entity has been removed, its state (except for generated state) will be that of the entity at the point at which the remove operation was called. true
truetechnologyactivetrue
PERSISTENCE:SPEC:127532.4a persistence context of type SynchronizationType.UNSYNCHRONIZED or an application-managed persistence context that has been created outside the scope of the current transaction will only be synchronized to the database if it has been joined to the current transaction by the application’s use of the EntityManager joinTransaction method. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:63932.4The state of persistent entities is synchronized with the database at transaction commit. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:137732.4 An update to the state of an entity includes both the assignment of a new value to a persistent property or field of the entity as well as the modification of a mutable value of a persistent property or field. This includes, for example. modifications to persistent attributes of type char[] and byte[]. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:137832.4Synchronization to the database does not involve a refresh of any managed entities unless the refresh operation is explicitly invoked on those entities or cascaded to them as a result of the specification of the cascade=REFRESH annotation element value. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:137932.4Synchronization to the database does not involve a refresh of any managed entities unless the refresh operation is explicitly invoked on those entities or cascaded to them as a result of the specification of the cascade=ALL annotation element value. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:64032.4The persistence provider runtime is permitted to perform synchronization to the database at other times as well when a transaction is active and the persistence context is joined to the transaction. true
truetechnologyactivefalse
PERSISTENCE:SPEC:138032.4The flush method can be used by the application to force synchronization. It applies to entities associated with the persistence context. true
truetechnologyactivefalse
PERSISTENCE:SPEC:131432.4The setFlushMode methods of the Entity- Manager, Query, TypedQuery, and StoredProcedureQuery interfaces can be used to control synchronization semantics. If FlushModeType.COMMIT is specified, flushing will occur at transaction commit; the persistence provider is permitted, but not required, to perform to flush at other times. If there is no transaction active or if the persistence context has not been joined to the current transaction, the persistence provider must not flush to the database. true
truetechnologyactivefalse
PERSISTENCE:SPEC:64132.4The semantics of the flush operation, applied to entity X are as follows: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:64232.4If X is a managed entity, it is synchronized to the database. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:64332.4For all entities Y referenced by a relationship from X, if the relationship to Y has been annotated with the cascade element value cascade=PERSIST, the persist operation is applied to Y. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:64432.4For all entities Y referenced by a relationship from X, if the relationship to Y has been annotated with the cascade element value cascade=ALL, the persist operation is applied to Y. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:64532.4For any entity Y referenced by a relationship from X, where the relationship to Y has not been annotated with the cascade element value cascade=PERSIST or cascade=ALL true
truetechnologyactivetrue
PERSISTENCE:SPEC:64632.4If Y is new or removed, an IllegalStateException will be thrown by the flush operation (and the transaction marked for rollback) or the transaction commit will fail. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:64732.4If Y is detached, the semantics depend upon the ownership of the relationship. If X owns the relationship, any changes to the relationship are synchronized with the database; otherwise, if Y owns the relationships, the behavior is undefined. true
truetechnologyactivefalse
PERSISTENCE:SPEC:64832.4If X is a removed entity, it is removed from the database. No cascade options are relevant true
falsetechnologyactivetrue
PERSISTENCE:SPEC:122232.5The state of a managed entity instance is refreshed from the database by invoking the refresh method on it or by cascading the refresh operation. The semantics of the refresh operation, applied to an entity X are as follows: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:122332.5If X is a managed entity, the state of X is refreshed from the database, overwriting changes made to the entity, if any. The refresh operation is cascaded to entities referenced by X, if the relationship from X to these other entities is annotated with the cascade=REFRESH annotation element value. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1222.132.5If X is a managed entity, the state of X is refreshed from the database, overwriting changes made to the entity, if any. The refresh operation is cascaded to entities referenced by X, if the relationship from X to these other entities is annotated with the cascade=ALL annotation element value. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1222.232.5If X is a new, detached, or removed entity, the IllegalArgumentException is thrown true
falsetechnologyactivetrue
PERSISTENCE:SPEC:122432.6An entity instance is removed from the persistence context by invoking the detach method on it or cascading the detach operation. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:122532.6Changes made to the entity, if any (including removal of the entity), will not be synchronized to the database after such eviction has taken place. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:122632.6Applications must use the flush method prior to the detach method to ensure portable semantics if changes have been made to the entity (including removal of the entity). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:122732.6portable applications must not assume that changes have not been written to the database if the flush method has not been called prior to detach. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:122732.6The semantics of the detach operation, applied to an entity X are as follows: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:122832.6If X is a managed entity, the detach operation causes it to become detached. The detach operation is cascaded to entities referenced by X, if the relationships from X to these other entities is annotated with the cascade=DETACH annotation element value. Entities which previously referenced X will continue to reference X. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1227.132.6If X is a managed entity, the detach operation causes it to become detached. The detach operation is cascaded to entities referenced by X, if the relationships from X to these other entities is annotated with the cascade=ALL annotation element value. Entities which previously referenced X will continue to reference X. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:122932.6If X is a new or detached entity,it is ignored by the detach operation. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:123032.6If X is a removed entity, the detach operation is cascaded to entities referenced by X, if the relationships from X to these other entities is annotated with the cascade=DETACH annotation element value. Entities which previously referenced X will continue to reference X. Portable applications should not pass removed entities that have been detached from the persistence context to further EntityManager operations. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:123032.6If X is a removed entity, the detach operation is cascaded to entities referenced by X, if the relationships from X to these other entities is annotated with the cascade=ALL annotation element value. Entities which previously referenced X will continue to reference X. Portable applications should not pass removed entities that have been detached from the persistence context to further EntityManager operations. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:138132.7 A detached entity results from transaction commit if a transaction-scoped persistence context is used; from transaction rollback; from detaching the entity from the persistence context; from clearing the persistence context; from closing an entity manager true
falsetechnologyactivetrue
PERSISTENCE:SPEC:65732.7A detached entity results from serializing an entity or otherwise passing an entity by value—e.g., to a separate application tier, through a remote interface, etc. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:138232.7 Detached entity instances continue to live outside of the persistence context in which they were persisted or retrieved. Their state is no longer guaranteed to be synchronized with the database state. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:64932.7The application may access the available state of available detached entity instances after the persistence context ends. The available state includes: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:65032.7Any persistent field or property not marked fetch=LAZY true
falsetechnologyactivetrue
PERSISTENCE:SPEC:65132.7Any persistent field or property that was accessed by the application. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:65232.7If the persistent field or property is an association, the available state of an associated instance may only be safely accessed if the associated instance is available. The available instances include: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:65332.7All entity instances retrieved using find(). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:65432.7Any entity instances retrieved using a query or explictly requested ina fetch join true
falsetechnologyactivetrue
PERSISTENCE:SPEC:65532.7Any entity instance for which an instance variable holding non-primary-key persistent state was accessed by the application. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:65632.7Any entity instance that may be reached from another available instance by navigating associations marked fetch=EAGER. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:65832.7.1The merge operation allows for the propagation of state from detached entities onto persistent entities managed by the entity manager. The semantics of the merge operation applied to an entity X are as follows: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:65932.7.1If X is a detached entity, the state of X is copied onto a pre-existing managed entity instance X' of the same identity or a new managed copy X' of X is created. true
truetechnologyactivetrue
PERSISTENCE:SPEC:66032.7.1If X is a new entity instance, a new managed entity instance X' is created and the state of X is copied into the new managed entity instance X'. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:66132.7.1If X is a removed entity instance, an IllegalArgumentException will be thrown by the merge operation (or the transaction commit will fail). true
truetechnologyactivetrue
PERSISTENCE:SPEC:66232.7.1If X is a managed entity, it is ignored by the merge operation, however, the merge operation is cascaded to entities referenced by relationships from X if these relationships have been annotated with the cascade element value cascade=MERGE annotation. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:66332.7.1If X is a managed entity, it is ignored by the merge operation, however, the merge operation is cascaded to entities referenced by relationships from X if these relationships have been annotated with the cascade element value cascade=ALL annotation. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:66432.7.1For all entities Y referenced by relationships from X having the cascade element value cascade=MERGE, Y is merged recursively as Y'. For all such Y referenced by X, X' is set to reference Y'. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:66532.7.1For all entities Y referenced by relationships from X having the cascade element value cascade=ALL, Y is merged recursively as Y'. For all such Y referenced by X, X' is set to reference Y'. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:658.132.7.1If X is an entity merged to X', with a reference to another entity Y, where cascade=MERGE is not specified, then navigation of the same association from X' yields a reference to a managed object Y' with the same persistent identity as Y. true
truetechnologyactivetrue
PERSISTENCE:SPEC:658.232.7.1If X is an entity merged to X', with a reference to another entity Y, where cascade=ALL is not specified, then navigation of the same association from X' yields a reference to a managed object Y' with the same persistent identity as Y. true
truetechnologyactivetrue
PERSISTENCE:SPEC:138332.7.1The persistence provider must not merge fields marked LAZY that have not been fetched: it must ignore such fields when merging. true
truetechnologyactivetrue
PERSISTENCE:SPEC:66632.7.1Any Version columns used by the entity must be checked by the persistence runtime implementation during the merge operation and/or at flush or commit time true
truetechnologyactivetrue
PERSISTENCE:SPEC:123132.7.2Serializing entities and merging those entities back into a persistence context may not be interoperable across vendors when lazy properties or fields and/or relationships are used. false
falsetechnologyactivefalse
PERSISTENCE:SPEC:138432.7.2A vendor is required to support the serialization and subsequent deserialization and merging of detached entity instances (which may contain lazy properties or fields and/or relationships that have not been fetched) back into a separate JVM instance of that vendor's runtime, where both runtime instances have access to the entity classes and any required vendor persistence implementation classes. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:123232.7.2When interoperability across vendors is required, the application must not use lazy loading. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:66732.8The contains method returns true: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:66832.8If the entity has been retrieved from the database or has returned by the getReference,and has not been removed or detached. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:66932.8If the entity instance is new and the persist method has been called on the entity. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:67032.8If the entity instance is new and the persist operation has been cascaded to it. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:67132.8The contains method returns false: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:67232.8If the instance is detached.true
falsetechnologyactivetrue
PERSISTENCE:SPEC:67332.8If the remove method has been called on the entity. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:67432.8If the remove operation has been cascaded to it. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:67532.8If the entity instance is new and the persist method has not been called on the entity. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:67632.8If the entity instance is new and the persist operation has not been cascaded to it. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:67732.8Not that the effect of cascading persist,merge,remove,or detach is immediately visible to the contains method, whereas, the actual insertion, modification, or deletion of the database representation for the entity may be deferred until the end of the transaction. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:138532.9An entity is considered to be loaded if all attributes with FetchType.EAGER—whether explictly specified or by default—(including relationship and other collection-valued attributes) have been loaded from the database or assigned by the application. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:138632.9An attribute that is an embeddable is considered to be loaded if the embeddable attribute was loaded from the database or assigned by the application, and, if the attribute references an embeddable instance (i.e., is not null), the embeddable instance state is known to be loaded (i.e., all attributes of the embeddable with FetchType.EAGER have been loaded from the database or assigned by the application). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:138732.9A collection-valued attribute is considered to be loaded if the collection was loaded from the database or the value of the attribute was assigned by the application, and, if the attribute references a collection instance (i.e., is not null), each element of the collection (e.g. entity or embeddable) is considered to be loaded. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:138832.9A single-valued relationship attribute is considered to be loaded if the relationship attribute was loaded from the database or assigned by the application, and, if the attribute references an entity instance (i.e., is not null), the entity instance state is known to be loaded. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:138932.9A basic attribute is considered to be loaded if its state has been loaded from the database or assigned by the application. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:139032.9The PersistenceUtil.isLoaded methods can be used to determine the load state of an entity and its attributes regardless of the persistence unit with which the entity is associated. The PersistenceUtil. isLoaded methods return true if the above conditions hold true
falsetechnologyactivetrue
PERSISTENCE:SPEC:139132.9The PersistenceUtil.isLoaded methods return false otherwise true
falsetechnologyactivetrue
PERSISTENCE:SPEC:139232.9If the persistence unit is known, the PersistenceUnitUtil.isLoaded methods can be used instead. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:67833The enum PersistenceContextType is used to define persistence context lifetime scope for container-managed entity managers. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:67933By default, the lifetime of the persistence context of a container-managed entity manager corresponds to the scope of a transaction (i.e., it is of type PersistenceContextType.TRANSACTION) true
falsetechnologyactivetrue
PERSISTENCE:SPEC:68033When an extended persistence context is used, the extended persistence contexts exists from the time the EntityManager instance is created until it is closed. This persistence context might span multiple transactions and non-transactional invocations of the EntityManager. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:68133An EntityManager with an extended persistence context maintains its references to the entity objects after a transaction has committed. Those objects remain managed by the EntityManager and they may be updated as managed objects between transactions. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:139433Note that when a new transaction is begun, the managed objects in an extended persistence context are not reloaded from the database. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:68233Navigation from a managed object in an extended persistence context results in one or more other managed objects regardless of whether a transaction is active. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:68333When an EntityManager with an extended persistence context is used, the persist, remove, merge and refresh operations may be called regardless of whether a transaction is active. The effects of these operations will be committed to the database when the extended persistence context is entlisted in a transaction and the transaction commits. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:68433The scope of the persistence context of an application-managed entity manager is extended. It is the responsibility of the application to manage the lifecycle of the persistence context. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:127633.1By default, a container-managed persistence context is of SynchronizationType.SYNCHRONIZED and is automatically joined to the current transaction. A persistence context of SynchronizationType. UNSYNCHRONIZED will not be enlisted in the current transaction, unless the EntityManager joinTransaction method is invoked. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:131533.1By default, an application-managed persistence context that is associated with a JTA entity manager and that is created within the scope of an active transaction is automatically joined to that transaction. An application-managed JTA persistence context that is created outside the scope of a transaction or an application-managed persistence context of type SynchronizationType.UNSYNCHRONIZED will not be joined to that transaction unless the EntityManager joinTransaction method is invoked. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:131633.1An application-managed persistence context associated with a resource-local entity manager is always automatically joined to any resource-local transaction that is begun for that entity manager. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:68533.2The managed entities of a transaction-scoped persistence context become detached when the transaction commits. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:68633.2The managed entities of an extended persistence context remain managed. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:68733.3For both transaction-scoped persistence contexts and for extended persistence contexts that are joined to the current transaction, transaction rollback causes all pre-existing managed instances and removed instances to become detached. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:131733.3Because a transaction-scoped persistence context’s lifetime is scoped to a transaction regardless of whether it is joined to that transaction, the container closes the persistence context upon transaction rollback. However, an extended persistence context that is not joined to a transaction is unaffected by transaction rollback true
falsetechnologyactivetrue
PERSISTENCE:SPEC:139534.1Optimistic locking is a technique that is used to insure that updates to the database data corresponding to the state of an entity are made only when no intervening transaction has updated that data since the entity state was read. This insures that updates or deletes to that data are consistent with the current state of the database and that intervening updates are not lost. Transactions that would cause this constraint to be violated result in an OptimisticLockException being thrown and the transaction marked for rollback. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:139634.1Portable applications that wish to enable optimistic locking for entities must specify Version attributes for those entities—i.e., persistent properties or fields annotated with the Version annotation or specified in the XML descriptor as version attributes. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:69034.2The Version field or property is used by the persistence provider to perform optimistic locking. It is accessed and/or set by the persistence provider in the course of performing lifecycle operations on the entity instance. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:139734.2The Version field or property is used by the persistence provider to perform optimistic locking. It is accessed and/or set by the persistence provider in the course of performing lifecycle operations on the entity instance. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:139834.2An entity may access the state of its version field or property or export a method for use by the application to access the version, but must not modify the version value. Bulk update statements, however, are permitted to set the value of version attributes true
falsetechnologyactivetrue
PERSISTENCE:SPEC:139934.2With the exception noted in section 4.10, only the persistence provider is permitted to set or update the value of the version attribute in the object. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:140034.2The version attribute is updated by the persistence provider runtime when the object is written to the database. All non-relationship fields and properties and all relationships owned by the entity are included in version checks. This includes owned relationships maintained in join tables true
falsetechnologyactivetrue
PERSISTENCE:SPEC:140134.2 The persistence provider's implementation of the merge operation must examine the version attribute when an entity is being merged and throw an OptimisticLockException if it is discovered that the object being merged is a stale copy of the entity—i.e. that the entity has been updated since the entity became detached. Depending on the implementation strategy used, it is possible that this exception may not be thrown until flush is called or commit time, whichever happens first. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:140234.2 The persistence provider runtime is required to use only the version attribute when performing optimistic lock checking. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:140334.2 Persistence provider implementations may provide additional mechanisms beside version attributes to enable optimistic lock checking. However, support for such mechanisms is not required of an implementation of this specification. false
truetechnologyactivetrue
PERSISTENCE:SPEC:140434.2 If only some entities contain version attributes, the persistence provider runtime is required to check those entities for which version attributes have been specified. The consistency of the object graph is not guaranteed, but the absence of version attributes on some of the entities will not stop operations from completing. false
truetechnologyactivetrue
PERSISTENCE:SPEC:140534.3 Pessimistic locking guarantees that once a transaction has obtained a pessimistic lock on an entity instance: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1405.134.3 no other transaction (whether a transaction of an application using the Java Persistence API or any other transaction using the underlying resource) may successfully modify or delete that instance until the transaction holding the lock has ended. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1405.234.3 if the pessimistic lock is an exclusive lock, that same transaction may modify or delete that entity instance. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:140634.3 When an entity instance is locked using pessimistic locking, the persistence provider must lock the database row(s) that correspond to the non-collection-valued persistent state of that instance. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:140734.3 If a joined inheritance strategy is used, or if the entity is otherwise mapped to a secondary table, this entails locking the row(s) for the entity instance in the additional table(s). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:140834.3 Entity relationships for which the locked entity contains the foreign key will also be locked, but not the state of the referenced entities (unless those entities are explicitly locked). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:140934.3 Element collections and relationships for which the entity does not contain the foreign key (such as relationships that are mapped to join tables or unidirectional one-to-many relationships for which the target entity contains the foreign key) will not be locked by default. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:141034.3 Element collections and relationships owned by the entity that are contained in join tables will be locked if the jakarta.persistence.lock.scope property is specified with a value of PessimisticLockScope.EXTENDED. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:141134.3 The state of entities referenced by such relationships will not be locked (unless those entities are explicitly locked). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:141234.3 Locking such a relationship or element collection generally locks only the rows in the join table or collection table for that relationship or collection. This means that phantoms will be possible. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:141334.3 This specification does not define the mechanisms a persistence provider uses to obtain database locks, and a portable application should not rely on how pessimistic locking is achieved on the database.[39] In particular, a persistence provider or the underlying database management system may lock more rows than the ones selected by the application. false
truetechnologyactivetrue
PERSISTENCE:SPEC:141434.3 Whenever a pessimistically locked entity containing a version attribute is updated on the database, the persistence provider must also update (increment) the entity's version column to enable correct interaction with applications using optimistic locking. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:141534.3 Pessimistic locking may be applied to entities that do not contain version attributes. However, in this case correct interaction with applications using optimistic locking cannot be ensured. false
falsetechnologyactivetrue
PERSISTENCE:SPEC:69134.4Lock Modestrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:141634.4.1 If transaction T1 calls lock(entity, LockModeType.OPTIMISTIC) on a versioned object, the entity manager must ensure that neither of the following phenomena can occur: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1416.134.4.1 P1 (Dirty read): Transaction T1 modifies a row. Another transaction T2 then reads that row and obtains the modified value, before T1 has committed. Transaction T2 eventually commits successfully; it does not matter whether T1 commits or rolls back and whether it does so before or after T2 commits. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1416.234.4.1 P1 (Dirty read): Transaction T1 modifies a row. Another transaction T2 then reads that row and obtains the modified value, before T1 has rolled back. Transaction T2 eventually commits successfully; it does not matter whether T1 commits or rolls back and whether it does so before or after T2 commits. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1416.334.4.1 P2 (Non-repeatable read): Transaction T1 reads a row. Another transaction T2 then modifies that row, before T1 has committed. Both transactions eventually commit successfully. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1416.434.4.1 P2 (Non-repeatable read): Transaction T1 reads a row. Another transaction T2 then deletes that row, before T1 has committed. Both transactions eventually commit successfully. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:141734.4.1 While with optimistic concurrency concurrency, long-term database read locks are typically not obtained immediately, a compliant implementation is permitted to obtain an immediate lock (so long as it is retained until commit completes). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:141834.4.1 If the lock is deferred until commit time, it must be retained until the commit completes. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:141934.4.1 The persistence implementation is not required to support calling lock(entity, LockModeType.OPTIMISTIC) on a non-versioned object. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:142034.4.1 When it cannot support such a lock call, it must throw the PersistenceException. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:142134.4.1 When supported, whether for versioned or non-versioned objects, LockModeType.OPTIMISTIC must always prevent the phenomena P1 and P2. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:142234.4.1 Applications that call lock(entity, LockModeType.OPTIMISTIC) on non-versioned objects will not be portable. false
falsetechnologyactivetrue
PERSISTENCE:SPEC:142334.4.1 If transaction T1 calls lock(entity, LockModeType.OPTIMISTIC_FORCE_INCREMENT) on a versioned object, the entity manager must avoid the phenomena P1 and P2 (as with LockModeType.OPTIMISTIC) and must also force an update (increment) to the entity's version column. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:123434.4.1A forced version update may be performed immediately, or may be deferred until a flush or commit. false
falsetechnologyactivetrue
PERSISTENCE:SPEC:142434.4.1 If an entity is removed before a deferred version update was to have been applied, the forced version update is omitted. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:142534.4.1 The persistence implementation is not required to support calling lock(entity, LockModeType.OPTIMISTIC_FORCE_INCREMENT) on a non-versioned object. false
falsetechnologyactivetrue
PERSISTENCE:SPEC:142634.4.1 When it cannot support such a lock call, it must throw the PersistenceException. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:142734.4.1 When supported, whether for versioned or non-versioned objects, LockModeType.OPTIMISTIC_FORCE_INCREMENT must always prevent the phenomena P1 and P2. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:142834.4.1 For non-versioned objects, whether or not LockModeType.OPTIMISTIC_FORCE_INCREMENT has any additional behavior is vendor-specific. false
truetechnologyactivetrue
PERSISTENCE:SPEC:142934.4.1 Applications that call lock(entity, LockModeType.OPTIMISTIC_FORCE_INCREMENT) on non-versioned objects will not be portable. false
truetechnologyactivetrue
PERSISTENCE:SPEC:143034.4.1 For versioned objects, it is permissible for an implementation to use LockModeType.OPTIMISTIC_FORCE_INCREMENT where LockModeType.OPTIMISTIC was requested, but not vice versa. true
falsetechnologyremovedfalse
PERSISTENCE:SPEC:143134.4.1 If a versioned object is otherwise updated or removed, then the implementation must ensure that the requirements of LockModeType.OPTIMISTIC_FORCE_INCREMENT are met, even if no explicit call to EntityManager.lock was made. true
falsetechnologyremovedfalse
PERSISTENCE:SPEC:123634.4.1For portability, an application should not depend on vendor-specific hints or configuration to ensure repeatable read for objects that are not updated or removed via any mechanism other than the use of version attributes and the EntityManager lock method. true
truetechnologyactivefalse
PERSISTENCE:SPEC:123734.4.1It should be noted that if an implementation has acquired upfront pessimistic locks on some database rows, then it is free to ignore lock(entity, LockModeType.OPTIMISTIC)) calls on the entity objects representing those rows. true
truetechnologyactivefalse
PERSISTENCE:SPEC:143234.4.2 If transaction T1 calls lock(entity, LockModeType.PESSIMISTIC_READ) or lock(entity, LockModeType.PESSIMISTIC_WRITE)on an object, the entity manager must ensure that neither of the following phenomena can occur: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1432.134.4.2 P1 (Dirty read): Transaction T1 modifies a row. Another transaction T2 then reads that row and obtains the modified value, before T1 has committed. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1432.234.4.2 P1 (Dirty read): Transaction T1 modifies a row. Another transaction T2 then reads that row and obtains the modified value, before T1 has rolled back. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1432.334.4.2 P2 (Non-repeatable read): Transaction T1 reads a row. Another transaction T2 then modifies or deletes that row, before T1 has committed. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1432.434.4.2 P2 (Non-repeatable read): Transaction T1 reads a row. Another transaction T2 then modifies or deletes that row, before T1 has rolled back. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:143334.4.2 Any such lock must be obtained immediately and retained until transaction T1 completes (commits or rolls back). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:143434.4.2 The persistence implementation must support calling lock(entity, LockModeType.PESSIMISTIC_READ) and lock(entity, LockModeType.PESSIMISTIC_WRITE)on a non-versioned entity as well as on a versioned entity. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:143534.4.2 It is permissible for an implementation to use LockModeType.PESSIMISTIC_WRITE where LockModeType.PESSIMISTIC_READ was requested, but not vice versa. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:143634.4.2 When the lock cannot be obtained, and the database locking failure results in transaction-level rollback, the provider must throw the PessimisticLockException and ensure that the JTA transaction or EntityTransaction has been marked for rollback. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:143734.4.2 When the lock cannot be obtained, and the database locking failure results in only statement-level rollback, the provider must throw the LockTimeoutException (and must not mark the transaction for rollback). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:143834.4.2 When an application locks an entity with LockModeType.PESSIMISTIC_READ and later updates that entity, the lock must be converted to an exclusive lock when the entity is flushed to the database. If the lock conversion fails, and the database locking failure results in transaction-level rollback, the provider must throw the PessimisticLockException and ensure that the JTA transaction or EntityTransaction has been marked for rollback. When the lock conversion fails, and the database locking failure results in only statement-level rollback, the provider must throw the LockTimeoutException (and must not mark the transaction for rollback). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:143934.4.2 When lock(entity, LockModeType.PESSIMISTIC_READ), lock(entity, LockModeType.PESSIMISTIC_WRITE), or lock(entity, LockModeType.PESSIMISTIC_FORCE_INCREMENT)is invoked on a versioned entity that is already in the persistence context, the provider must also perform optimistic version checks when obtaining the lock. An OptimisticLockException must be thrown if the version checks fail. Depending on the implementation strategy used by the provider, it is possible that this exception may not be thrown until flush is called or commit time, whichever occurs first. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:144034.4.2 The persistence implementation is not required to support calling lock(entity, LockModeType.PESSIMISTIC_FORCE_INCREMENT) on a non-versioned object. When it cannot support such a lock call, it must throw the PersistenceException. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:144134.4.2 When supported, whether for versioned or non-versioned objects, LockModeType.PESSIMISTIC_FORCE_INCREMENT must always prevent the phenomena P1 and P2. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:144234.4.2 For non-versioned objects, whether or not LockModeType.PESSIMISTIC_FORCE_INCREMENT has any additional behavior is vendor-specific. false
truetechnologyactivetrue
PERSISTENCE:SPEC:144334.4.2 Applications that call lock(entity, LockModeType.PESSIMISTIC_FORCE_INCREMENT) on non-versioned objects will not be portable. false
falsetechnologyactivetrue
PERSISTENCE:SPEC:144434.4.2 For versioned objects, it is permissible for an implementation to use LockModeType.PESSIMISTIC_FORCE_INCREMENT where LockModeType.PESSIMISTIC_READ or LockModeType.PESSIMISTIC_WRITE was requested, but not vice versa. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:144534.4.2 If a versioned object locked with LockModeType.PESSIMISTIC_READ or LockModeType.PESSIMISTIC_WRITE is updated, then the implementation must ensure that the requirements of LockModeType.PESSIMISTIC_FORCE_INCREMENT are met. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:144634.4.3 jakarta.persistence.lock.scope true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1446.134.4.3 This property may be used with the methods of the EntityManager interface that allow lock modes to be specified, the Query.setLockMode method and the NamedQuery annotation. When specified, this property must be observed. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1446.234.4.3 The provider is permitted to lock more (but not fewer) rows than requested. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:144734.4.3 jakarta.persistence.lock.timeout false
falsetechnologyactivetrue
PERSISTENCE:SPEC:1447.134.4.3 This hint may be used with the methods of the EntityManager interface that allow lock modes to be specified, the Query.setLockMode method and the NamedQuery annotation. It may also be passed as a property to the Persistence.createEntityManagerFactory method and used in the properties element of the persistence.xml file. false
falsetechnologyactivetrue
PERSISTENCE:SPEC:1447.234.4.3 When used in the createEntityManagerFactory method, the persistence. xml file, and the NamedQuery annotation, the timeout hint serves as a default value which can be selectively overridden by use in the methods of the EntityManager, Query, and TypedQuery interfaces as specified above. false
falsetechnologyactivetrue
PERSISTENCE:SPEC:1447.334.4.3 A timeout value of 0 is used to specify “no wait” locking false
falsetechnologyactivetrue
PERSISTENCE:SPEC:1447.434.4.3 Portable applications should not rely on this hint. Depending on the database in use and the locking mechanisms used by the persistence provider, the hint may or may not be observed. false
falsetechnologyactivetrue
PERSISTENCE:SPEC:1447.534.4.3 Vendors are permitted to support the use of additional, vendor-specific locking hints. Vendor-specific hints must not use the jakarta.persistence namespace. Vendor-specific hints must be ignored if they are not understood. false
falsetechnologyactivetrue
PERSISTENCE:SPEC:1447.634.4.3 If the same property or hint is specified more than once, the following order of overriding applies, in order of decreasing precedence: • argument to method of EntityManager EntityManager, Query, or TypedQuery interface • specification to NamedQuery (annotation or XML) • argument to createEntityManagerFactory method • specification in persistence.xml false
falsetechnologyactivetrue
PERSISTENCE:SPEC:144834.5 Provider implementations may defer writing to the database until the end of the transaction, when consistent with the lock mode and flush mode settings in effect. In this case, an optimistic lock check may not occur until commit time, and the OptimisticLockException may be thrown in the "before completion" phase of the commit. If the OptimisticLockException must be caught or handled by the application, the flush method should be used by the application to force the database writes to occur. This will allow the application to catch and handle optimistic lock exceptions. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:144934.5 The OptimisticLockException provides an API to return the object that caused the exception to be thrown. The object reference is not guaranteed to be present every time the exception is thrown but should be provided whenever the persistence provider can supply it. Applications cannot rely upon this object being available. false
falsetechnologyactivetrue
PERSISTENCE:SPEC:69234.5OptimisticLockExceptiontrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:145034.5 In some cases an OptimisticLockException will be thrown and wrapped by another exception, such as a RemoteException, when VM boundaries are crossed. Entities that may be referenced in wrapped exceptions should implement Serializable so that marshalling will not fail. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:69334.5An OptimisticLockException always causes the transaction to be marked for roll back. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:131635A lifecycle callback method can be defined on an entity class, a mapped superclass, or an entity listener class associated with an entity or mapped superclass true
falsetechnologyactivetrue
PERSISTENCE:SPEC:145135 An entity listener class is a class whose methods are invoked in response to lifecycle events on an entity. Any number of entity listener classes can be defined for an entity class or mapped superclass. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:131735Default entity listeners—entity listener classes whose callback methods apply to all entities in the persistenceunit—can be specified by means of the XML descriptor true
falsetechnologyactivetrue
PERSISTENCE:SPEC:69435Lifecycle callback methods and entity listener classes are defined by means of metadata annotations or in the XML descriptor. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:69535When annotations are used, one or more entity listener classes are denoted using the EntityListeners annoation on the entity class or mapped superclass. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:69635If multiple entity listeners are defined, the order in wihch they are invoked is determined by the order in which they are specified in the EntityListeners annotation. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:69735The XML descriptor may be used as an alternative to specify the invocation order of the entity listeners or to override the order specified in metadata annotations.. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:69835Any subset or combination of annotations may be specified on an entity class, mapped superclass, of listener class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:69935A single class may not have more than one lifecycle callback method for the same lifecycle event. The same method may be used for multiple callback events. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:70035Multple entity classes and mapped superclasses in an inheritance hierarchy may define listener classes and/or lifecycle callback methods directly on the class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:70135.1The entity listener class must have a public no-arg constructor. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:131835.1Entity listener classes in Java EE environments support dependency injection through the Contexts and Dependency Injection API (CDI) when the CDI is enabled. An entity listener class that makes use of CDI injection may also define lifecycle callback methods annotated with the PostConstruct and PreDestroy annotations. These methods will be invoked after injection has taken place and before the entity listener instance is destroyed respectively. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:145235.1The persistence provider is responsible for using the CDI SPI to create instances of the entity listener class; to perform injection upon such instances; to invoke their PostConstruct and PreDestroy methods, if any; and to dispose of the entity listener instances. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:145335.1The persistence provider is only required to support CDI injection into entity listeners in Java EE container environments. If the CDI is not enabled, the persistence provider must not invoke entity listeners that depend upon CDI injection. If the containing archive CDI is not a bean archive, true
falsetechnologyactivetrue
PERSISTENCE:SPEC:145435.1An entity listener is a noncontextual object. In supporting injection into entity listeners, the persistence provider must behave as if it carries out the following steps involving the use of the CDI SPI. false
truetechnologyactivefalse
PERSISTENCE:SPEC:1454.135.1Obtain a BeanManager instance.false
truetechnologyactivefalse
PERSISTENCE:SPEC:1454.235.1Create an AnnotatedType instance for the entity listener class. false
truetechnologyactivefalse
PERSISTENCE:SPEC:1454.335.1Create an InjectionTarget instance for the annotated type. false
truetechnologyactivefalse
PERSISTENCE:SPEC:1454.435.1Create a Creational Context.false
truetechnologyactivefalse
PERSISTENCE:SPEC:1454.535.1Instantiate the listener by calling the InjectionTarget produce method. false
truetechnologyactivefalse
PERSISTENCE:SPEC:1454.635.1Inject the listener instance by calling the InjectionTarget inject method on the instance. false
truetechnologyactivefalse
PERSISTENCE:SPEC:1454.735.1Invoke the PostConstruct callback, if any, by calling the InjectionTarget postConstruct method on the instance. false
truetechnologyactivefalse
PERSISTENCE:SPEC:145535.1When the listener instance is to be destroyed, the persistence provider must behave as if it carries out the following steps. false
truetechnologyactivefalse
PERSISTENCE:SPEC:1455.135.1Call the InjectionTarget preDestroy method on the instance. false
truetechnologyactivefalse
PERSISTENCE:SPEC:1455.235.1Call the InjectionTarget dispose method on the instance. false
truetechnologyactivefalse
PERSISTENCE:SPEC:1455.335.1Call the CreationalContext release method.. false
truetechnologyactivefalse
PERSISTENCE:SPEC:145635.1Persistence providers may optimize the steps above, e.g. by avoiding calls to the actual CDI SPI and relying on container-specific interfaces instead, as long as the outcome is the same. false
truetechnologyactivefalse
PERSISTENCE:SPEC:145735.1Entity listeners that do not make use of CDI injection are stateless. The lifecycle of such entity listeners is unspecified. false
truetechnologyactivefalse
PERSISTENCE:SPEC:70735.1When invoked from within a JavaEE environment, the callback listener for an entity share the enterprise naming context of the invoking component, and the entity callback methods are invoked in the transaction and security contexts of the calling component at the time at which the callback method is invoked. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:127735.2Entity lifecycle callback methods can be defined on an entity listener class and/or directly on an entity class or mapped superclass. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:127835.2Lifecycle callback methods are annotated with annotations designating the callback events for which they are invoked or are mapped to the callback event using the XML descriptor. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:127935.2The annotations (and XML elements) used for callback methods on the entity class or mapped superclass and for callback methods on the entity listener class are the same. The signatures of individual methods, however, differ. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:128035.2Callback methods defined on an entity class or mapped superclass have the following signature: void <METHOD>() true
falsetechnologyactivetrue
PERSISTENCE:SPEC:128135.2Callback methods defined on an entity listener class have the following signature: void <METHOD>(Object) The Object argument is the entity instance for which the callback method is invoked. It may be declared as the actual entity type. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:128235.2The callback methods can have public, private, protected, or package level access, but must not be static or final. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:70235.2The following rules apply to lifecycle event callback methods: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:70335.2Lifecycle callback methods may throw unchecked/runtime exceptions. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:70435.2A runtime exception thrown by a callback method that executes within a transaction causes that transaction to be marked for rollback if the persistence context is joined to the transaction. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:70535.2Lifecycle callbacks can invoke JNDI, JDBC, JMS, and enterprise beans. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:70635.2In general, the lifecycle method of a portable application should not invoke EntityManager or query operations, access other entity instances, or modify relationships within the same persistence context. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:702.135.2 A lifecycle callback method may modify the non-relationship state of the entity on which it is invoked. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:70835.3The PrePersist and PreRemove callback methods are invoked for a given entity before the respective EntityManager persist and remove operation for that entity are executed true
falsetechnologyactivetrue
PERSISTENCE:SPEC:71035.3For entities to which the merge operation has been applied and causes the creation of newly managed instances, the PrePersist callback methods will be invoked for the managed instance after the entity state has been copied to it. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:70935.3These PrePersist and PreRemove callbacks will also be invoked on all entities to which these operations are cascaded true
falsetechnologyactivetrue
PERSISTENCE:SPEC:71135.3The PrePersist and PreRemove callbacks will always be invoked as part of the synchronous persist, merge, and remove operations. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:71235.3The PostPersist and PostRemove callback methods are invoked after the entity has been made persistent or removed. These callbacks will also be invoked on entities to which these operations are cascaded. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:71335.3The PostPersist and PostRemove methods will be invoked after the database insert and delete operations respectively. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:71435.3These database operations may occur directly after the persist, merge, or remove operations have been invoked or they may occur directly after a flush operation has occurred (which may be at the end of the transaction). true
truetechnologyactivefalse
PERSISTENCE:SPEC:71535.3Generated primary key values are available in the PostPersist method. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:71635.3The PreUpdate and PostUpdate callbacks occur before and after the database update operations to entity data respectively. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:71735.3These database operations may occur at the time the entity state is updated or they may occur at the time state is flushed to the database (which may be at the end of the transaction). true
truetechnologyactivefalse
PERSISTENCE:SPEC:71835.3Note that it is implementation-dependent as to whether PreUpdate and PostUpdate callbacks occur when an entity is persisted and subsequently modified in a single transaction or when an entity is modified and subsequently removed within a single transaction. Portable applications should not rely on such behavior. true
truetechnologyactivefalse
PERSISTENCE:SPEC:71935.3The PostLoad method for an entity is invoked after the entity has been loaded into the current persistence context from the database true
falsetechnologyactivetrue
PERSISTENCE:SPEC:72035.3The PostLoad method is invoked before a query result is returned or accessed or before an association is traversed. true
truetechnologyactivetrue
PERSISTENCE:SPEC:72135.3It is implementation-dependent as to whether callback methods are invoked before or after the cascading of the lifecycle events to related entities. Applications should not depend on this ordering. false
truetechnologyactivefalse
PERSISTENCE:SPEC:145835.5If multiple callback methods are defined for an entity lifecycle event, the ordering of the invocation of these methods is as follows. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:72235.5Default listeners, if any, are invoked first, in the order specified in the XML descriptor. Default listeners apply to all entities in the persistence unit, unless explicitly excluded by means of the ExcludeDefaultListeners annotation or exclude-default-listeners XML element. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:72335.5The lifecycle callback methods defined on the entity listener classes for an entity class or mapped superclass are invoked in the same order as the specification of the entity listener classes in the EntityListeners annotation. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:72435.5If multiple classes in an inheritance hierarchy - entity classes and/or mapped superclasses - define entity listeners the listeners defined for a superclass are invoked before the listeners and defined for its subclasses in this order. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:72535.5The ExcludeSuperclassListeners annotation or exclude-superclass-listeners XML element may be applied to an entity class or mapped super class to exclude the invocation of the listeners defined by the entity listener classes for the superclasses of the entity or mapped supeclass. The excluded listeners are excluded from the class to which the ExcludeSuperclassListeners annotation is specified and its subclasses. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:72635.5Excluded listeners may reintroduced on an entity class by listing them explicitly in the EntityListeners annotation or XML entity-listeners element. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:72735.5The ExcludeSuperclassListeners annotation or exclude-superclass-listeners XML element) does not cause the default entity listeners to be excluded from invocation. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1458.135.5If a lifecycle callback method for the same lifecycle event is also specified on the entity class and/or one or more of its entity or mapped superclasses, the callback methods on the entity class and/or superclasses are invoked after the other lifecycle callback methods, most general superclass first. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1458.235.5A class is permitted to override an inherited callback method of the same callback type, and in this case, the overridden method is not invoked. If a method overrides an inherited callback method but specifies a different lifecycle event or is not a lifecycle callback method, the overridden method will not be invoked true
falsetechnologyactivetrue
PERSISTENCE:SPEC:145935.5 Callback methods are invoked by the persistence provider runtime in the order specified. If the callback method execution terminates normally, the persistence provider runtime then invokes the next callback method, if any. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:146035.5 The XML descriptor may be used to override the lifecycle callback method invocation order specified in annotations. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:146135.7Lifecycle callback methods may throw runtime exceptions. A runtime exception thrown by a callback method that executes within a transaction causes that transaction to be marked for rollback if the persistence context is joined to the transaction. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:146235.7No further lifecycle callback methods will be invoked after a runtime exception is thrown. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:146335.8The XML descriptor can be used as an alternative to metadata annotations to specify entity listener classes and their binding to entities or to override the invocation order of lifecycle callback methods as specified in annotations. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:146435.8.1The entity-listener XML descriptor element is used to specify the lifecycle listener methods of an entity listener class. The lifecycle listener methods are specified by using the pre-persist, post-persist, pre-remove, post-remove, pre-update, post-update, and/or post-load elements. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:146535.8.1An entity listener class can define multiple callback methods. However, at most one method of an entity listener class can be designated as a pre-persist method, post-persist method, pre-remove method, post-remove method, pre-update method, post-update method, and/or post-load method, regardless of whether the XML descriptor is used to define entity listeners or whether some combination of annotations and XML descriptor elements is used. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:146635.8.2The entity-listeners subelement of the persistence-unit-defaults element is used to specify the default entity listeners for the persistence unit. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:146735.8.2The entity-listeners subelement of the entity or mapped-superclass element is used to specify the entity listener classes for the respective entity or mapped superclass and its subclasses. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:146835.8.2The binding of entity listeners to entity classes is additive. The entity listener classes bound to the superclasses of an entity or mapped superclass are applied to it as well. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:146935.8.2The exclude-superclass-listeners element specifies that the listener methods for superclasses are not to be invoked for an entity class (or mapped superclass) and its subclasses. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:147035.8.2The exclude-default-listeners element specifies that default entity listeners are not to be invoked for an entity class (or mapped superclass) and its subclasses. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:147135.8.2Explicitly listing an excluded default or superclass listener for a given entity class or mapped superclass causes it to be applied to that entity or mapped superclass and its subclasses. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:147235.8.2In the case of multiple callback methods for a single lifecycle event, the invocation order rules described in section 3.5.5 apply. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:128336Managed classes (entities, mapped superclasses, and embeddable classes) may be configured to include Bean Validation constraints. Automatic validation using these constraints is achieved by specifying that Java Persistence delegate validation to the Bean Validation implementation upon the pre-persist, pre-update, and pre-remove entity lifecycle events true
falsetechnologyactivetrue
PERSISTENCE:SPEC:128436Validation can also be achieved by the application calling the validate method of a Validator instance upon an instance of a managed class, as described in the Bean Validation specification true
falsetechnologyactivetrue
PERSISTENCE:SPEC:128536.1This specification supports the use of bean validation for the automatic validation of entities upon the pre-persist, pre-update, and pre-remove lifecycle validation events. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1285.136.1These lifecycle validation events occur immediately after the point at which all the PrePersist, PreUpdate, and PreRemove lifecycle callback method invocations respectively have been completed true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1285.236.1or immediately after the point at which such lifecycle callback methods would have been completed (in the event that such callback methods are not present). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:147336.1In the case where an entity is persisted and subsequently modified in a single transaction or when an entity is modified and subsequently removed in a single transaction, it is implementation dependent as to whether the pre-update validation event occurs. true
truetechnologyactivefalse
PERSISTENCE:SPEC:128636.1.1The validation-mode element of the persistence.xml file determines whether the automatic lifecycle event validation is in effect. The values of the validation-mode element are AUTO, CALLBACK, NONE. The default validation mode is AUTO. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:128736.1.1If the application creates the entity manager factory using the Persistence.createEntityManagerFactory method, the validation mode can be specified using the jakarta.persistence. validation.mode map key, which will override the value specified (or defaulted) in the persistence.xml file. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:147436.1.1The map values for this key are "auto", "callback", "none". true
falsetechnologyactivetrue
PERSISTENCE:SPEC:128836.1.1If the auto validation mode is specified by the validation-mode element or the jakarta.persistence. validation.mode property, or if neither the validation-mode element nor the jakarta.persistence.validation.mode property is specified, and a Bean Validation provider is present in the environment, the persistence provider must perform the automatic validation of entities as described in section 3.6.1.2. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:128936.1.1If no Bean Validation provider is present in the environment, no lifecycle event validation takes place. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:129036.1.1If the callback validation mode is specified by the validation-mode element or the jakarta.persistence. validation.mode property, the persistence provider must perform the lifecycle event validation as described in section 3.6.1.2. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:129136.1.1It is an error if there is no Bean Validation provider present in the environment, and the provider must throw the PersistenceException if the jakarta.persistence. validation.mode property value "callback" has been passed to the Persistence. createEntityManagerFactory method. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:129236.1.1If the none validation mode is specified by the validation-mode element or the jakarta.persistence. validation.mode property, the persistence provider must not perform lifecycle event validation. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:129336.1.2the default Bean Validation group (the group Default) will be validated upon true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1293.136.1.2pre-persist lifecycle validation event true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1293.236.1.2pre-update lifecycle validation event true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1293.336.1.2no group will be validated upon the pre-remove event true
falsetechnologyactivetrue
PERSISTENCE:SPEC:129436.1.2This default validation behavior can be overridden by specifying the target groups using the following validation properties in the persistence.xml file or by passing these properties in the configuration of the entity manager factory through the createEntityManagerFactory method: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1294.136.1.2 jakarta.persistence.validation.group.pre-persist true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1294.236.1.2jakarta.persistence.validation.group.pre-update true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1294.336.1.2jakarta.persistence.validation.group.pre-remove true
falsetechnologyactivetrue
PERSISTENCE:SPEC:129536.1.2The value of a validation property must be a list of the targeted groups. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:147536.1.2A targeted group must be specified by its fully qualified class name. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:147636.1.2Names must be separated by a comma. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:129636.1.2When one of the above events occurs for an entity, the persistence provider must validate that entity by obtaining a Validator instance from the validator factory in use (see section 3.6.2) and invoking its validate method with the targeted groups. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:147736.1.2If the list of targeted groups is empty, no validation is performed. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:129736.1.2If the set of ConstraintViolation objects returned by the validate method is not empty, the persistence provider must throw the jakarta.validation.ConstraintViolation- Exception containing a reference to the returned set of ConstraintViolation objects, and must mark the transaction for rollback if the persistence context is joined to the transaction. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:129836.1.2The validator instance that is used for automatic validation upon lifecycle events must use a TraversableResolver that has the following behavior: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1298.136.1.2Attributes that have not been loaded must not be loaded. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1298.236.1.2Validation cascade (@Valid) must not occur for entity associations (single- or multi-valued). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:129936.1.2Embeddable attributes must be validated only if the Valid annotation has been specified on them. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:130036.1.2It is the responsibility of the persistence provider to pass an instance implementing the jakarta.validation. TraversableResolver interface to the Bean Validation provider by calling ValidatorFactory. usingContext().traversableResolver(tr).getValidator(), where tr is the resolver having the behavior described above. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:130036.2In Java EE environments, a ValidatorFactory instance is made available by the Java EE container. The container is responsible for passing this validator factory to the persistence provider via the map that is passed as an argument to the createContainerEntityManagerFactory call. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:147836.2The map key used by the container must be the standard property name jakarta.persistence.validation. factory. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:130136.2In Java SE environments, the application can pass the ValidatorFactory instance via the map that is passed as an argument to the Persistence.createEntityManagerFactory call. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:147936.2The map key used must be the standard property name jakarta.persistence.validation.factory true
falsetechnologyactivetrue
PERSISTENCE:SPEC:148036.2If no ValidatorFactory instance is provided by the application, and if a Bean Validation provider is present in the classpath, the persistence provider must instantiate the ValidatorFactory using the default bootstrapping approach defined by the Bean Validation specification [8], namely Validation.buildDefaultValidatorFactory(). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:242537Entity graphs are used in the specification of “fetch plans” for query operations true
falsetechnologyactivetrue
PERSISTENCE:SPEC:242637Entity graphs are used in the specification of “fetch plans” for find operations true
falsetechnologyactivetrue
PERSISTENCE:SPEC:242737Entity graphs are used in the specification of “fetch plans” as specifications for the boundaries of merge operations true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:242937The named-entity-graph XML element and its subelements may be used to override these annotations or to define additional named entity graphs. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:243037.4An entity graph can be used with the find method true
falsetechnologyactivetrue
PERSISTENCE:SPEC:243137.4An entity graph can be used as a query hint to override or augment FetchType semantics true
falsetechnologyactivetrue
PERSISTENCE:SPEC:243237.4The standard properties jakarta.persistence.fetchgraph and jakarta.persistence. loadgraph are used to specify such graphs to queries and find operations. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:243337.4The default fetch graph for an entity or embeddable is defined to consist of the transitive closure of all of its attributes that are specified as FetchType.EAGER (or defaulted as such) true
falsetechnologyactivetrue
PERSISTENCE:SPEC:243437.4The persistence provider is permitted to fetch additional entity state beyond that specified by a fetch graph or load graph. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:243537.4It is required, however, that the persistence provider fetch all state specified by the fetch or load graph. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:243637.4.1When the jakarta.persistence.fetchgraph property is used to specify an entity graph, attributes that are specified by attribute nodes of the entity graph are treated as FetchType.EAGER and attributes that are not specified are treated as FetchType.LAZY. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:243737.4.1A primary key or version attribute never needs to be specified in an attribute node of a fetch graph. (This applies to composite primary keys as well, including embedded id primary keys.) true
falsetechnologyactivetrue
PERSISTENCE:SPEC:243837.4.1When an entity is fetched, its primary key and version attributes are always fetched. It is not incorrect, however, to specify primary key attributes or version attributes true
falsetechnologyactivetrue
PERSISTENCE:SPEC:243937.4.1Attributes other than primary key and version attributes are assumed not to be fetched unless the attribute is specified. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:244037.4.1The following rules apply to the specification of attributes. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2440.137.4.1If the attribute is an embedded attribute, and the attribute is specified in an attribute node, but a subgraph is not specified for the attribute, the default fetch graph for the embeddable is fetched. If a subgraph is specified for the attribute, the attributes of the embeddable are fetched according to their specification in the corresponding subgraph. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2440.237.4.1If the attribute is an element collection of basic type, and the attribute is specified in an attribute node, the element collection together with its basic elements is fetched. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2440.337.4.1If the attribute is an element collection of embeddables, and the attribute is specified in an attribute node, but a subgraph is not specified for the attribute, the element collection together with the default fetch graph of its embeddable elements is fetched. If a subgraph is specified for the attribute, the attributes of the embeddable elements are fetched according to the corresponding subgraph specification. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2440.437.4.1If the attribute is a one-to-one or many-to-one relationship, and the attribute is specified in an attribute node, but a subgraph is not specified for the attribute, the default fetch graph of the target entity is fetched. If a subgraph is specified for the attribute, the attributes of the target entity are fetched according to the corresponding subgraph specification. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2440.537.4.1If the attribute is a one-to-many or many-to-many relationship, and the attribute is specified in an attribute node, but a subgraph is not specified, the collection is fetched and the default fetch graphs of the referenced entities are fetched. If a subgraph is specified for the attribute, the entities in the collection are fetched according to the corresponding subgraph specification. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2440.637.4.1If the key of a map which has been specified in an attribute node is a basic type, it is fetched. If the key of a map which has been specified in an attribute node is an embedded type, the default fetch graph is fetched for the embeddable. Otherwise, if the key of the map is an entity, and a map key subgraph is not specified for the attribute node, the map key is fetched according to its default fetch graph. If a key subgraph is specified for the map key attribute, the map key attribute is fetched according to the map key subgraph specification. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:244137.4.2When the jakarta.persistence.loadgraph property is used to specify an entity graph, attributes that are specified by attribute nodes of the entity graph are treated as FetchType.EAGER and attributes that are not specified are treated according to their specified or default FetchType. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:244237.4.2The following rules apply. The rules of this section are applied recursively. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2442.137.4.2A primary key or version attribute never needs to be specified in an attribute node of a load graph. (This applies to composite primary keys as well, including embedded id primary keys.) When an entity is fetched, its primary key and version attributes are always fetched. It is not incorrect, however, to specify primary key attributes or version attributes. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2442.237.4.2If the attribute is an embedded attribute, and the attribute is specified in an attribute node, but a subgraph is not specified for the attribute, the default fetch graph for the embeddable is fetched. If a subgraph is specified for the attribute, attributes that are specified by the subgraph are also fetched. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2442.337.4.2If the attribute is an element collection of basic type, and the attribute is specified in an attribute node, the element collection together with its basic elements is fetched. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2442.437.4.2If the attribute is an element collection of embeddables, and the attribute is specified in an attribute node, the element collection together with the default fetch graph of its embeddable elements is fetched. If a subgraph is specified for the attribute, attributes that are specified by the subgraph are also fetched. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2442.537.4.2If the attribute is a one-to-one or many-to-one relationship, and the attribute is specified in an attribute node, the default fetch graph of the target entity is fetched. If a subgraph is specified for the attribute, attributes that are specified by the subgraph are also fetched. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2442.637.4.2If the attribute is a one-to-many or many-to-many relationship, and the attribute is specified in an attribute node, the collection is fetched and the default fetch graphs of the referenced entities are fetched. If a subgraph is specified for the attribute, attributes that are specified by the subgraph are also fetched true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2442.737.4.2If the key of a map which has been specified in an attribute node is a basic type, it is fetched. If the key of a map which has been specified in an attribute node is an embedded type, the default fetch graph is fetched for the embeddable. Otherwise, if the key of the map is an entity, the map key is fetched according to its default fetch graph. If a key subgraph is specified for the map key attribute, additional attributes are fetched as specified in the key subgraph. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:244337.5An entity graph may be used as a “merge graph” and passed as an argument to the merge method. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:244437.5A merge graph attribute node specified within an entity graph or subgraph specifies how an attribute is to be merged. Primary key and version attributes do not need to be specified in the merge graph. If other attributes are not specified, they are not merged. Note that cascade=MERGE specifications are ignored. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:244537.5The persistence provider must observe the scope and boundaries of a merge graph specification exactly. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:244637.5The following additional rules apply for attributes that are specified in attribute nodes. These rules are applied recursively. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:2446.137.5If the attribute is an embedded attribute and a subgraph is not specified for the attribute, the embedded attribute is merged but the attributes of the embeddable are not merged. If a subgraph is specified for the attribute, the attributes of the embeddable are merged according to their specification in the corresponding subgraph. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:2446.237.5If the attribute is an element collection of basic type, the element collection is merged. The values in the element collection are replaced. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:2446.337.5If the attribute is an element collection of embeddables and a subgraph is not specified for the attribute, the element collection is merged. The values in the element collection are replaced and all attributes of the embeddables are included. If a subgraph is specified for the attribute, the values in the element collection are replaced and all attributes of the embeddables are included, and the attributes specified in the subgraph are processed according to the subgraph specification. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:2446.437.5If the attribute is a one-to-one or many-to-one relationship and a subgraph is not specified for the attribute, the attribute is merged, but the attributes of the target entity are not merged. If a subgraph is specified for the attribute, the attributes of the target entity are merged according to the corresponding subgraph specification. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:2446.537.5If the attribute is a one-to-many or many-to-many relationship and a subgraph is not specified for the attribute, the attribute is merged, but the attributes of the target entity are not merged. If a subgraph is specified for the attribute, the entities in the collection are merged according to the corresponding subgraph specification. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:2446.637.5In both of the two relationship cases above, note that if a new entity (entity in the “new” state) was added to the relationship and only a subset of its attributes is specified in the subgraph, only those specified attributes are copied. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:2446.737.5If the attribute is a map, the map key is merged. If the map key is an embeddable, all attributes of the embeddable are included. If the map key is an entity, the attribute is merged, but the attributes of the target entity are not merged. If a subgraph is specified for the attribute, the target entity is merged according to the corresponding subgraph specification. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:244737.6An entity graph may be used as a “copy graph” and passed as an argument to the copy method. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:244837.6When using an entity graph in combination with the copy method, a copy of the entity is created and the attributes of the copied entity are populated based on copies of the attributes listed in the entity graph. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:244937.6The persistence provider must observe the scope and boundaries of a copy graph specification exactly. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:245037.6The following rules apply to the specification of attributes. The rules of this section are applied recursively. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:2450.137.6Primary key and version attributes are always copied. Attributes are otherwise not copied unless they are specified. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:2450.237.6If the attribute is an embedded attribute and an attribute node is specified for the attribute, but a subgraph is not specified, a new instance of the embeddable is inserted into the resulting copy of the entity graph, but no state is copied. If a subgraph is specified for the attribute, the attributes of the embeddable are copied according to their specification in the corresponding subgraph. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:2450.337.6If the attribute is an element collection of basic type, the element collection and its contents are copied. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:2450.437.6If the attribute is an element collection of embeddables and an attribute node is specified for the attribute, but a subgraph is not specified, a new collection is created and new embeddable instances are inserted into it, but no state is copied. If a subgraph is specified for the attribute, the embeddables are copied according to their specification in the subgraph. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:2450.537.6If the attribute is a one-to-one or many-to-one relationship and an attribute node is specified for the attribute, but a subgraph is not specified, a copy of the entity is created and inserted. Only the primary key and version attributes of the entity are copied. If a subgraph is specified for the attribute, a copy of the entity is created and inserted and the attributes of the target entity are copied according to the corresponding subgraph specification along with the primary key and version attributes. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:2450.637.6If the attribute is a one-to-many or many-to-many relationship and an attribute node is specified for the attribute, but a subgraph is not specified, a new collection is created and inserted, and copies of the referenced entities are created and inserted into the collection. Only the primary key and version attributes of these entities are copied. If a subgraph is specified for the attribute, the entities in the collection are copied according to the corresponding subgraph specification along with the primary key and version attributes. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:2450.737.6If the attribute is a map and an attribute node has been specified for the attribute: • If the map key is a basic type, it is copied. • If the map key is an embedded attribute, a new instance of the embeddable is inserted but no state is copied. • If the map key is an entity, a copy of the entity is created, and only the primary key and version attributes of the entity are copied. • If a map key subgraph is specified for the embeddable or entity, the attributes of the target are copied according to the corresponding map key subgraph specification. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:148138Converters can be used to convert basic attributes defined by entity classes, mapped superclasses, or embeddable classes true
falsetechnologyactivetrue
PERSISTENCE:SPEC:148238An attribute converter must implement the jakarta.persistence.AttributeConverter interface. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:148338A converter implementation class must betrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:1483.138annotated with the Converter annotation true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1483.238defined in the XML descriptor as a converter. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:148438 If the value of the autoApply element of the Converter annotation is true, the converter will be applied to all attributes of the target type, including to basic attribute values that are contained within other, more complex attribute types. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:148538The conversion of all basic types is supported except for the following: true
falsetechnologyactivefalse
PERSISTENCE:SPEC:1485.138Id attributes (including the attributes of embedded ids and derived identities) true
falsetechnologyactivefalse
PERSISTENCE:SPEC:1485.238version attributestrue
falsetechnologyactivefalse
PERSISTENCE:SPEC:1485.338relationship attributestrue
falsetechnologyactivefalse
PERSISTENCE:SPEC:1485.438attributes explicitly annotated as Enumerated true
falsetechnologyactivefalse
PERSISTENCE:SPEC:1485.538attributes explicitly annotated as Temporal true
falsetechnologyactivefalse
PERSISTENCE:SPEC:1485.638 attributes explicitly designated as such in the XML descriptor true
falsetechnologyactivefalse
PERSISTENCE:SPEC:148638Auto-apply converters will not be applied to such attributes, and applications that apply converters to such attributes through use of the Convert annotation will not be portable. false
falsetechnologyactivefalse
PERSISTENCE:SPEC:148738Type conversion may be specified at the level of individual attributes by means of the Convert annotation. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:148838The Convert annotation may also be used to override or disable an auto-apply conversion. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:148938The Convert annotation may be applied directly to an attribute of an ... to specify conversion of the attribute or to override the use of a converter that has been specified as autoApply=true. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1489.138entitytrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:1489.238mapped superclasstrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:1489.338embeddable classtrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:149038When persistent properties are used, the Convert annotation is applied to the getter method. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:149138 The Convert annotation may be applied to an entity that extends a mapped superclass to specify or override the conversion mapping for an inherited basic or embedded attribute. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:149238 The persistence provider runtime is responsible for invoking the specified conversion methods for the target attribute type when loading the entity attribute from the database and before storing the entity attribute state to the database. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:149338 The persistence provider must apply any conversion methods to instances of attribute values in path expressions used within Java Persistence query language queries or criteria queries (such as in comparisons, bulk updates, etc.) before sending them to the database for the query execution. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:248638When such converted attributes are used in comparison operations with literals or parameters, the value of the literal or parameter to which they are compared must also be converted true
falsetechnologyactivetrue
PERSISTENCE:SPEC:149438 If the result of a Java Persistence query language query or criteria query includes one or more entity attributes for which conversion mappings have been specified, the persistence provider must apply the specified conversions to the corresponding values in the query result before returning them to the application. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:248738The use of functions, including aggregates, on converted attributes is undefined. false
falsetechnologyactivetrue
PERSISTENCE:SPEC:149538 If an exception is thrown from a conversion method, the persistence provider must wrap the exception in a PersistenceException and, if the persistence context is joined to a transaction, mark the transaction for rollback. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:149639.1A value of ALL causes all entities and entity-related state and data to be cached. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:149739.1A value of NONE causes caching to be disabled for the persistence unit. Persistence providers must not cache if NONE is specified. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:149839.1The values ENABLE_SELECTIVE and DISABLE_SELECTIVE are used in conjunction with the Cacheable annotation (or XML element). The Cacheable annotation specifies whether an entity should be cached if such selective caching is enabled by the persistence.xml shared-cache-mode element. The Cacheable element is specified on the entity class. It applies to the given entity and its subclasses unless subsequently overridden by a subclass. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1498.139.1Cacheable(false) means that the entity and its state must not be cached by the provider. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1498.239.1A value of ENABLE_SELECTIVE enables the cache and causes entities for which Cacheable( true) (or its XML equivalent) is specified to be cached. Entities for which Cacheable(true) is not specified or for which Cacheable(false) is specified must not be cached. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1498.339.1A value of DISABLE_SELECTIVE enables the cache and causes all entities to be cached except those for which Cacheable(false) is specified. Entities for which Cacheable(false) is specified must not be cached. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:149939.1If either the shared-cache-mode element is not specified in the persistence.xml file or the value of the shared-cache-mode element is UNSPECIFIED, and the jakarta.persistence.sharedCache.mode property is not specified, the behavior is not defined, and provider-specific defaults may apply. true
truetechnologyactivefalse
PERSISTENCE:SPEC:150039.1If the shared-cache-mode element and the jakarta.persistence.sharedCache.mode property are not specified, the semantics of the Cacheable annotation (and XML equivalent) are undefined. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:150139.2Cache retrieve mode and cache store mode properties may be specified at the level of the persistence context by means of the EntityManager setProperty method. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:150239.2These properties may be specified for the EntityManager find and refresh methods and the Query, TypedQuery, and StoredProcedureQuery setHint methods. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:150339.2Cache retrieve mode and/or cache store mode properties specified for the find, refresh, and Query and TypedQuery, and StoredProcedureQuery setHint methods override those specified for the persistence context for the specified find and refresh invocations, and for the execution of the specified queries respectively. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:150439.2If caching is disabled by the NONE value of the shared-cache-mode element, cache retrieve mode and cache store mode properties must be ignored. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:150539.2if the ENABLE_SELECTIVE value is specified, but Cacheable(true) is not specified for a particular entity, they are ignored for that entity; if the DISABLE_SELECTIVE value is specified, they are ignored for any entities for which Cacheable(false) is specified. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:150639.2Cache retrieve mode and cache store mode properties must be observed when caching is enabled, regardless of whether caching is enabled due to the specification of the shared-cache-mode element or enabled due to provider-specific options. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:1507310.7Java Persistence query language queries are executed using the getResultList method. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1508310.7Java Persistence query language queries are executed using the getSingleResult method. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1509310.7Criteria API queries are executed using the getResultList method. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1510310.7Criteria API queries are executed using the getSingleResult method. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1511310.7native SQL select queries are executed using the getResultList method. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1512310.7native SQL select queries are executed using the getSingleResult method. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1513310.7For TypedQuery instances, the query result type is determined in the case of criteria queries by the type of the query specified when the CriteriaQuery object is created, true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1514310.7In the case of Java Persistence query language queries, the type of the result is determined by the true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1514.1310.7resultClass argument to the createQuery method and the select list of the query must contain only a single item which must be assignable to the specified type. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1514.2310.7resultClass argument to the createNamedQuery method and the select list of the query must contain only a single item which must be assignable to the specified type. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:728310.7For Query instances true
falsetechnologyactivetrue
PERSISTENCE:SPEC:728.1310.7the elements of a query result whose select list consists of more than one select expression are of type Object[]. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:728.2310.7If the select list consists of only one select expression, the elements of the query result are of type Object true
falsetechnologyactivetrue
PERSISTENCE:SPEC:728.3310.7When native SQL queries are used, the SQL result set mapping, determines how many items (entities, scalar values, etc.) are returned. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:728.4310.7If multiple items are returned, the elements of the query result are of type Object[] true
falsetechnologyactivetrue
PERSISTENCE:SPEC:728.5310.7If only a single item is returned as a result of the SQL result set mapping, the elements of the query result are of type Object. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:728.6310.7 if a result class is specified, the elements of the query result are of type Object. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1515310.7Stored procedure queries can be executed using the getResultList, getSingleResult, and execute methods. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1516310.7Stored procedures that perform only updates or deletes can be executed using the executeUpdate method. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:729310.7An IllegalArgumentException is thrown if:true
falsetechnologyactivetrue
PERSISTENCE:SPEC:730310.7a parameter name is specified that does not correspond to a named parameter of the query. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:731310.7a positional value is specified that does not correspond to a positional parameter of the query. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:732310.7If the type of the parameter is not valid for the query. true
truetechnologyactivetrue
PERSISTENCE:SPEC:733310.7This exception may be thrown when the parameter is bound, or the execution of the query may fail. true
truetechnologyactivetrue
PERSISTENCE:SPEC:1517310.7The use of setMaxResults and setFirstResult is not supported for stored procedure queries. false
falsetechnologyactivefalse
PERSISTENCE:SPEC:1518310.7Query methods other than the executeUpdate method are not required to be invoked within a transaction context, unless a lock mode other than LockModeType.NONE has been specified for the query. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1519310.7TypedQuery methods other than the executeUpdate method are not required to be invoked within a transaction context, unless a lock mode other than LockModeType.NONE has been specified for the query. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1520310.7the getResultList method are not required to be invoked within a transaction context unless such a lock mode has been specified for the query. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1521310.7the getSingleResult method are not required to be invoked within a transaction context unless such a lock mode has been specified for the query. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1522310.7If an entity manager with transaction-scoped persistence context is in use, the resulting entities will be detached true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1523310.7if an entity manager with an extended persistence context is used, they will be managed. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1524310.7Runtime exceptions other than the NoResultException, NonUniqueResultException, QueryTimeoutException, and LockTimeoutException thrown by the methods of the Query, TypedQuery, and StoredProcedureQuery interfaces other than those methods specified below cause the current transaction to be marked for rollback if the persistence context is joined to the transaction. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1302310.7 Runtime exceptions thrown by the following methods of the Query, TypedQuery, and StoredProcedureQuery interfaces do not cause the current transaction to be marked for rollback: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1302.1310.7getParameterstrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:1302.2310.7getParametertrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:1302.3310.7getParameterValuetrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:1302.4310.7getOutputParameterValuetrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:1302.5310.7getLockModetrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:1303310.7Runtime exceptions thrown by the methods of the Tuple, TupleElement, and Parameter interfaces do not cause the current transaction to be marked for rollback. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1525310.8If the persistence context has not been joined to the current transaction, the persistence provider must not flush to the database regardless of the flush mode setting. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1526310.8If there is no transaction active, the persistence provider must not flush to the database. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1527310.9The setLockMode method of the Query or TypedQuery interface or the lockMode element of the NamedQuery annotation may be used to lock the results of a query. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1528310.9A lock is obtained for each entity specified in the query result (including entities passed to constructors in the query SELECT clause). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1529310.9Note that the setLockMode method may be called more than once (with different values) on a Query or TypedQuery object. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1530310.9If the lock mode type is PESSIMISTIC_READ, PESSIMISTIC_WRITE, or PESSIMISTIC_FORCE_INCREMENT, and the query returns scalar data (e.g., the values of entity field or properties, including scalar data passed to constructors in the query SELECT clause), the underlying database rows will be locked[50], but the version columns (if any) for any entities corresponding to such scalar data will not be updated unless the entities themselves are also otherwise retrieved and updated. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1531310.9If the lock mode type is PESSIMISTIC_READ, PESSIMISTIC_WRITE, or PESSIMISTIC_FORCE_INCREMENT, and the query returns scalar data (e.g., the values of entity field or properties, including scalar data passed to constructors in the query SELECT clause), the underlying database rows will be locked[50], but the version columns (if any) for any entities corresponding to such scalar data will not be updated unless the entities themselves are also otherwise retrieved and updated. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1532310.9Note that locking will not occur for data passed to aggregate functions. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1533310.9queries involving aggregates with pessimistic locking may not be supported on all database platforms. false
falsetechnologyactivefalse
PERSISTENCE:SPEC:1534310.9If the lock mode type is OPTIMISTIC or OPTIMISTIC_FORCE_INCREMENT, and the query returns scalar data, any entities returned by the query will be locked, but no locking will occur for scalar data that does not correspond to the state of any entity instance in the query result. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1535310.9If a lock mode other than NONE is specified for a query, the query must be executed within a transaction (and the persistence context must be joined to the transaction) or the TransactionRequiredException will be thrown. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1536310.9Locking is supported for Java Persistence query language queries and criteria queries only. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1537310.9If the setLockMode or getLockMode method is invoked on a query that is not a Java Persistence query language select query or a criteria query, the IllegalStateException may be thrown or the query execution will fail. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1538310.10This entire section is optional false
falsetechnologyactivefalse
PERSISTENCE:SPEC:734310.11Parameter objects can be used for criteria queries and for Java Persistence query language queries. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1539310.11Implementations may support the use of Parameter objects for native queries, however support for Parameter objects with native queries is not required by this specification. false
falsetechnologyactivefalse
PERSISTENCE:SPEC:1305310.12Named parameters can be used for Java Persistence query language queries, for criteria queries (although use of Parameter objects is to be preferred), and for stored procedure queries that support named parameters. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1306310.12Named parameters are case-sensitive. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1540310.12A named parameter of a Java Persistence query language query is an identifier that is prefixed by the ":" symbol. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1307310.12The parameter names passed to the setParameter methods of the Query and TypedQuery interfaces do not include this ":" prefix true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1308310.13Only positional parameter binding and positional access to result items may be portably used for native queries, except for stored procedure queries for which named parameters have been defined. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1309310.13When binding the values of positional parameters, the numbering starts as “1”. It is assumed that for native queries the parameters themselves use the SQL syntax (i.e., “?”, rather than “?1”). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1311310.14Named queries are static queries expressed in metadata or queries registered by means of the EntityManagerFactory addNamedQuery method. Named queries can be defined in the Java Persistence query language or in SQL. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1312310.14Query names are scoped to the persistence unit. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:735310.15By default, all queries are polymorphic. By default, all queries are polymorphic. That is, the FROM clause of a query designates not only instances of the specific entity class(es) to which it explicitly refers, but subclasses as well. The instances returned by a query include instances of the subclasses that satisfy the query conditions true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1541310.15Entity type expressions, described in section 4.6.17.5, as well as the use of downcasting, described in section 4.4.9, can be used to restrict query polymorphism. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1542310.16Queries may be expressed in native SQL. The result of a native SQL query may consist of entities, unmanaged instances created via constructors, scalar values, or some combination of these. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:736310.16The SQL query facility is intended to provide support for those cases where it is necessary to use the native SQL of the target database in use (and/or where Java Persistence QL cannot be used). Native SQL queries are not expected to be portable across databases. true
truetechnologyactivetrue
PERSISTENCE:SPEC:1543310.16.1mapping includes the mapping of the attributes of any embeddable classes that are part of the non-collection-valued entity state and attributes corresponding to foreign keys contained as part of the entity state true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1544310.16.1Support for joins is currently limited to single-valued relationships that are mapped directly—i.e., not via join tables. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1545310.16.1When an entity is to be returned from a native query, the SQL statement should select all of the columns that are mapped to the entity object. This should include foreign key columns to related entities. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1546310.16.1when the results of the query are limited to entities of a single entity class and the mapping information can be derived from the columns of the SQL result and the object/relational mapping metadata—it is sufficient to specify only the expected class of the entity result. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1547310.16.1When multiple entities are returned by a SQL query or when the column names of the SQL result do not correspond to those of the object/relational mapping metadata, a SqlResultSetMapping metadata definition must be provided to specify the entity mapping. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1548310.16.1When the column names of the SQL result do not correspond to those of the object/relational mapping metadata, more explicit SQL result mapping metadata must be provided to enable the persistence provider runtime to map the JDBC results into the expected objects. This might arise, for example, when column aliases must be used in the SQL SELECT clause when the SQL result would otherwise contain multiple columns of the same name or when columns in the SQL result are the results of operators or functions. The FieldResult annotation element within the EntityResult annotation is used to specify the mapping of such columns to entity attributes. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1549310.16.1When the returned entity type contains an embeddable class, the FieldResult element must use a dot (“.”) notation to indicate which column maps to which field or property of the contained embeddable. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1550310.16.1When the returned entity type is the owner of a single-valued relationship and the foreign key is a composite foreign key (composed of multiple columns), a FieldResult element should be used for each of the foreign key columns. The FieldResult element must use the dot (“.”) notation form to indicate the column that maps to each property or field of the target entity primary key. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1551310.16.1If the target entity has a primary key of type IdClass, this specification takes the form of the name of the field or property for the relationship, followed by a dot (“.”), followed by the name of the field or property of the primary key in the target entity. The latter will be annotated with Id, as specified in section 11.1.19. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1552310.16.1If the target entity has a primary key of type EmbeddedId, this specification is composed of the name of the field or property for the relationship, followed by a dot (“.”), followed by the name or the field or property of the primary key (i.e., the name of the field or property annotated as EmbeddedId), followed by the name of the corresponding field or property of the embedded primary key class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1553310.16.1The FieldResult elements for the composite foreign key are combined to form the primary key EmbeddedId class for the target entity. This may then be used to subsequently retrieve the entity if the relationship is to be eagerly loaded. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1554310.16.1The dot-notation form is not required to be supported for any usage other than for embeddables, composite foreign keys, or composite primary keys. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1555310.16.2Instances of other classes (including non-managed entity instances) as well as scalar results can be returned by a native query. These can be used singly, or in combination, including with entity results. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1556310.16.2.1Scalar results can be included in the query result by specifying the ColumnResult annotation element of the SqlResultSetMapping annotation. The intended type of the result can be specified using the type element of the ColumnResult annotation. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1557310.16.2.2The mapping to constructors is specified using the ConstructorResult annotation element of the SqlResultSetMapping annotation. The targetClass element of the ConstructorResult annotation specifies the class whose constructor corresponds to the specified columns. All columns corresponding to arguments of the intended constructor must be specified using the columns element of the ConstructorResult annotation in the same order as that of the argument list of the constructor. Any entities returned as constructor results will be in either the new or the detached state, depending on whether a primary key is retrieved for the constructed object. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1558310.16.3When a SqlResultSetMapping specifies more than one mapping type (i.e., more than one of EntityResult, ConstructorResult, ColumnResult), then for each row in the SQL result, the query execution will result in an Object[] instance whose elements are as follows, in order: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1558.1310.16.3any entity results (in the order in which they are defined in the entities element); true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1558.2310.16.3any instances of classes corresponding to constructor results (in the order defined in the classes element); true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1558.3310.16.3and any instances corresponding to column results (in the order defined in the columns element). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1559310.16.3If there are any columns whose result mappings have not been specified, they are ignored. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:737310.16.4The use of named parameters is not defined for native SQL queries. Only positional parameter binding for SQL queries may be used by portable applications. false
truetechnologyactivetrue
PERSISTENCE:SPEC:1560310.17Stored procedures can be specified either by means of the NamedStoredProcedureQuery annotation or dynamically. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1561310.17.1A stored procedure may return more than one result set. false
falsetechnologyactivetrue
PERSISTENCE:SPEC:1562310.17.1the mapping of result sets can be specified either in terms of a resultClasses or as a resultSetMappings annotation element. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1563310.17.1If there are multiple result sets, it is assumed that they will be mapped using the same mechanism — e.g., all via a set of result class mappings or all via a set of result set mappings. The order of the specification of these mappings must be the same as the order in which the result sets will be returned by the stored procedure invocation. false
falsetechnologyactivetrue
PERSISTENCE:SPEC:1564310.17.1If the stored procedure returns one or more result sets and no resultClasses or resultSetMappings element has been specified, any result set will be returned as a list of type Object[]. false
falsetechnologyactivetrue
PERSISTENCE:SPEC:1565310.17.1StoredProcedureParameter metadata needs to be provided for all parameters. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1566310.17.1Parameters must be specified in the order in which they occur in the parameter list of the stored procedure. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1567310.17.1If parameter names are used, the parameter name is used to bind the parameter value and to extract the output value (if the parameter is an INOUT or OUT parameter). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1568310.17.1If parameter names are not specified, it is assumed that positional parameters are used. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1569310.17.2If the stored procedure is not defined using metadata, parameter and result set information must be provided dynamically. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1570310.17.2All parameters of a dynamically-specified stored procedure query must be registered using the registerStoredProcedureParameter method of the StoredProcedureQuery interface. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1571310.17.2Result set mapping information can be provided by means of the createStoredProcedure- Query method. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1572310.17.3The setParameter methods are used to set the values of all required IN and INOUT parameters. It is not required to set the values of stored procedure parameters for which default values have been defined by the stored procedure. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1573310.17.3The case where there is only a single result set (or a single result) plus any results passed back via INOUT and OUT parameters is supported using the getResultList and getSingleResult methods. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:1574310.17.3The case where there is only an update count plus any results passed back via INOUT and OUT parameters is supported using the executeUpdate method. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:1575310.17.3The execute method supports both the simple case where scalar results are passed back only via INOUT and OUT parameters as well as the most general case (multiple result sets and/or update counts, possibly also in combination with output parameter values). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1576310.17.3The execute method returns true if the first result is a result set, and false if it is an update count or there are no results other than through INOUT and OUT parameters, if any. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1577310.17.3If the execute method returns true, the pending result set can be obtained by calling getResultList. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2496310.17.3If the execute method returns true, the pending result set can be obtained by calling getSingleResult. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1578310.17.3The hasMoreResults method can then be used to test for further results. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1579310.17.3If execute or hasMoreResults returns false, the getUpdateCount method can be called to obtain the pending result if it is an update count. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1580310.17.3The getUpdateCount method will return either the update count (zero or greater) or -1 if there is no update count (i.e., either the next result is a result set or there is no next update count). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2497310.17.3For portability, results that correspond to JDBC result sets and update counts need to be processed before the values of any INOUT or OUT parameters are extracted. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1581310.17.3After results returned through getResultList and getUpdateCount have been exhausted, results returned through INOUT and OUT parameters can be retrieved. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1582310.17.3results that correspond to JDBC result sets and update counts need to be processed before the values of any INOUT or OUT parameters are extracted. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2498310.17.3The getOutputParameterValue methods are used to retrieve the values passed back from the procedure through INOUT and OUT parameters. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2499310.17.3When using REF_CURSOR parameters for result sets, the update counts should be exhausted before calling getResultList to retrieve the result set. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2500310.17.3Alternatively, the REF_CURSOR result set can be retrieved through getOutputParameterValue. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2501310.17.3Result set mappings will be applied to results corresponding to REF_CURSOR parameters in the order the REF_CURSOR parameters were registered with the query. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1583310.17.3In the simplest case, where results are returned only via INOUT and OUT parameters, execute can be followed immediately by calls to getOutputParameterValue. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:738311Summary of Exceptionstrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:739311PersistenceExceptiontrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:740311TransactionRequiredExceptiontrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:738.1311OptimisticLockExceptiontrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:738.2311PessimisticLockExceptiontrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:738.3311LockTimeoutExceptiontrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:741311RollbackExceptiontrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:742311EntityExistsExceptiontrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:743311EntityNotFoundExceptiontrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:744311NoResultExceptiontrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:745311NonUniqueResultExceptiontrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:738.4311QueryTimeoutExceptiontrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:74642A Java Persistence query language statement may be either: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:746.142a select statementtrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:746.242an update statementtrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:746.342a delete statementtrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:75042Any Any Java Persistence query language statement may be constructed dynically or may be statically defined in a metadata annotation or XML descriptor element. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:75142All statement types may have parameters.true
falsetechnologyactivetrue
PERSISTENCE:SPEC:75242.1A select statement is a string which consists of the following clauses: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:75342.1a SELECT clause, which determines the type of the objects or values to be selected. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:75442.1a FROM clause, which provides declaration that designate the domain to which the expressions specified in the other clauses of the query apply true
falsetechnologyactivetrue
PERSISTENCE:SPEC:75542.1an optional WHERE clause, which may be used to restrict the results that are returned by the query true
falsetechnologyactivetrue
PERSISTENCE:SPEC:75642.1an optional GROUP BY clause, which allows query results to be aggregated in terms of groups true
falsetechnologyactivetrue
PERSISTENCE:SPEC:75742.1an optional HAVING clause, which allows filtering over aggregated groups true
falsetechnologyactivetrue
PERSISTENCE:SPEC:75842.1an optional ORDER BY clause, which may be used to order the results that are returned by the query true
falsetechnologyactivetrue
PERSISTENCE:SPEC:31242.1A select statement must always have a SELECT and a FROM clause. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:75942.2Update and delete statements provide bulk operations over sets of entities. The update and delete clauses determine the type of the entities to be updated or deleted. The WHERE clause may be used to restrict the scope of the update or delete operation. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:158443The type of an expression is derived from the structure of the expression, the abstract schema types of the identification variable declarations, the types to which the persistent attributes evaluate, and the types of literals. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:76043The abstract schema type of an entity or embeddable is derived from its class and the metadata information provided by Java language annotations or in the XML descriptor. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:76143Abstract schema types are specific to the query language data model. The persistence provider is not required to implement or otherwise materialize an abstract schema type. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:76143The domain of a query consists of the abstract schema types of all entities that are defined in the same persistence unit. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:76243.1Entities are designated in query strings by their entity names. The entity name is defined by the name element of the Entity annotation (or the entity-name XML descriptor element), and defaults to the unqualified name of the entity class true
falsetechnologyactivetrue
PERSISTENCE:SPEC:158543.1Entity names are scoped within the persistence unit and must be unique within the persistence unit. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:245144Identification variables designate instances of a particular abstract schema type. The FROM clause can contain multiple identification variable declarations separated by a comma true
falsetechnologyactivetrue
PERSISTENCE:SPEC:31744Identification variables designate instances of a particular abstract schema type. The FROM clause can contain multiple identification variable declarations separated by a comma: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:317.444identification_variable_declaration true
falsetechnologyactivetrue
PERSISTENCE:SPEC:317.144range_variable_declaration true
falsetechnologyactivetrue
PERSISTENCE:SPEC:317.544join true
falsetechnologyactivetrue
PERSISTENCE:SPEC:317.644fetch_join true
falsetechnologyactivetrue
PERSISTENCE:SPEC:317.744join_association_path_expression true
falsetechnologyactivetrue
PERSISTENCE:SPEC:317.844join_collection_valued_path_expression true
falsetechnologyactivetrue
PERSISTENCE:SPEC:317.944join_single_valued_path_expression true
falsetechnologyactivetrue
PERSISTENCE:SPEC:317.1044join_spec true
falsetechnologyactivetrue
PERSISTENCE:SPEC:317.244collection_member_declaration true
falsetechnologyactivetrue
PERSISTENCE:SPEC:317.344join_spectrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:158644.1An identifier is a character sequence of unlimited length. The character sequence must begin with a Java identifier start character, and all other characters must be Java identifier part characters. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:158744.1 An identifier start character is any character for which the method Character.isJavaIdentifierStart returns true. This includes the underscore (_) character and the dollar sign ($) character. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:158844.1 An identifier part character is any character for which the method Character.isJavaIdentifierPart returns true true
falsetechnologyactivetrue
PERSISTENCE:SPEC:76344.1Reserved identifiers are case insensitive. Reserved identifiers must not be used as identification variables or result variables true
falsetechnologyactivetrue
PERSISTENCE:SPEC:76444.2All identification variables must be declared in the FROM clause. Identification variables cannot be declared in other clauses. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:158944.2 An identification variable must not be a reserved identifier or have the same name as any entity in the same persistence unit. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:31944.2Identification variables are case insensitive. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:159044.2 An identification variable evaluates to a value of the type of the expression used in declaring the variable. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:159144.2 An identification variable can range over an entity, embeddable, or basic abstract schema type. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:159244.2 Note that for identification variables referring to an instance of an association or collection represented as a java.util.Map, the identification variable is of the abstract schema type of the map value. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:159344.2 An identification variable always designates a reference to a single value. It is declared in one of three ways: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1593.144.2in a range variable declaration true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1593.244.2in a join clause true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1593.344.2in a collection member declaration true
falsetechnologyactivetrue
PERSISTENCE:SPEC:159444.2 The identification variable declarations are evaluated from left to right in the FROM clause, and an identification variable declaration can use the result of a preceding identification variable declaration of the query string. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:159544.2 All identification variables used in the SELECT, WHERE, ORDER BY, GROUP BY, or HAVING clause of a SELECT statement must be declared in the FROM clause. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:159644.2 All identification variables used in the SELECT, WHERE, ORDER BY, GROUP BY, or HAVING clause of a DELETE statement must be declared in the FROM clause. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:159744.2 The identification variables used in the WHERE clause of an UPDATE statement must be declared in the UPDATE clause true
falsetechnologyactivetrue
PERSISTENCE:SPEC:159944.2 An identification variable is scoped to the query (or subquery) in which it is defined and is also visible to any subqueries within that query scope that do not define an identification variable of the same name. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:160044.3 The syntax for declaring an identification variable as a range variable is similar to that of SQL; optionally, it uses the AS keyword. A range variable designates an entity abstract schema type. A range variable must not designate an embeddable class abstract schema type. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:32044.3 In order to select values by comparing more than one instance of an entity abstract schema type, more than one identification variable ranging over the entity's abstract schema type is needed in the FROM clause. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:32844.4The evaluation of a path expression terminating in a state-field results in the abstract schema type corresponding to the Java type designed by the state-field. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:160144.4 An identification variable followed by the navigation operator (.) and a state field or association field is a path expression. The type of the path expression is the type computed as the result of navigation; true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1601.144.4 the type of the state field true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1601.244.4 association field to which the expression navigates true
falsetechnologyactivetrue
PERSISTENCE:SPEC:160244.4 The type of a path expression that navigates to an association field may be specified as a subtype of the declared type of the association field by means of the TREAT operator. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:160344.4 An identification variable qualified by the KEY, VALUE, or ENTRY operator is a path expression. The KEY, VALUE, and ENTRY operators may only be applied to identification variables that correspond to true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1603.144.4 map-valued associations true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1603.244.4 map-valued element collections true
falsetechnologyactivetrue
PERSISTENCE:SPEC:160444.4 The type of the path expression is the type computed as the result of the operation; that is, the abstract schema type of the field that is the value of the KEY, VALUE, or ENTRY operator (the map key, map value, or map entry respectively) true
falsetechnologyactivetrue
PERSISTENCE:SPEC:160544.4 Note that use of VALUE is optional, as an identification variable referring to an association of type java.util.Map is of the abstract schema type of the map value. false
falsetechnologyactivetrue
PERSISTENCE:SPEC:160644.4 A path expression using the KEY or VALUE operator can be further composed. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:160744.4 A path expression using the ENTRY operator is terminal. It cannot be further composed and can only appear in the SELECT list of a query. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:32644.4a path expression that leads to an association field or to a field whose type is an embeddable class may be further composed. Path expressions can be composed from other path expressions if the original path expression evaluates to a single-valued type (not a collection). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:32944.4 Path expression navigability is composed using "inner join" semantics. That is, if the value of a non-terminal association-field in the path expression is null, the path is considered to have no value, and does not participate in the determination of the result. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:160844.4.1 An identification variable used in a single_valued_object_path_expression or in a collection_valued_path_expression may be an unqualified identification variable or an identification variable to which the KEY or VALUE function has been applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:160944.4.1 general_identification_variable ::= identification_variable | map_field_identification_variable true
falsetechnologyactivetrue
PERSISTENCE:SPEC:161044.4.1 The type of an entity-valued path expression or an entity-valued subpath of a path expression used in a WHERE clause may be specified as a subtype of the corresponding declared type by means of the TREAT operator. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:76544.4.1The syntax for single-valued path expressions and collection-valued path expression is as follows: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:76644.4.1single_valued_path_expression ::= qualified_identification_variable | TREAT(qualified_identification_variable AS subtype) | state_field_path_expression | single_valued_object_path_expression true
falsetechnologyactivetrue
PERSISTENCE:SPEC:76744.4.1state_field_path_expression ::= {identification_variable | single_valued_association_path_expression}.state_field true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:76844.4.1single_valued_association_path_expression ::= identification_variable.{single_valued_association_field.}*single_valued_association_field true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:76944.4.1collection_valued_path_expression ::= identification_variable.{single_valued_association_field.}*collection_valued_association_field true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:77044.4.1state_field := simple_state_field | {embedded_class_state_field.}*simple_state_field true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:765.144.4.1general_subpath ::= simple_subpath | treated_subpath{.single_valued_object_field}* true
falsetechnologyactivetrue
PERSISTENCE:SPEC:765.244.4.1simple_subpath ::= general_identification_variable | general_identification_variable{.single_valued_object_field}* true
falsetechnologyactivetrue
PERSISTENCE:SPEC:765.344.4.1treated_subpath ::= TREAT(general_subpath AS subtype) true
falsetechnologyactivetrue
PERSISTENCE:SPEC:765.444.4.1state_field_path_expression ::= general_subpath.state_field true
falsetechnologyactivetrue
PERSISTENCE:SPEC:765.544.4.1state_valued_path_expression ::= state_field_path_expression true
falsetechnologyactivetrue
PERSISTENCE:SPEC:765.644.4.1single_valued_object_path_expression ::= general_subpath.single_valued_object_field true
falsetechnologyactivetrue
PERSISTENCE:SPEC:765.744.4.1collection_valued_path_expression ::= general_subpath.collection_valued_field true
falsetechnologyactivetrue
PERSISTENCE:SPEC:32244.4.1 A single_valued_object_field is designated by the name of an association field in a one-to-one or many-to-one relationship or a field of embeddable class type. The type of a single_valued_object_field is the abstract schema type of the related entity or embeddable class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:161144.4.1 A state _field is designated by the name of an entity or embeddable class state field that corresponds to a basic type. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:32344.4.1 A collection_valued_field is designated by the name of an association field in a one-to-many or a many-to-many relationship or by the name of an element collection field. The type of a collection_valued_field is a collection of values of the abstract schema type of the related entity or element type. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:161244.4.1 It is illegal to use a collection_valued_path_expression other than in the FROM clause of a query except true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1612.144.4.1 in an empty_collection_comparison_expression true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1612.244.4.1 in a collection_member_expression true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1612.344.4.1 as an argument to the SIZE operator true
falsetechnologyactivetrue
PERSISTENCE:SPEC:77344.5An inner join may be implicitly specified by the use of a cartesian product in the FROM clause and a join condition in the WHERE clause. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:77444.5The syntax for explicit join operations is as follows: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:77544.5join::= join_spec join_association_path_expression [AS] identification_variable [join_condition] true
falsetechnologyactivetrue
PERSISTENCE:SPEC:77644.5fetch_join ::= join_spec FETCH join_association_path_expression true
falsetechnologyactivetrue
PERSISTENCE:SPEC:77744.5join_association_path_expression ::= join_collection_valued_path_expression | join_single_valued_path_expression | TREAT(join_collection_valued_path_expression AS subtype) true
falsetechnologyactivetrue
PERSISTENCE:SPEC:77844.5join_spec::= [ LEFT [OUTER] | INNER ] JOIN true
falsetechnologyactivetrue
PERSISTENCE:SPEC:774.144.5join_condition ::= ON conditional_expression true
falsetechnologyactivetrue
PERSISTENCE:SPEC:77944.5.1The syntax for the inner join operation is: [ INNER ] JOIN join_association_path_expression [AS] identification_variable [join_condition] true
falsetechnologyactivetrue
PERSISTENCE:SPEC:161344.5.1 The keyword INNER may optionally be used true
falsetechnologyactivetrue
PERSISTENCE:SPEC:161444.5.1 A join condition may be specified for an inner join. This is equivalent to specification of the same condition in the WHERE clause. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:78044.5.2LEFT JOIN and LEFT OUTER JOIN are synonymous. They enable retrieval of a set of entities where matching values in the join condition may be absent. The syntax for a left outer join is: LEFT [OUTER] JOIN join_association_path_expression [AS] identification_variable [join_condition] true
falsetechnologyactivetrue
PERSISTENCE:SPEC:161544.5.2 An outer join without a specified join condition has an implicit join condition over the foreign key relationship corresponding to the join_association_path_expression. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:161644.5.2 An outer join with an explicit ON condition would cause an additional specified join condition to be added to the generated SQL: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:78144.5.3 A FETCH JOIN enables the fetching of an association or element collection as a side effect of the execution of a query. The syntax for a fetch join is fetch_join ::= [ LEFT [OUTER] | INNER ] JOIN FETCH join_association_path_expression true
falsetechnologyactivetrue
PERSISTENCE:SPEC:78244.5.3 The association referenced by the right side of the FETCH JOIN clause must be an association or element collection that is referenced from an entity or embeddable that is returned as a result of the query. It is not permitted to specify an identification variable for the objects referenced by the right side of the FETCH JOIN clause, and hence references to the implicitly fetched entities or elements cannot appear elsewhere in the query. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:32144.6 An identification variable of a collection member declaration is declared using a special operator, the reserved identifier IN. The argument to the IN operator takes a collection valued path expression. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:78344.6The path expression evaluates to a collection type specified as a result of navigation to a collection-valued association field of an entity or embeddable class abstract schema type. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:161744.6 collection_member_declaration ::= IN (collection_valued_path_expression) [AS] identification_variable true
falsetechnologyactivetrue
PERSISTENCE:SPEC:161844.7 The Java Persistence query language treats the FROM clause similarly to SQL in that the declared identification variables affect the results of the query even if they are not used in the WHERE clause. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:78444.8Java Persistence queries are automatically polymorphic. The FROM clause of a query designates not only instances of the specific entity class(es) to which it explicitly refers but instances of subclasses of those classes as well. The instances returned by a query thus include instances of the subclasses that satisfy the query criteria. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:161944.8 Non-polymorphic queries or queries whose polymorphism is restricted can be specified using entity type expressions in the WHERE clause to restrict the domain of the query. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:162044.9 The use of the TREAT operator is supported for downcasting within path expressions in the FROM and WHERE clauses. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:162144.9 If during query execution the first argument to the TREAT operator is not a subtype (proper or improper) of the target type, the path is considered to have no value, and does not participate in the determination of the result. That is, in the case of a join, the referenced object does not participate in the result, and in the case of a restriction, the associated predicate is false. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:162244.9 If the target type is not a subtype (proper or improper) of the static type of the first argument, the query is invalid. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:78545The WHERE clause restricts the result of a select statement or the scope of an update or delete operation. A WHERE clause is defined as follows: where_clause ::= WHERE conditional_expression true
falsetechnologyactivetrue
PERSISTENCE:SPEC:162345 The GROUP BY construct enables the aggregation of values according to the properties of an entity class true
falsetechnologyactivetrue
PERSISTENCE:SPEC:162445 The HAVING construct enables conditions to be specified that further restrict the query result as restrictions upon the groups. The syntax of the HAVING clause is as follows: having_clause ::= HAVING conditional_expression true
falsetechnologyactivetrue
PERSISTENCE:SPEC:33046.1 A string literal is enclosed in single quotes—for example: ‘literal’. A string literal that includes a single quote is represented by two single quotes—for example: ‘literal’’s’. String literals in queries, like Java String literals, use unicode character encoding. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:162546.1The use of Java escape notation is not supported in query string literals. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:162646.1 Exact numeric literals support the use of Java integer literal syntax as well as SQL exact numeric literal syntax. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:162746.1 Approximate literals support the use Java floating point literal syntax as well as SQL approximate numeric literal syntax. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:162846.1 Appropriate suffixes can be used to indicate the specific type of a numeric literal in accordance with the Java Language Specification. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:162946.1 Support for the use of hexadecimal and octal numeric literals is not required by this specification. false
falsetechnologyactivetrue
PERSISTENCE:SPEC:163046.1 Enum literals support the use of Java enum literal syntax. The fully qualified enum class name must be specified. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:163146.1 The JDBC escape syntax may be used for the specification of date, time, and timestamp literals. The portability of this syntax for date, time, and timestamp literals is dependent upon the JDBC driver in use. Persistence providers are not required to translate from this syntax into the native syntax of the database or driver. false
falsetechnologyactivetrue
PERSISTENCE:SPEC:33446.1The boolean literals are TRUE and FALSE.true
falsetechnologyactivetrue
PERSISTENCE:SPEC:163246.1Entity type literals are specified by entity names true
falsetechnologyactivetrue
PERSISTENCE:SPEC:33146.1An exact numeric literal is a numeric value without a decimal point. Exact numeric literals support numbers in the range of Java long. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:33246.1Although predefined reserved literals appear in upper case, they are case insensitive. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:78646.2All identification variables used in the WHERE or HAVING clause of a SELECT or DELETE statement must be declared in the FROM clause. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:78746.2The identification variables used in the WHERE clause of an UPDATE statement must be declared in the UPDATE clause. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:78846.3It is illegal to use a collection_valued_path_expression within a WHERE or HAVING clause as part of a conditional expression except in an empty_collection_comparison_expression, in a collection_member_expression, or as an argument to the SIZE operator. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:163446.4Either positional or named parameters may be used. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:163546.4Positional and named parameters must not be mixed in a single query. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:163646.4Input parameters can only be used in the WHERE clause or HAVING clause of a query or as the new value for an update item in the SET clause of an update statement. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:34246.4Note that if an input parameter value is null, comparison operations involving the input parameter will return an unknown value. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:34346.4Note that if an input parameter value is null, arithmetic operations involving the input parameter will return an unknown value. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:163746.4All input parameters must be single-valued, except in IN expressions true
falsetechnologyactivetrue
PERSISTENCE:SPEC:163846.4.1Input parameters are designated by the question mark (?) prefix followed by an integer. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:33846.4.1Input parameters are numbered starting from 1 true
falsetechnologyactivetrue
PERSISTENCE:SPEC:163946.4.1The same parameter can be used more than once in the query string. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:164046.4.1The ordering of the use of parameters within the query string need not conform to the order of the positional parameters. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:78946.4.2A named parameter is denoted by an identifier that is prefixed by the ":" symbol. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:164146.4.2Named parameters are case sensitive.true
falsetechnologyactivetrue
PERSISTENCE:SPEC:164246.4.2The same named parameter can be used more than once in the query string. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:34546.5 Conditional expressions are composed of other conditional expressions, comparison operators, logical operations, path expressions that evaluate to boolean values and boolean literals and boolean input parameters. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:34746.7 Arithmetic expressions can be used in comparison expressions. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:164346.5 The scalar expressions can be used in conditional expressions true
falsetechnologyactivetrue
PERSISTENCE:SPEC:164446.5 Aggregate functions can only be used in conditional expressions in a HAVING clause. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:34646.5 Standard bracketing () for ordering expression evaluation is supported. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:164546.5 Conditional expressions are defined as follows: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1645.146.5conditional_expression ::= conditional_term | conditional_expression OR conditional_term true
truetechnologyactivetrue
PERSISTENCE:SPEC:1645.246.5conditional_term ::= conditional_factor | conditional_term AND conditional_factor true
truetechnologyactivetrue
PERSISTENCE:SPEC:1645.346.5conditional_factor ::= [ NOT ] conditional_primary true
truetechnologyactivetrue
PERSISTENCE:SPEC:1645.446.5conditional_primary ::= simple_cond_expression | (conditional_expression) true
truetechnologyactivetrue
PERSISTENCE:SPEC:1645.546.5 simple_cond_expression ::= comparison_expression | between_expression | in_expression | like_expression | null_comparison_expression | empty_collection_comparison_expression | collection_member_expression | exists_expression true
truetechnologyactivetrue
PERSISTENCE:SPEC:34846.6 operators are listed below in order of decreasing precedence. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:348.146.6Navigation operator (.)true
falsetechnologyactivetrue
PERSISTENCE:SPEC:348.246.6 Arithmetic operators: +, - unary *, / multiplication and division +, - addition and subtraction true
falsetechnologyactivetrue
PERSISTENCE:SPEC:348.346.6Comparison operators : =, >, >=,<,<=, <>, (not equal), [NOT] BETWEEN, [NOT] LIKE, [NOT] IN, IS [NOT] NULL, IS [NOT] EMPTY, [NOT] MEMBER [OF], [NOT] EXISTS true
falsetechnologyactivetrue
PERSISTENCE:SPEC:348.446.6Logical operators: NOT AND ORtrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:164646.7 The syntax for the use of comparison expressions in a conditional expression is as follows true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1646.146.7 comparison_expression ::= string_expression comparison_operator {string_expression | all_or_any_expression} | boolean_expression { =| <> } {boolean_expression | all_or_any_expression} | enum_expression { =|<>} {enum_expression | all_or_any_expression} | datetime_expression comparison_operator {datetime_expression | all_or_any_expression} | entity_expression { = |<>} {entity_expression | all_or_any_expression} | arithmetic_expression comparison_operator {arithmetic_expression | all_or_any_expression} | entity_type_expression { = |<>} entity_type_expression} true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1646.246.7 comparison_operator ::= = | > | >= | < | <= | <> true
falsetechnologyactivetrue
PERSISTENCE:SPEC:34946.8 The syntax for the use of the comparison operator [NOT] BETWEEN in a conditional expression is as follows: arithmetic_expression [NOT] BETWEEN arithmetic-expr AND arithmetic-expr true
falsetechnologyactivetrue
PERSISTENCE:SPEC:349.146.8 string_expression [NOT] BETWEEN string-expression AND string-expression true
falsetechnologyactivetrue
PERSISTENCE:SPEC:349.246.8 datetime_expression [NOT] BETWEEN datetime-expression AND datetime-expression true
falsetechnologyactivetrue
PERSISTENCE:SPEC:35046.8 The BETWEEN expression x BETWEEN y and z is semantically equivalent to: y less than = x AND x less than = z true
falsetechnologyactivetrue
PERSISTENCE:SPEC:164746.8 The rules for unknown and NULL values in comparison operations apply. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:35246.9 in_expression ::= {state_valued_path_expression | type_discriminator} [NOT] IN { ( in_item {, in_item}* ) | (subquery) | collection_valued_input_parameter } true
falsetechnologyactivetrue
PERSISTENCE:SPEC:164846.9 in_item ::= literal | single_valued_input_parameter true
falsetechnologyactivetrue
PERSISTENCE:SPEC:164946.9 The state_valued_path_expression must have a string, numeric, date, time, timestamp, or enum value. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:352.146.9 The literal and/or input parameter values must be like the same abstract schema type of the state_valued_path_expression in type. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:352.246.9 The results of the subquery must be like the same abstract schema type of the state_valued_path_expression in type. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:35346.9 There must be at least one element in the comma separated list that defines the set of values for the IN expression. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:35446.9 The expression o.country IN ('UK', 'US', 'France') is equivalent to the expression (o.country = 'UK') OR (o.country = 'US') OR (o.country = 'France') true
falsetechnologyactivetrue
PERSISTENCE:SPEC:35146.9 If the value of a state_valued_path_expression or in_item in an IN or NOT IN expression is NULL or unknown, the value of the expression is unknown. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:35846.10 like_expression ::= string_expression [NOT] LIKE pattern_value [ESCAPE escape_character].The string_expression must have a string value. The pattern_value is a string literal or a string-valued input parameter in which an underscore (_) stands for any single character, a percent (%) character stands for any sequence of characters (including the empty sequence), and all other characters stand for themselves. The optional escape_character is a single-character string literal or a character-valued input parameter (i.e., char or Character) and is used to escape the special meaning of the underscore and percent characters in pattern_value. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:35646.10 If the value of the string_expression or pattern_value is NULL or unknown, the value of the LIKE expression is unknown. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:35746.10 If the escape_character is specified and is NULL, the value of the LIKE expression is unknown. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:35946.11 null_comparison_expression ::= {single_valued_path_expression | input_parameter } IS [NOT] NULL. A null comparison expression tests whether or not the single-valued path expression or input parameter is a NULL value. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:165046.11 Null comparisons over instances of embeddable class types are not supported. false
falsetechnologyactivetrue
PERSISTENCE:SPEC:36146.12 empty_collection_comparison_expression ::= collection_valued_path_expression IS [NOT] EMPTY true
falsetechnologyactivetrue
PERSISTENCE:SPEC:36246.12 If the value of the collection-valued path expression in an empty collection comparison expression is unknown, the value of the empty comparison expression is unknown. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:36346.13 collection_member_expression ::= entity_or_value_expression [NOT] MEMBER [OF] collection_valued_path_expression true
falsetechnologyactivetrue
PERSISTENCE:SPEC:363.146.13 entity_or_value_expression ::= single_valued_object_path_expression | state_valued_path_expression | simple_entity_or_value_expression true
falsetechnologyactivetrue
PERSISTENCE:SPEC:363.246.13 simple_entity_or_value_expression ::= identification_variable | input_parameter | literal true
falsetechnologyactivetrue
PERSISTENCE:SPEC:165146.13 Expressions that evaluate to embeddable types are not supported in collection member expressions. false
falsetechnologyactivetrue
PERSISTENCE:SPEC:36546.13 If the collection valued path expression designates an empty collection, the value of the MEMBER OF expression is FALSE and the value of the NOT MEMBER OF expression is TRUE. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:36446.13 if the value of the collection_valued_path_expression or entity_or_value_expression in the collection member expression is NULL or unknown, the value of the collection member expression is unknown. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:79146.14An EXISTS expression is a predicate that is true only if the result of the subquery consists of one or more values and that is false otherwise. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:79246.14exists_expression::= [NOT] EXISTS (subquery) true
falsetechnologyactivetrue
PERSISTENCE:SPEC:79346.15An ALL conditional expression is a predicate over a subquery that is true if the comparison operation is true for all values in the result of the subquery or the result of the subquery is empty. An ALL conditional expression is false if the result of the comparison is false for at least one value of the result of the subquery, and is unknown if neither true nor false. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:79446.15An ANY conditional expression is a predicate over a subquery that is true if the comparison operation is true for some value in the result of the subquery. An ANY conditional expression is false if the result of the subquery is empty or if the comparison operation is false for every value in the result of the subquery, and is unknown if neither true nor false. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:79546.15The keyword SOME is synonymous with ANY.true
falsetechnologyactivetrue
PERSISTENCE:SPEC:79746.15The comparison operators used with ALL or ANY conditional expressions are =, <, <=, >, > =, < >. The result of the subquery must be like that of the other argument to the comparison operator in type. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:79846.15all_or_any_expression ::= {ALL | ANY | SOME} (subquery) true
falsetechnologyactivetrue
PERSISTENCE:SPEC:79946.16Subqueries may be used in the WHERE or HAVING clause. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:80046.16The syntax for subqueries is as follows.true
falsetechnologyactivetrue
PERSISTENCE:SPEC:80146.16subquery ::= simple_select_clause subquery_from_clause [where_clause] [groupby_clause] [having_clause] true
falsetechnologyactivetrue
PERSISTENCE:SPEC:80246.16simple_select_clause ::= SELECT [DISTINCT] simple_select_expression true
falsetechnologyactivetrue
PERSISTENCE:SPEC:800.146.16 subquery_from_clause ::= FROM subselect_identification_variable_declaration {,subselect_identification_variable_declaration | collection_member_declaration }* true
truetechnologyactivetrue
PERSISTENCE:SPEC:800.246.16 subselect_identification_variable_declaration ::= identification_variable_declaration | derived_path_expression [AS] identification_variable {join}* | derived_collection_member_declaration true
truetechnologyactivetrue
PERSISTENCE:SPEC:800.346.16 simple_select_expression::= single_valued_path_expression | scalar_expression | aggregate_expression | identification_variable true
truetechnologyactivetrue
PERSISTENCE:SPEC:800.446.16 derived_path_expression ::= general_derived_path.single_valued_object_field | general_derived_path.collection_valued_field true
truetechnologyactivetrue
PERSISTENCE:SPEC:800.546.16 general_derived_path ::= simple_derived_path | treated_derived_path{.single_valued_object_field}* true
truetechnologyactivetrue
PERSISTENCE:SPEC:800.646.16 simple_derived_path ::= superquery_identification_variable{.single_valued_object_field}* true
truetechnologyactivetrue
PERSISTENCE:SPEC:800.746.16treated_derived_path ::= TREAT(general_derived_path AS subtype) true
truetechnologyactivetrue
PERSISTENCE:SPEC:800.846.16 derived_collection_member_declaration ::= IN superquery_identification_variable.{single_valued_object_field.}*collection_valued_field true
truetechnologyactivetrue
PERSISTENCE:SPEC:251246.17 scalar_expression::= arithmetic_expression | string_expression | enum_expression | datetime_expression | boolean_expression | case_expression | entity_type_expression true
falsetechnologyactivetrue
PERSISTENCE:SPEC:165246.17.1 +, - unary *, / multiplication and division +, - addition and subtraction true
falsetechnologyactivetrue
PERSISTENCE:SPEC:34446.17.1Arithmetic operations use numeric promotion. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:165346.17.2 The Java Persistence query language includes the built-in functions which may be used in the SELECT, WHERE or HAVING clause of a query. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:36746.17.2 If the value of any argument to a functional expression is NULL or UNKNOWN, the value of the functional expression is UNKNOWN. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:36946.17.2.1String Functionstrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:369.146.17.2.1 functions_returning_strings ::= CONCAT(string_expression, string_expression {, string_expression}* ). The CONCAT function returns a string that is a concatenation of its arguments. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:369.246.17.2.1 SUBSTRING(string_expression, arithmetic_expression [, arithmetic_expression]). The second and third arguments of the SUBSTRING function denote the starting position and length of the substring to be returned. These arguments are integers. The third argument is optional. If it is not specified, the substring from the start position to the end of the string is returned. The first position of a string is denoted by 1. The SUBSTRING function returns a string. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:369.946.17.2.1trim_specification ::= LEADING | TRAILING | BOTH. The TRIM function trims the specified character from a string. If the character to be trimmed is not specified, it will be assumed to be space (or blank). The optional trim_character is a single-character string literal or a character-valued input parameter (i.e., char or Character). If a trim specification is not provided, it defaults to BOTH. The TRIM function returns the trimmed string. Note that not all databases support the use of a trim character other than the space character; true
falsetechnologyactivetrue
PERSISTENCE:SPEC:369.1046.17.2.1 LOWER(string_expression). The LOWER function converts a string to upper case. LOWER returns a string. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:369.1146.17.2.1 UPPER (string_expression). The UPPER function converts a string to upper case. UPPER returns a string. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:369.446.17.2.1LENGTH(string_expression). The LENGTH function returns the length of the string in characters as an integer. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:369.346.17.2.1 LOCATE(string_expression, string_expression[, arithmetic_expression]). The LOCATE function returns the position of a given string within a string, starting the search at a specified position. It returns the first position at which the string was found as an integer. The first argument is the string to be located; the second argument is the string to be searched; the optional third argument is an integer that represents the string position at which the search is started (by default, the beginning of the string to be searched). The first position in a string is denoted by 1. If the string is not found, 0 is returned. Note that not all databases support the use of the third argument to LOCATE true
falsetechnologyactivetrue
PERSISTENCE:SPEC:36846.17.2.2 Numeric arguments to these functions may correspond to the numeric Java object types as well as the primitive numeric types. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:369.546.17.2.2 ABS(arithmetic_expression). The ABS function takes a numeric argument and returns a number (integer, float, double) of the same type as the argument to the function. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:369.646.17.2.2 SQRT(arithmetic_expression). The SQRT function takes a numeric argument and returns a double. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:369.746.17.2.2 MOD(arithmetic_expression, arithmetic_expression). The MOD function takes two integer arguments and returns an integer. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:369.846.17.2.2 SIZE(collection_valued_path_expression). The SIZE function returns an integer value, the number of elements of the collection. If the collection is empty, the SIZE function evaluates to zero. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:165446.17.2.2 INDEX(identification_variable). The INDEX function returns an integer value corresponding to the position of its argument in an ordered list. The INDEX function can only be applied to identification variables denoting types for which an order column has been specified. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:165546.17.2.3 functions_returning_datetime:= CURRENT_DATE | CURRENT_TIME | CURRENT_TIMESTAMP. The datetime functions return the value of current date, time, and timestamp on the database server. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:165646.17.3 The invocation of functions other than the built-in functions of the Java Persistence query language is supported by means of the function_invocation syntax. This includes the invocation of predefined database functions and user-defined database functions. true
truetechnologyactivefalse
PERSISTENCE:SPEC:1656.146.17.3 function_invocation::= FUNCTION(function_name {, function_arg}*) function_arg ::= literal | state_valued_path_expression | input_parameter | scalar_expression true
truetechnologyactivefalse
PERSISTENCE:SPEC:1656.246.17.3 The function_name argument is a string that denotes the database function that is to be invoked. The arguments must be suitable for the database function that is to be invoked. The result of the function must be suitable for the invocation context. true
truetechnologyactivefalse
PERSISTENCE:SPEC:1656.346.17.3 The function may be a database-defined function or a user-defined function. The function may be a scalar function or an aggregate function. true
truetechnologyactivefalse
PERSISTENCE:SPEC:165746.17.4 The following forms of case expressions are supported: general case expressions, simple case expressions, coalesce expressions, and nullif expressions. Note that not all databases support the use of SQL case expressions. true
truetechnologyactivefalse
PERSISTENCE:SPEC:1657.146.17.4 general_case_expression::= CASE when_clause {when_clause}* ELSE scalar_expression END when_clause::= WHEN conditional_expression THEN scalar_expression true
truetechnologyactivefalse
PERSISTENCE:SPEC:1657.246.17.4 simple_case_expression::= CASE case_operand simple_when_clause {simple_when_clause}* ELSE scalar_expression END case_operand::= state_valued_path_expression | type_discriminator simple_when_clause::= WHEN scalar_expression THEN scalar_expression true
truetechnologyactivefalse
PERSISTENCE:SPEC:1657.346.17.4 coalesce_expression::= COALESCE(scalar_expression {, scalar_expression}+) true
truetechnologyactivefalse
PERSISTENCE:SPEC:1657.446.17.4 nullif_expression::= NULLIF(scalar_expression, scalar_expression) true
truetechnologyactivefalse
PERSISTENCE:SPEC:165846.17.5 An entity type expression can be used to restrict query polymorphism. The TYPE operator returns the exact type of the argument. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:165946.17.5The syntax of an entity type expression is as follows: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1659.146.17.5type_discriminator. TYPE(general_identification_variable | single_valued_object_path_expression | input_parameter ) true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1659.246.17.5entity_type_literal. An entity_type_literal is designated by the entity name. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1659.346.17.5input_parametertrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:80347The GROUP BY construct enables the aggregation of values according to a set of properties. The HAVING construct enables conditions to be specified that further restrict the query result. Such conditions are restrictions upon the groups. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:80447The syntax of the GROUP BY and HAVING clauses is as follows: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:80547groupby_clause ::= GROUP BY groupby_item[,groupby_item]* true
falsetechnologyactivetrue
PERSISTENCE:SPEC:80647groupby_item ::= single_valued_path_expression | identification_variable true
falsetechnologyactivetrue
PERSISTENCE:SPEC:80747having_clause ::= HAVING conditional_expression true
falsetechnologyactivetrue
PERSISTENCE:SPEC:80847If the query contains both a WHERE clause and a GROUP BY clause, the effect is that of first applying the where clause, and then forming the groups and filtering them to the HAVING clause. The HAVING clause causes those groups to be retained that satisfy the condition of the HAVING clause. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:81047The requirements for the SELECT clause when GROUP BY is used follow those of SQL; namely, any property that appears in the SELECT clause (other than as an argument to an aggregate function) must also appear in the GROUP BY clause. In forming groups. null values are treated as the same for grouping purposes. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:166047 Grouping by an entity is permitted. In this case, the entity must contain no serialized state fields or lob-valued state fields that are eagerly fetched. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:166147 Grouping by an entity that contains serialized state fields or lob-valued state fields is not portable, since the implementation is permitted to eagerly fetch fields or properties that have been specified as LAZY. true
truetechnologyactivefalse
PERSISTENCE:SPEC:166247Grouping by embeddables is not supported.true
truetechnologyactivefalse
PERSISTENCE:SPEC:166347 The HAVING clause is used to filter over the groups, and can contain aggregate functions over attributes included in the groups and/or functions or other query language operators over the attributes that are used for grouping. It is not required that an aggregate function used in the HAVING clause also be used in the SELECT clause. true
truetechnologyactivefalse
PERSISTENCE:SPEC:80947If there is no GROUP BY clause and the HAVING clause is used, the result is treated as a single group, and the select list can only consist of aggregate functions. The use of HAVING in the absence of GROUP BY is not required to be supported by an implementation of this specification. Portable applications should not rely on HAVING without the use of GROUP BY true
truetechnologyactivefalse
PERSISTENCE:SPEC:81148The SELECT clause denotes the query result. More than one value may be returned from the SELECT clause of a query. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:37248 The SELECT clause may contain one or more of the following elements: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:372.248 identification variable that ranges over an entity abstract schema type true
falsetechnologyactivetrue
PERSISTENCE:SPEC:372.348a single-valued path expressiontrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:372.448an aggregate expressiontrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:372.548a constructor expressiontrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:81448The SELECT clause has the following syntax: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:81548select_clause ::= SELECT [DISTINCT] select_item {, select_item}* true
falsetechnologyactivetrue
PERSISTENCE:SPEC:81648select_expression ::= {single_valued_path_expression | scalar_expression | aggregate_select_expression | identification_variable | OBJECT(identification variable) | constructor_expression true
falsetechnologyactivetrue
PERSISTENCE:SPEC:81748constructor_expression ::= NEW constructor_name(constructor_item {,single_valued_path_expression | scalar_expression | aggregate_expression | identification_variable}*) true
falsetechnologyactivetrue
PERSISTENCE:SPEC:814.148constructor_item ::= single_valued_path_expression | scalar_expression | aggregate_expression | identification_variable true
falsetechnologyactivetrue
PERSISTENCE:SPEC:81848aggregate_expression ::= {AVG | MAX | MIN | SUM}([DISTINCT] state_valued_path_expression) | COUNT ([DISTINCT] identification_variable | state_valued_path_expression | single_valued_object_path_expression) true
falsetechnologyactivetrue
PERSISTENCE:SPEC:37448The DISTINCT keyword is used to specify that duplicate values must be eliminated from the query result. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:166448If DISTINCT is not specified, duplicate values are not eliminated. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:166548The result of DISTINCT over embeddable objects or map entry results is undefined. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:37348 Standalone identification variables in the SELECT clause may optionally be qualified by the OBJECT operator. Note that the keyword OBJECT is not required. It is preferred that it be omitted for new queries. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:166648A result_variable may be used to name a select_item in the query result true
falsetechnologyactivetrue
PERSISTENCE:SPEC:166748 The SELECT clause must not use the OBJECT operator to qualify path expressions. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:40648.1 The type of the query result specified by the SELECT clause of a query is an entity abstract schema type, a state field type, the result of a scalar expression, the result of an aggregate function, the result of a construction operation, or some sequence of these. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:40848.1 The result type of the SELECT clause is defined by the the result types of the select expressions contained in it. When multiple select expressions are used in the SELECT clause, the elements in this result correspond in order to the order of their specification in the SELECT clause and in type to the result types of each of the select expressions. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:166848.1The type of the result of a select_expression is as follows: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:39448.1 The result type of an identification_variable is the type of the entity object or embeddable object to which the identification variable corresponds. The type of an identification_variable that refers to an entity abstract schema type is the type of the entity to which that identification variable corresponds or a subtype as determined by the object/relational mapping. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:40948.1The result type of a single_valued_path_expression that is a state_field_path_expression is the same type as the corresponding state field of the entity or embeddable class. If the state field of the entity is a primitive type, the result type is the corresponding object type. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:41048.1 The result type is a single_valued_path_expression that is a single_valued_object_path_expression is the type of the entity object or embeddable object to which the path expression corresponds. A single_valued_object_path_expression that results in an entity object will result in an entity of the type of the relationship field or the subtype of the relationship field of the entity object as determined by the object/relational mapping. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1668.148.1 The result type of a single_valued_path_expression that is an identification_variable to which the KEY or VALUE function has been applied is determined by the type of the map key or value respectively, as defined by the above rules. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1668.248.1 The result type of a single_valued_path_expression that is an identification_variable to which the ENTRY function has been applied is java.util.Map.Entry, where the key and value types of the map entry are determined by the above rules as applied to the map key and map value respectively. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1668.348.1 The result type of a scalar_expression is the type of the scalar value to which the expression evaluates. The result type of a numeric scalar_expression is defined in section 4.8.6. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1668.448.1 The result type of an entity_type_expression scalar expression is the Java class to which the resulting abstract schema type corresponds. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1668.548.1 The result type of aggregate_expression is defined in section 4.8.5. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:39548.1 The result type of a constructor_expression is the type of the class for which the constructor is defined. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:81948.2A constructor may be used in the SELECT list to return an instance of a Java class. The specified class is not required to be an entity or to be mapped to the database. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:166948.2The constructor name must be fully qualified. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:82048.2If an entity class name is specified as the constructor name in the SELECT NEW clause, the resulting entity instances will be in either the new or the detached state, depending on whether a primary key is retrieved for the constructed object. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:167048.2 If a single_valued_path_expression or identification_variable that is an argument to the constructor references an entity, the resulting entity instance referenced by that single_valued_path_expression or identification_variable will be in the managed state. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:37548.3 If the result of an query corresponds to an association field or state field whose value is null, that null value is returned in the result of the query method. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:37648.3 The IS NOT NULL construct can be used to eliminate the null from the result set of the query. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:37948.3 Note, however, that state field types in terms of Java numeric primitive types cannot produce NULL values in the query results. An query that returns such a state field type as a result type must not return a null value. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:167148.4 If the result of a query corresponds to an identification variable or state field whose value is an embeddable, the embeddable instance returned by the query will not be in the managed state (i.e., it will not be part of the state of any managed entity). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:167248.5 The following aggregate functions can be used in the SELECT clause of a query: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:38048.5AVGtrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:38448.5COUNTtrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:38248.5MAXtrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:38148.5MINtrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:38348.5SUMtrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:1672.148.5aggregate functions defined in the database. The invocation of aggregate database functions, including user defined functions, is supported by means of the FUNCTION operator true
truetechnologyactivefalse
PERSISTENCE:SPEC:167348.5 For all aggregate functions except COUNT, the path expression that is the argument to the aggregate function must terminate in a state field. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:38948.5 The path expression argument to COUNT may terminate in a state field. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:39048.5 The path expression argument to COUNT may terminate in a association field. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:39148.5 The argument to COUNT may be an identification variable. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:82148.5Arguments to the functions SUM and AVG must be numeric. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:82248.5Arguments to the functions MAX and MIN must correspond to orderable state field types (i.e., numeric types, string types, character types, or date type). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:82348.5The Java type that is contained in the result of a query using an aggregate function is as follows: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:82448.5COUNT returns longtrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:82548.5MAX, MIN return the type of the state field to which they are applied true
falsetechnologyactivetrue
PERSISTENCE:SPEC:82648.5AVG returns Doubletrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:82748.5SUM returns Long when applied to state fields of integral types (other than BigInteger); Double when applied to state fields of floating-point types; BigInteger when applied to state fields of type BigInteger, and BigDecimal when applied to state fields of type BigDecimal. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:39348.5 Null values are eliminated before the aggregate function is applied regardless whether the keyword DISTINCT is specified. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:82848.5If SUM, AVG, MAX, or MIN is used, and there are no values to which the aggreate function can be applied, the result of the aggregate function is NULL. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:82948.5If COUNT is used, and there are no values to which COUNT can be applied, the result of the aggregate function is 0. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:39248.5 The argument to an aggregate function may be preceded by the keyword DISTINCT to specify that duplicate values are to be eliminated before the aggregate function is applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:167448.5 It is legal to specify DISTINCT with MAX or MIN, but it does not affect the result. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:167548.5 The use of DISTINCT with COUNT is not supported for arguments of embeddable types or map entry types. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:167648.6 An operand that corresponds to a persistent state field is of the same type as that persistent state field. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:167748.6 The result of a case expression, coalesce expression, nullif expression, or arithmetic expression (+, -,*,/) is determined by applying the following rule to its operands. In the case of a general or simple case expression, these are the scalar expressions of the THEN and ELSE clauses. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1677.148.6If there is an operand of type Double or double, the result of the operation is of type Double; true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1677.248.6otherwise, if there is an operand of type Float or float, the result of the operation is of type Float; true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1677.348.6otherwise, if there is an operand of type BigDecimal, the result of the operation is of type BigDecimal; true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1677.448.6otherwise, if there is an operand of type BigInteger, the result of the operation is of type BigInteger, unless the operator is / (division), in which case the numeric result type is not further defined; true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1677.548.6otherwise, if there is an operand of type Long or long, the result of the operation is of type Long, unless the operator is / (division), in which case the numeric result type is not further defined; true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1677.648.6otherwise, if there is an operand of integral type, the result of the operation is of type Integer, unless the operator is / (division), in which case the numeric result type is not further defined. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:167848.6 Users should note that the semantics of the SQL division operation are not standard across databases. In particular, when both operands are of integral types, the result of the division operation will be an integral type in some databases, and an non-integral type in others. Portable applications should not assume a particular result type. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:167949 orderby_clause ::= ORDER BY orderby_item {, orderby_item}* orderby_item ::= { state_field_path_expression | general_identification_variable | result_variable } true
falsetechnologyactivetrue
PERSISTENCE:SPEC:39949 An orderby_item MUST be one of the following true
falsetechnologyactivetrue
PERSISTENCE:SPEC:399.149 A state_field_path_expression that evaluates to an orderable state field of an entity or embeddable class abstract schema type designated in the SELECT clause true
falsetechnologyactivetrue
PERSISTENCE:SPEC:399.449a general_identification_variabletrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:399.549a single_valued_object_path_expression true
falsetechnologyactivetrue
PERSISTENCE:SPEC:399.349 A state_field_path_expression that evaluates to the same state field of the same entity or embeddable abstract schema type as a state_field_path_expression in the SELECT clause true
falsetechnologyactivetrue
PERSISTENCE:SPEC:399.649 A general_identification_variable that evaluates to the same map field of the same entity or embeddable abstract schema type as a general_identification_variable in the SELECT clause true
falsetechnologyactivetrue
PERSISTENCE:SPEC:399.749 A result_variable that refers to an orderable item in the SELECT clause for which the same result_variable has been specified. This may be the result of an aggregate_expression, a scalar_expression, or a state_field_path_expression in the SELECT clause. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:40049 If more than one orderby_item is specified, the left-to-right sequence of the orderby_item elements determines the precedence, whereby the leftmost orderby_item has the highest precedence. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:40149 The keyword ASC specifies that ascending order is used. Ascending ordering is the default. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:40249 The keyword DESC specified that descending order is used. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:40349 SQL rules for ordering of NULLS apply: that is, all null values must appear before all non-null values in the ordering or all null values must appear after all non-null values in the ordering, but it is not specified which. true
truetechnologyactivetrue
PERSISTENCE:SPEC:40449 The ordering of the query result is preserved in the result of the query method if the ORDER BY clause is used. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:834410Bulk update and delete operations apply to entities of a single entity class (together with its subclasses, if any). Only one entity abstract schema type may be specified in the FROM or UPDATE clause. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:836410The syntax of these operations are as follows: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:837410update_statement ::=update_clause[where_clause] true
falsetechnologyactivetrue
PERSISTENCE:SPEC:838410update_clause ::=UPDATE entity_name [[AS] identification_variable] SET update_item {, update_item}* true
falsetechnologyactivetrue
PERSISTENCE:SPEC:839410update_item ::=[identification_variable.]{single_valued_embeddable_object_field.}* {state_field | single_valued_object_field} = new_value true
falsetechnologyactivetrue
PERSISTENCE:SPEC:836.1410new_value ::= scalar_expression | simple_entity_expression | NULL true
falsetechnologyactivetrue
PERSISTENCE:SPEC:840410delete_statement ::=delete_clause [where_clause] true
falsetechnologyactivetrue
PERSISTENCE:SPEC:841410delete_clause ::= DELETE FROM entity_name [[AS] identification_variable] true
falsetechnologyactivetrue
PERSISTENCE:SPEC:835410A delete operation only applies to entities of the specified class and its subclasses. It does not cascade to related entities. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1680410 The new_value specified for an update operation must be compatible in type with the field to which it is assigned. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1681410 Bulk update maps directly to a database update operation, bypassing optimistic locking checks. Portable applications must manually update the value of the version column, if desired, and/or manually validate the value of the version column. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1682410 The persistence context is not synchronized with the result of the bulk update or delete. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:416411 Comparison operations with a NULL value always yield an UNKNOWN value. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:415411 Two NULL values are not considered to be equal, the comparison yield an UNKNOWN value. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:417411 Comparison operations with an UNKNOWN value always yield an UNKNOWN value. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:418411 Arithmetic operators with a NULL value always yield an UNKNOWN value. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:419411 Arithmetic operators with an UNKNOWN value always yield an UNKNOWN value. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:1683411 The IS NULL operators convert a NULL state field into the respective TRUE or FALSE value. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1684411 The IS NULL operators convert a NULL single-valued object field into the respective TRUE or FALSE true
falsetechnologyactivetrue
PERSISTENCE:SPEC:422411 The IS NOT NULL operators convert a NULL state field into the respective TRUE or FALSE value. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:423411 The IS NOT NULL operators convert a NULL single-valued object field into the respective TRUE or FALSE value. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:424411 Boolean operators use three valued logic: Table 1: Definition of the AND Operator true
falsetechnologyactivetrue
PERSISTENCE:SPEC:425411 Boolean operators use three valued logic: Table 2: Definition of the OR Operator true
falsetechnologyactivetrue
PERSISTENCE:SPEC:426411 Boolean operators use three valued logic: Table 3: Definition of the NOT Operator true
falsetechnologyactivetrue
PERSISTENCE:SPEC:430412 Only the values of like types are permitted to be compared. A type is like another type if they correspond to the same Java language type, or if one is a primitive Java language type and the other is the wrappered Java class type equivalent (e.g., int and Integer are like types in this sense). There is one exception to this rule: it is valid to compare numeric values for which the rules of numeric promotion apply. Conditional expressions attempting to compare non-like type values are disallowed except for this numeric case. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1685412 Note that the arithmetic operators and comparison operators are permitted to be applied to state fields and input parameters of the wrappered Java class equivalents to the primitive numeric Java types. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:427412 Two entities of the same abstract schema type are equal if and only if they have the same primary key value. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:428412 Only equality/inequality comparisons over enums are required to be supported. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:168662.1.1 For each managed class X in package p, a metamodel class X_ in package p is created. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:168762.1.1 The name of the metamodel class is derived from the name of the managed class by appending "_" to the name of the managed class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:168862.1.1 The metamodel class X_ must be annotated with the jakarta.persistence.StaticMetamodel annotation. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:168962.1.1 If the class was generated, the jakarta.annotation.Generated annotation should be used to annotate the class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:169062.1.1 If class X extends another class S, where S is the most derived managed class (i.e., entity or mapped superclass) extended by X, then class X_ must extend class S_, where S_ is the metamodel class created for S. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:169162.1.1 For every persistent non-collection-valued attribute y declared by class X, where the type of y is Y, the metamodel class must contain a declaration as follows: public static volatile SingularAttribute<X, Y> y; true
falsetechnologyactivetrue
PERSISTENCE:SPEC:169262.1.1 For every persistent collection-valued attribute z declared by class X, where the element type of z is Z, the metamodel class must contain a declaration as follows: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1692.162.1.1 if the collection type of z is java.util.Collection, then public static volatile CollectionAttribute<X, Z> z; true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1692.262.1.1 if the collection type of z is java.util.Set, then public static volatile SetAttribute<X, Z> z; true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1692.362.1.1 if the collection type of z is java.util.List, then public static volatile ListAttribute<X, Z> z; true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1692.462.1.1 if the collection type of z is java.util.Map, then public static volatile MapAttribute<X, K, Z> z; where K is the type of the key of the map in class X true
falsetechnologyactivetrue
PERSISTENCE:SPEC:169362.1.1 Import statements must be included for the needed jakarta.persistence.metamodel types as appropriate true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1693.162.1.1 jakarta.persistence.metamodel.SingularAttribute true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1693.262.1.1 jakarta.persistence.metamodel.CollectionAttribute true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1693.362.1.1 jakarta.persistence.metamodel.SetAttribute true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1693.462.1.1 jakarta.persistence.metamodel.ListAttribute true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1693.562.1.1 jakarta.persistence.metamodel.MapAttribute true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1693.662.1.1 all classes X, Y, Z, and K. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:169462.1.1 Implementations of this specification are not required to support the use of non-canonical metamodel classes. Applications that use non-canonical metamodel classes will not be portable. false
truetechnologyactivefalse
PERSISTENCE:SPEC:169562.2 When the entity manager factory for a persistence unit is created, it is the responsibility of the persistence provider to initialize the state of the metamodel classes of the persistence unit. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:169662.2Persistence providers must support the use of canonical metamodel classes. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:169762.2Persistence providers may, but are not required to, support the use of non-canonical metamodel classes. false
truetechnologyactivefalse
PERSISTENCE:SPEC:169864Strings may be used as an alternative to metamodel objects, whereby joins and navigation are specified by use of strings that correspond to attribute names. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:170065 A criteria query is constructed through the creation and modification of a jakarta.persistence. criteria.CriteriaQuery object. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:170165 The CriteriaBuilder interface is used to construct CriteriaQuery, CriteriaUpdate, and CriteriaDelete objects. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:170265 The CriteriaBuilder implementation is accessed through the getCriteriaBuilder method of the EntityManager or EntityManagerFactory interface. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:170365.1 A CriteriaQuery object is created by means of one of the createQuery methods or the createTupleQuery method of the CriteriaBuilder interface. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:170465.1 A CriteriaQuery object is typed according to its expected result type when the CriteriaQuery object is created. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:170565.1 A TypedQuery instance created from the CriteriaQuery object by means of the EntityManager createQuery method will result in instances of this type when the resulting query is executed. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:170665.1 The effect of the createTupleQuery method is semantically equivalent to invoking the createQuery method with the Tuple.class argument. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:170765.1 The CriteriaQuery <Object> createQuery() method supports both the case where the select or multiselect method specifies only a single selection item and where the multiselect method specifies multiple selection items. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:170865.1 If only a single item is specified, an instance of type Object will be returned for each result of the query execution. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:170965.1 If multiple selection items are specified, an instance of type Object[] will be instantiated and returned for each result of the execution true
falsetechnologyactivetrue
PERSISTENCE:SPEC:171165.2 A CriteriaQuery object may have more than one root. The addition of a query root has the semantic effect of creating a cartesian product between the entity type referenced by the added root and those of the other roots. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:171265.3 Joins can be chained, true
falsetechnologyactivetrue
PERSISTENCE:SPEC:171365.3By default, the join method defines an inner join. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:171465.3Outer joins are defined by specifying a JoinType argument. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:171565.3Only left outer joins and left outer fetch joins are required to be supported true
falsetechnologyactivetrue
PERSISTENCE:SPEC:171665.3 Applications that make use of right outer joins or right outer fetch joins will not be portable. false
falsetechnologyactivefalse
PERSISTENCE:SPEC:171765.3On-conditions can be specified for joins.true
falsetechnologyactivetrue
PERSISTENCE:SPEC:171865.4 An association or attribute referenced by the fetch method must be referenced from an entity or embeddable that is returned as the result of the query. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:172065.4 The fetch method must not be used in a subquery. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:172165.4 Multiple levels of fetch joins are not required to be supported by an implementation of this specification. false
falsetechnologyactivefalse
PERSISTENCE:SPEC:172265.5A Path instance can betrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:1722.165.5a Root instancetrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:1722.265.5a Join instancetrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:1722.365.5a Path instance that has been derived from another Path instance by means of the get navigation method true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1722.465.5a Path instance derived from a map-valued association by use of the key or value method true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1722.565.5a Path instance derived from a element collection by use of the key or value method. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:172365.5 if the value of a non-terminal Path instance is null, the path is considered to have no value, and does not participate in the determination of the query result. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:172465.5 The get method is used for path navigation. The argument to the get method is specified by the corresponding SingularAttribute or collection-valued attribute (CollectionAttribute, SetAttribute, ListAttribute, or MapAttribute) of the corresponding metamodel class. Attribute names serve this role for string-based queries. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:172565.6 The result of a query can be restricted by specifying one or more predicate conditions. Restriction predicates are applied to the CriteriaQuery object by means of the where method. Invocation of the where method results in the modification of the CriteriaQuery object with the specified restriction( s). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:172665.6 The argument to the where method can be either an Expression <Boolean> instance or zero or more Predicate instances. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:172765.6A predicate can be either simple or compound. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:172865.6 A simple predicate is created by invoking true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1728.165.6one of the conditional methods of the CriteriaBuilder interface true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1728.265.6isNull method of the Expression interface true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1728.365.6isNotNull method of the Expression interface true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1728.465.6in method of the Expression interface true
falsetechnologyactivetrue
PERSISTENCE:SPEC:172965.6 Compound predicates are constructed by means of the and, or, and not methods of the CriteriaBuilder interface. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:173065.6The restrictions upon the types to which conditional operations are permitted to be applied are the same as the respective operators of the Java Persistence query language as described in subsections 4.6.7 through 4.6.17. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:173165.6The same null value semantics as described in section 4.11 true
falsetechnologyactivetrue
PERSISTENCE:SPEC:173265.6the subsections of section 4.6 applytrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:173365.6The equality and comparison semantics described in section 4.12 true
falsetechnologyactivetrue
PERSISTENCE:SPEC:173465.7 Downcasting by means of the treat method is supported true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1734.165.7in joinstrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:1734.265.7in the construction of where conditions true
falsetechnologyactivetrue
PERSISTENCE:SPEC:173565.8An Expression or one of its subtypes can be used in the construction of the query’s true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1735.165.8select listtrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:1735.265.8in the construction of where method conditions true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1735.365.8in the construction of having method conditions true
falsetechnologyactivetrue
PERSISTENCE:SPEC:173665.8Path predicates are expressions.true
falsetechnologyactivetrue
PERSISTENCE:SPEC:173765.8boolean predicates are expressions.true
falsetechnologyactivetrue
PERSISTENCE:SPEC:173865.8The type method can only be applied to a path expression. Its result denotes the type navigated to by the path. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:173965.8The index method can be applied to a ListJoin object that corresponds to a list for which an order column has been specified. Its result denotes the position of the item in the list. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:174065.8The aggregation methods avg, max, min, sum, count can only be used in the construction of the select list true
falsetechnologyactivetrue
PERSISTENCE:SPEC:174165.8The aggregation methods avg, max, min, sum, count can only be used in having method conditions. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:174265.8 The size method can be applied to a path expression that corresponds to an association collection. Its result denotes the number of elements in the association collection. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:174465.8Both simple and general case expressions are supported. true
truetechnologyactivefalse
PERSISTENCE:SPEC:174565.8.1 For non-numerical operands, the implementation must return the most specific common superclass of the types of the operands used to form the result. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:174665.8.1 In the case of the two-argument sum, prod, diff, quot, coalesce, and nullif methods, and the In, Case, SimpleCase, and Coalesce builder methods, the runtime result types will differ from the Expression type when the latter is Number. The following rules must be observed by the implementation when materializing the results of numeric expressions involving these methods. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1746.165.8.1If there is an operand of type Double, the result of the operation is of type Double; true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1746.265.8.1otherwise, if there is an operand of type Float, the result of the operation is of type Float; true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1746.365.8.1otherwise, if there is an operand of type BigDecimal, the result of the operation is of type BigDecimal; true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1746.465.8.1otherwise, if there is an operand of type BigInteger, the result of the operation is of type BigInteger, unless the method is quot, in which case the numeric result type is not further defined; true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1746.565.8.1otherwise, if there is an operand of type Long, the result of the operation is of type Long, unless the method is quot, in which case the numeric result type is not further defined; true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1746.665.8.1otherwise, if there is an operand of integral type, the result of the operation is of type Integer, unless the method is quot, in which case the numeric result type is not further defined. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:174765.8.1 In particular, when both operands are of integral types, the result of the division operation will be an integral type in some databases, and an non-integral type in others. Portable applications should not assume a particular result type. true
truetechnologyactivefalse
PERSISTENCE:SPEC:174865.9 An Expression literal instance is obtained by passing a value to the literal method of the CriteriaBuilder interface. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:174965.9 An Expression instance representing a null is created by the nullLiteral method of the CriteriaBuilder interface. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:175065.10 A ParameterExpression instance is an expression that corresponds to a parameter whose value will be supplied before the query is executed. Parameter expressions can only be used in the construction of conditional predicates. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:175165.11 The select list of a query is specified by use of the select or multiselect methods of the CriteriaQuery interface. The arguments to the select and multiselect methods are Selection instances. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:175265.11 The select method takes a single Selection argument, which can be either an Expression instance or a CompoundSelection instance. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:175365.11 The type of the Selection item must be assignable to the defined CriteriaQuery result type, true
falsetechnologyactivetrue
PERSISTENCE:SPEC:175465.11 The construct, tuple and array methods of the CriteriaBuilder interface are used to aggregate multiple selection items into a CompoundSelection instance. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:175565.11 The multiselect method also supports the specification and aggregation of multiple selection items. When the multiselect method is used, the aggregation of the selection items is determined by the result type of the CriteriaQuery object true
falsetechnologyactivetrue
PERSISTENCE:SPEC:175665.11 A Selection instance passed to the construct method can be one of the following: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1756.165.11An Expression instance.true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1756.265.11A Selection instance obtained as the result of the invocation of the CriteriaBuilder construct method. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:175765.11 A Selection instance passed to the tuple method can be one of the following: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1757.165.11An Expression instance.true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1757.265.11A Selection instance obtained as the result of the invocation of the CriteriaBuilder construct method. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:175865.11 A Selection instance passed to the array method can be one of the following: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1758.165.11An Expression instance.true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1758.265.11A Selection instance obtained as the result of the invocation of the CriteriaBuilder construct method. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:175965.11 A Selection instance passed to the multiselect method can be one of the following: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1759.165.11An Expression instance.true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1759.265.11A Selection instance obtained as the result of the invocation of the CriteriaBuilder construct method. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:176065.11The distinct method of the CriteriaQuery interface is used to specify that duplicate values must be eliminated from the query result. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:176165.11If the distinct method is not used or distinct( false) is invoked on the criteria query object, duplicate values are not eliminated. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:176265.11 When distinct(true) is used, and the select items include embeddable objects or map entry results, the elimination of duplicates is undefined. true
truetechnologyactivefalse
PERSISTENCE:SPEC:176365.11.1 The alias method of the Selection interface can be used to assign an alias to a selection item. The alias may then later be used to extract the corresponding item from the query result when the query is executed. The alias method assigns the given alias to the Selection item. Once assigned, the alias cannot be changed. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:176465.12Both correlated and non-correlated subqueries can be used in restriction predicates. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:176565.12A subquery is constructed through the creation and modification of a Subquery object. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:176665.12A Subquery instance can be passed as an argument to the true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1766.165.12alltrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:1766.265.12anytrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:1766.365.12sometrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:176765.12A Subquery instance can be passed to the CriteriaBuilder exists method to create a conditional predicate. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:176965.12 Note that joins involving the derived subquery root do not affect the join conditions of the containing query. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:177065.13 The groupBy method of the CriteriaQuery interface is used to define a partitioning of the query results into groups. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:177165.13 The having method of the CriteriaQuery interface can be used to filter over the groups. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:177265.13The arguments to the groupBy method are Expression instances. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:177365.13 When the groupBy method is used, each selection item that is not the result of applying an aggregate method must correspond to a path expression that is used for defining the grouping. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:177465.14 An Order instance is created by means of the asc and desc methods of the CriteriaBuilder interface. An argument to either of these methods must be one of the following: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1774.165.14 Any Expression instance that corresponds to an orderable state field of an entity or embeddable class abstract schema type that is specified as an argument to the select or multiselect method or that is an argument to a tuple or array constructor that is passed as an argument to the select method. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1774.265.14 Any Expression instance that corresponds to the same state field of the same entity or embeddable abstract schema type as an Expression instance that is specified as an argument to the select or multiselect method or that is an argument to a tuple or array constructor that is passed as an argument to the select method. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1774.365.14 An Expression instance that is specified as an argument to the select or multiselect method or that is an argument to a tuple or array constructor that is passed as an argument to the select method or that is semantically equivalent to such an Expression instance. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:177565.14 If more than one Order instance is specified, the order in which they appear in the argument list of the orderBy method determines the precedence, whereby the first item has highest precedence. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:177665.14SQL rules for the ordering of null values apply, true
falsetechnologyactivetrue
PERSISTENCE:SPEC:177765.15 A bulk update query is constructed through the creation and modification of a jakarta.persistence.criteria.CriteriaUpdate object. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:177865.15 A CriteriaUpdate object is typed according to the entity type that is the target of the update. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:177965.15 A CriteriaUpdate object has a single root, the entity that is being updated. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:178065.15 A bulk delete query is constructed through the creation and modification of a jakarta.persistence.criteria.CriteriaDelete object. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:178165.15 A CriteriaDelete object is typed according to the entity type that is the target of the delete. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:178265.15 A CriteriaDelete object has a single root, the entity that is being deleted. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:178365.15 Like bulk update and delete operations made through the Java Persistence query language, criteria API bulk update and delete operations map directly to database operations, bypassing any optimistic locking checks. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:178465.15 The persistence context is not synchronized with the result of the bulk update or delete. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:178667 The Criteria API provides the option of specifying the attribute references used in joins and navigation by attribute names used as arguments to the various methods. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1786.167jointrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:1786.267fetchtrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:1786.367gettrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:178768 A CriteriaQuery object may be modified, either before or after Query or TypedQuery objects have been created and executed from it. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:178868 A CriteriaUpdate object may be modified, either before or after Query or TypedQuery objects have been created and executed from it. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:178968 A CriteriaDelete object may be modified, either before or after Query or TypedQuery objects have been created and executed from it. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:179068 modification may entail replacement of the where predicate or the select list. Modifications may thus result in the same query object “base” being reused for several query instances. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:179269 A criteria query is executed by passing the CriteriaQuery object to the createQuery method of the EntityManager interface to create a TypedQuery object, which can then be passed to one of the query execution methods of the TypedQuery interface. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:179369 A criteria query is executed by passing the CriteriaUpdate object to the createQuery method of the EntityManager interface to create a an executable Query object, which can then be passed to one of the query execution methods of the Query interface. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:179469 A criteria query is executed by passing the CriteriaDelete object to the createQuery method of the EntityManager interface to create a Query object, which can then be passed to one of the query execution methods of the Query interface. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:179569 A CriteriaQuery object may be further modified after an executable query object has been created from it. The modification of the CriteriaQuery object does not have any impact on the already created executable query object. If the modified CriteriaQuery object is passed to the createQuery method, the persistence provider must insure that a new executable query object is created and returned that reflects the semantics of the changed query definition. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:179669 A CriteriaUpdate object may be further modified after an executable query object has been created from it. The modification of the CriteriaUpdate object does not have any impact on the already created executable query object. If the modified CriteriaQuery object is passed to the createQuery method, the persistence provider must insure that a new executable query object is created and returned that reflects the semantics of the changed query definition. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:179769 A CriteriaDelete object may be further modified after an executable query object has been created from it. The modification of the CriteriaDelete object does not have any impact on the already created executable query object. If the modified CriteriaDelete object is passed to the createQuery method, the persistence provider must insure that a new executable query object is created and returned that reflects the semantics of the changed query definition. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:179869CriteriaQuery, CriteriaUpdate, and CriteriaDelete objects must be serializable. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:179969CriteriaQuery, CriteriaUpdate, and CriteriaDelete objects are not required to be interoperable across vendors. false
falsetechnologyactivefalse
PERSISTENCE:SPEC:84271Both container-managed entity managers and application-managed entity managers and their persistence contexts are required to be supported in JavaEE web containers and EJB containers. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:84371In Java SE environments and in Java EE application client containers, only application-managed entity managers are required to be supported. NOTE the use of JTA is not required to be supported in application client containers. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:84472When container-managed entity managers are used (in Java EE environments), the application does not interact with the entity manager factory. The entity managers are obtained directly through dependency injection or from JNDI true
falsetechnologyactivetrue
PERSISTENCE:SPEC:180072 An entity manager must not be shared among multiple concurrently executing threads, as the entity manager and persistence context are not required to be threadsafe. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:180172.1A container-managed entity manager is obtained by the application through dependency injection or through direct lookup of the entity manager in the JNDI namespace. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:84572.1The PersistenceContext annotation is used for entity manager injection. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:84672.1The unitName element may optionally be specified to designate the persistence unit whose entity manager factory is used by the container. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:84772.1The type element specifies whether a transaction-scoped or extended persistence context is to be used. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:180272.1The synchronization element specifies whether the persistence context is always automatically joined to the current transaction (the default) or is not joined to the current transaction unless the joinTransaction method is invoked by the application. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:180372.2An application-managed entity manager is obtained by the application from an entity manager factory. The EntityManagerFactory API used to obtain an application-managed entity manager is the same independent of whether this API is used in Java EE or Java SE environments. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:84873The EntityManagerFactory interface is used by the application to create an application-managed entity manager. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:84973More than one entity manager factory instance may be available simultaneously in the JVM. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:85073.1Within a JavaEE environment, an entity manager factory may be injected using the PersistenceUnit annotation or obtained through JNDI lookup. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:180473.1The unitName element may optionally be specified to designate the persistence unit whose entity manager factory is used. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:85173.2Outside the JavaEE container environment, the jakarta.persistence.Persistence class is the bootstrap class that provides access to an entity manager factory. The application creates an entity manager factory by called the createEntityManagerFactory method of the jakarta.persistence.Persistence class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:85274The EntityManagerFactory interface is used by the application to obtain an application-managed entity manager. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:85374When the application has finished using the entity manager factory, and/or at application shutdown, the application should close the entity manager factory. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:180574Once an entity manager factory has been closed, all its entity managers are considered to be in the closed state. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:85474Any number of vendor-specific properties may be included in the map passed to createEntityManager method. Properties that are not recognized by a vendor must be ignored. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:250774Note that the policies of the installation environment may restrict some information from being made available through the EntityManagerFactory getProperties method true
falsetechnologyactivetrue
PERSISTENCE:SPEC:250374 Vendors should use vendor namespaces for properties (e.g., com.acme.persistence.logging). Entries that make use of the namespace jakarta.persistence and its subnamespaces must not be used for vendor-specific information. The namespace jakarta.persistence is reserved for use by this specification. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:85875A container-managed entity manager must be a JTA entity manager. JTA entity managers are only specified for use in Java EE containers true
falsetechnologyactivetrue
PERSISTENCE:SPEC:85975An application-managed entity manager may be either a JTA entity manager or a resource-local entity manager. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:180674Entries that make use of the namespace jakarta.persistence and its subnamespaces must not be used for vendor-specific information. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:85575An entity manager is defined to be of a given transaction type - JTA or resource-local - at the time its underlying entity manager factory is configured and created. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:85675Both JTA entity managers and resource-local entity managers are required to be supported in JavaEE web and EJB containers. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:85775In general, in JavaSE environments, only resource-local entity managers are supported. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:180775 A resource-local entity manager transaction is mapped to a resource transaction over the resource by the persistence provider. Resource-local entity managers may use server resources to connect to the database and are unaware of the presence of JTA transactions that may or may not be active. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:180875 A resource-local entity manager transaction is mapped to a resource transaction over the resource by the persistence provider. Resource-local entity managers may use local resources to connect to the database and are unaware of the presence of JTA transactions that may or may not be active. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:86075.3The EntityTransaction interface is used to control resource transactions on resource-local entity managers. The EntityManager.getTransaction() method returns an instance of the EntityTransaction interface. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:180975.3 When a resource-local entity manager is used, and the persistence provider runtime throws an exception defined to cause transaction rollback, the persistence provider must mark the transaction for rollback. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:181075.3 If the EntityTransaction.commit operation fails, the persistence provider must roll back the transaction. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:86176When a container-managed entity manager is used, the lifecycle of the persistence context is always managed automatically, transparently to the application, and the persistence context is propagated with the JTA transaction. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:181176 A container-managed persistence context may be defined to have either a lifetime that is scoped to a single transaction or an extended lifetime that spans multiple transactions, depending on the PersistenceContextType that is specified when its entity manager is created. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:181276 The lifetime of the persistence context is declared using the true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1812.176PersistenceContext annotationtrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:1812.276persistence-context-ref deployment descriptor element true
falsetechnologyactivetrue
PERSISTENCE:SPEC:181376By default, a transaction-scoped persistence context is used. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:181476.1By default, a container-managed persistence context is of type SynchronizationType.SYNCHRONIZED. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:181576.1Such a persistence context is automatically joined to the current JTA transaction, and updates made to the persistence context are propagated to the underlying resource manager. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:181676.1A container-managed persistence context may be specified to be of type Synchronization- Type.UNSYNCHRONIZED. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:181776.1A persistence context of type SynchronizationType.UNSYNCHRONIZED is not enlisted in any JTA transaction unless explicitly joined to that transaction by the application. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:181876.1The persistence context remains joined to the transaction until the transaction commits or rolls back. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:181976.1After the transaction commits or rolls back, the persistence context will not be joined to any subsequent transaction unless the joinTransaction method is invoked in the scope of that subsequent transaction. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:182076.1A persistence context of type SynchronizationType.UNSYNCHRONIZED must not be flushed to the database unless it is joined to a transaction. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:182176.1The application's use of queries with pessimistic locks, bulk update or delete queries, etc. result in the provider throwing the TransactionRequiredException. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:182276.1After the persistence context has been joined to the JTA transaction, these operations are again allowed. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:182376.1The application is permitted to invoke the persist, merge, remove, and refresh entity lifecycle operations on an entity manager of type SynchronizationType.UNSYNCHRONIZED independent of whether the persistence context is joined to the current transaction. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:182476.1After the persistence context has been joined to a transaction, changes in a persistence context can be flushed to the database either explicitly by the application or by the provider. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:182576.1If the flush method is not explicitly invoked, the persistence provider may defer flushing until commit time depending on the operations invoked and the flush mode setting in effect. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:182676.1If a persistence context of type SynchronizationType.UNSYNCHRONIZED has not been joined to the current JTA transaction, rollback of the JTA transaction will have no effect upon the persistence context. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:182776.1If an extended persistence context of type SynchronizationType.UNSYNCHRONIZED has been joined to the JTA transaction, transaction rollback will cause the persistence context true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1827.176.1to be clearedtrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:1827.276.1and all pre-existing managed instances to become detached. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1827.376.1and all removed instances to become detached. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:182876.1When a JTA transaction exists, a persistence context of type SynchronizationType.UNSYNCHRONIZED is propagated with that transaction regardless of whether the persistence context has been joined to that transaction. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:182976.2The application can obtain a container-managed entity manager with transaction-scoped persistence context by true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1829.176.2injectiontrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:1829.276.2direct lookup in the JNDI namespace true
falsetechnologyactivetrue
PERSISTENCE:SPEC:183076.2The persistence context type for the entity manager is defaulted or defined as PersistenceContextType.TRANSACTION. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:86276.2A new persistence context begins when the container-managed entity manager is invoked in the scope of an active JTA transaction, and there is no current persistence context already associated with the JTA transaction. The persistence context is created and then associated with the JTA transaction true
falsetechnologyactivetrue
PERSISTENCE:SPEC:86376.2The persistence context ends when the associated JTA transaction commits or rolls back, and all entities that were managed by the EntityManager become detached. Note that this applies to a transaction-scoped persistence context of type SynchronizationType.UNSYNCHRONIZED that has not been joined to the transaction as well. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:86476.2If the entity manager is invoked outside the scope of a transaction, any entities loaded from the database will immediately become detached at the end of the method call. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:86576.3A container-managed extended persistence context can only be initiated within the scope of a stateful session bean. It exists from the point at which the stateful session bean that declares a dependency on an entity manager of type PersistenceContextType.EXTENDED is created, and is said to be bound to the stateful session bean. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:86676.3The dependency on the extended persistence context is declared by means of the PersistenceContext annotation or persistence-context-ref deployment descriptor element true
falsetechnologyactivetrue
PERSISTENCE:SPEC:86776.3A container-managed extended persistence context can only be initiated within the scope of a stateful session bean. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:183176.3The persistence context is closed by the container when the true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1831.176.3@Remove method of the stateful session bean completes true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1831.276.3the stateful session bean instance is otherwise destroyed true
falsetechnologyactivetrue
PERSISTENCE:SPEC:86876.3.1If a stateful session bean instantiates a stateful session bean (executing in the same EJB container instance) which also has such an extended persistence context with the same synchronization type, the extended persistence context of the first stateful session bean is inherited by the second stateful session bean and bound to it, and this rule recursively applies—independently of whether transactions are active or not at the point of the creation of the stateful session beans. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:183276.3.1If the stateful session beans differ in declared synchronization type, the EJBException is thrown by the container. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:86976.3.1If the persistence context has been inherited by any stateful session beans, the container does not close the persistence context until all such stateful session beans have been removed or otherwise destroyed. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:183376.4a single persistence context may correspond to one or more JTA entity manager instances (all associated with the same entity manager factory) true
falsetechnologyactivetrue
PERSISTENCE:SPEC:183476.4Entity manager instances obtained from different entity manager factories never share the same persistence context. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:87076.4The persistence context is propagated across the entity manager instances as the JTA transaction is propagated. Propagation of persistence contexts only applies within a local environment. Persistence contexts are not propagated to remote tiers. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:183576.4A persistence context of type SynchronizationType.UNSYNCHRONIZED is propagated with the JTA transaction regardless of whether it has been joined to the transaction. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:87176.4.1If a component is called and there is no JTA transaction or the JTA transaction is not propagated, the persistence context is not propagated. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:87276.4.1If an entity manager is invoked from within the component: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:87376.4.1Invocation of an entity manager defined with PersistenceContextType.TRANSACTION will result in use of a new persistence context. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:87476.4.1Invocation of an entity manager defined with the PersistenceContextType.EXTENDED will result in the use of the existing extended persistence context bound to that component. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:87576.4.1If the entity manager is invoked within a JTA transaction the persistence context will be associated to the JTA transaction. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:87676.4.1If a component is called and the JTA transaction is propagated into that component: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:87776.4.1If the component is a stateful session bean to which an extended persistence context has been bound and there is a different persistence context bound to the JTA transaction, an EJBException is thrown by the container. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:876.176.4.1If there is a persistence context of type SynchronizationType.UNSYNCHRONIZED associated with the JTA transaction and the target component specifies a persistence context of type SynchronizationType.SYNCHRONIZED, the IllegalStateException is thrown by the container. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:87876.4.1Otherwise, if there is a persistence context associated to the JTA transaction, that persistence context is propagated and used. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:87977When an application-managed entity manager is used, the application interacts directly with the persistence provider's entity manager factory to manage the entity manager lifecycle and to obtain and destroy persistence contexts. All such application-managed persistence contexts are extended in scope, and can span multiple transactions. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:88077The EntityManagerFactory.createEntityManager method and the EntityManager close and isOpen methods are used to manage the lifecycle of an application-managed entity manager and its associated persistence context. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:88577The extended persistence context exists from the point at which the entity manager has been created using EntityManagerFactory.createEntityManager until the entity manager is closed by means of EntityManager.close. An extended persistence context obtained from the application-managed entity manager is a stand-alone persistence context—it is not propagated with the transaction. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:183677When a JTA application-managed entity manager is used, an application-managed persistence context may be specified to be of type SynchronizationType.UNSYNCHRONIZED. A persistence context of type SynchronizationType.UNSYNCHRONIZED is not enlisted in any JTA transaction unless explicitly joined to that transaction by the application. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:183777A persistence context of type SynchronizationType.UNSYNCHRONIZED is enlisted in a JTA transaction and registered for subsequent transaction notifications against that transaction by the invocation of the EntityManager join Transaction method. The persistence context remains joined to the transaction until the transaction commits or rolls back. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:183877After the transaction commits or rolls back, the persistence context will not be joined to any subsequent transaction unless the joinTransaction method is invoked in the scope of that subsequent transaction. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:88677When a JTA application-managed entity manager is used, if the entity manager is created outside the scope of the current JTA transaction, it is the responsibility of the application to join the entity manager to the transaction (if desired) by calling EntityManager.joinTransaction. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:183977If the entity manager is created outside the scope of a JTA transaction, it is not joined to the transaction unless EntityManager.joinTransaction is called. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:88177The EntityManager.close() closes the entity manager to release its persistence context and any other resources. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:88277After calling close, the application must not invoke any further methods on the EntityManager instance except for getTransaction and IsOpen or the IllegalStateException will be thrown. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:88377If the close method is invoked when a transaction is active, the persistence context remains managed until the transaction completes. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:88477The EntityManager.isOpen method indicates whether the entity manager is open. The isOpen method returns true until the entity manager has been closed. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:88778Requirements on the Containertrue
falsetechnologyremovedtrue
PERSISTENCE:SPEC:88878.1Application Managed Persistence Contexts true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:88978.2Container Managed Persistence Contexts true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:184078.1When application-managed persistence contexts are used, the container must instantiate the entity manager factory and expose it to the application via JNDI. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:184178.1However, the container is required to support third-party persistence providers, and in this case the container must use the PersistenceProvider.createContainerEntityManagerFactory method to create the entity manager factory and the EntityManagerFactory.close method to destroy the entity manager factory prior to shutdown (if it has not been previously closed by the application). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:184278.2The container is responsible for managing the lifecycle of container-managed persistence contexts, for injecting EntityManager references into true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1842.178.2web componentstrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:1842.278.2session beantrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:1842.378.2message-driven bean componentstrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:1842.478.2and for making EntityManager references available to direct lookups in JNDI. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:184378.2When operating with a third-party persistence provider, the container uses the contracts to create and destroy container-managed persistence contexts. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:184478.2It is undefined whether a new entity manager instance is created for every persistence context, or whether entity manager instances are sometimes reused. true
truetechnologyactivefalse
PERSISTENCE:SPEC:184578.2Exactly how the container maintains the association between persistence context and JTA transaction is not defined. true
truetechnologyactivefalse
PERSISTENCE:SPEC:184678.2If a persistence context is already associated with a JTA transaction, the container uses that persistence context for subsequent invocations within the scope of that transaction true
falsetechnologyactivetrue
PERSISTENCE:SPEC:89079 Runtime Contracts between the Container and Persistence Provider true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:89179.1Container Responsibilitiestrue
falsetechnologyremovedtrue
PERSISTENCE:SPEC:89279.2Provider Responsibilitiestrue
truetechnologyremovedtrue
PERSISTENCE:SPEC:184779.1 For the management of a transaction-scoped persistence context, if there is no EntityManager already associated with the JTA transaction: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1847.179.1 The container creates a new entity manager by calling EntityManagerFactory.createEntityManager when the first invocation of an entity manager with PersistenceContextType.TRANSACTION occurs within the scope of a business method executing in the JTA transaction. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1847.279.1 After the JTA transaction has completed (either by transaction commit or rollback), the container closes the entity manager by calling EntityManager.close. Note that the JTA transaction may rollback in a background thread (e.g., as a result of transaction timeout), in which case the container should arrange for the entity manager to be closed but the Entity- Manager.close method should not be concurrently invoked while the application is in an EntityManager invocation. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:184879.1 The container must throw the TransactionRequiredException if a transaction-scoped persistence context is used and true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1848.179.1and the EntityManager persist method is invoked when no transaction is active. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1848.279.1and the EntityManager remove method is invoked when no transaction is active. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1848.379.1and the EntityManager merge method is invoked when no transaction is active. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1848.479.1and the EntityManager refresh method is invoked when no transaction is active. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:184979.1For stateful session beans with extended persistence contexts: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1849.179.1 The container creates an entity manager by calling EntityManagerFactory.createEntityManager when a stateful session bean is created that declares a dependency on an entity manager with PersistenceContextType.EXTENDED. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1849.279.1The container closes the entity manager by calling EntityManager.close after the stateful session bean and all other stateful session beans that have inherited the same persistence context as the entity manager have been removed. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1849.379.1When a business method of the stateful session bean is invoked, if the stateful session bean uses container managed transaction demarcation, and the entity manager is not already associated with the current JTA transaction, the container associates the entity manager with the current JTA transaction and, if the persistence context is of type SynchronizationType.SYNCHRONIZED, the container calls EntityManager. joinTransaction. If there is a different persistence context already associated with the JTA transaction, the container throws the EJBException. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1849.479.1When a business method of the stateful session bean is invoked, if the stateful session bean uses bean managed transaction demarcation and a UserTransaction is begun within the method, the container associates the persistence context with the JTA transaction and, if the persistence context is of type SynchronizationType.SYNCHRONIZED, the container calls EntityManager.joinTransaction. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:185079.1The container must throw the IllegalStateException if the application calls EntityManager. close on a container-managed entity manager. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:185179.1 When the container creates an entity manager, it may pass a map of properties to the persistence provider by using the EntityManagerFactory.createEntityManager(Map map) method. If properties have been specified in the PersistenceContext annotation or the persistence-context-ref deployment descriptor element, this method must be used and the map must include the specified properties. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:185279.1If the application invokes EntityManager.unwrap(Class <T> cls), and the container cannot satisfy the request, the container must delegate the unwrap invocation to the provider’s entity manager instance. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:185379.2When EntityManagerFactory.createEntityManager is invoked, the provider must create and return a new entity manager. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:185479.2If a JTA transaction is active and the persistence context is of type SynchronizationType.SYNCHRONIZED, the provider must register for synchronization notifications against the JTA transaction. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:185579.2When EntityManager.joinTransaction is invoked, the provider must register for synchronization notifications against the current JTA transaction if a previous joinTransaction invocation for the transaction has not already been processed. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:185679.2When the JTA transaction commits, if the persistence context is of type SynchronizationType. SYNCHRONIZED or has otherwise been joined to the transaction, the provider must flush all modified entity state to the database. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:185779.2When the JTA transaction rolls back, the provider must detach all managed entities if the persistence context is of type SynchronizationType.SYNCHRONIZED or has otherwise been joined to the transaction. Note that the JTA transaction may rollback in a background thread (e.g., as a result of transaction timeout), in which case the provider should arrange for the managed entities to be detached from the persistence context but not concurrently while the application is in an EntityManager invocation. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:185879.2When the provider throws an exception defined to cause transaction rollback, the provider must mark the transaction for rollback if the persistence context is of type SynchronizationType.SYNCHRONIZED or has otherwise been joined to the transaction. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:185979.2When EntityManager.close is invoked, the provider should release all resources that it may have allocated after any outstanding transactions involving the entity manager have completed. If the entity manager was already in a closed state, the provider must throw the IllegalStateException. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:186079.2When EntityManager.clear is invoked, the provider must detach all managed entities. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:89382Within Java EE environments, an EJB-JAR, WAR, EAR, or application client JAR can define a persistence unit. Any number of persistence units may be defined within these scopes. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:89482A persistence unit may be packaged:true
falsetechnologyactivetrue
PERSISTENCE:SPEC:89582within one or more jar files contained within a WAR true
falsetechnologyactivetrue
PERSISTENCE:SPEC:89682one or more jar files contained within an EAR true
falsetechnologyactivetrue
PERSISTENCE:SPEC:89782as a set of classes within an EJB-JAR file true
falsetechnologyactivetrue
PERSISTENCE:SPEC:89882a set of classes in the WAR classes directory true
falsetechnologyactivetrue
PERSISTENCE:SPEC:89982as a combination of thesetrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:90082A persistence unit is defined by a persistence.xml file. The jar file or directory whose META-INF directory contains the persistence.xml file is termed the root of the persistence unit. In Java EE environments, the root of a persistence unit may be one of the following: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:90182an EJB-JAR filetrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:90282the WEB-INF classes directory of a WAR file [the root of the persistence unit - in this case - is the WEB-INF/classes directory; the persistence.xml file is therefore contained in the WEB-INF/classes/META-INF directory. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:90382a jar file in the WEB-INF/lib directory of a WAR file true
falsetechnologyactivetrue
PERSISTENCE:SPEC:90482a jar file in the root of the EARtrue
falsetechnologyremovedtrue
PERSISTENCE:SPEC:90582a jar file in the EAR library directory true
falsetechnologyactivetrue
PERSISTENCE:SPEC:90682an application client jar filetrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:90782It is not required that an EJB-JAR or WAR file containing a persistence unit be packaged in an EAR unless the persistence unit contains persistence classes in addition to those contained in the EJB-JAR or WAR. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:90882A persistence unit must have a name.true
falsetechnologyactivetrue
PERSISTENCE:SPEC:90982Only one persistence unit of any given name may be defined: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:91082within a single EJB-JAR filetrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:91182within a single WAR filetrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:91282within a single application client jar true
falsetechnologyactivetrue
PERSISTENCE:SPEC:91382within an EARtrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:91482within an EAR in the lib directory true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:91582The persistence.xml file may be used to designate more than one persistence unit within the same scope. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:91682All persistence classes defined at the level of the Java EE EAR must be accessible to other J2EE components in the application—i.e. loaded by the application classloader—such that if the same entity class is referenced by two different Java EE components (which may be using different persistence units), the referenced class is the same identifical class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:91782In Java SE environments, the metadata mapping files, jar files, and classes described in the following sections can be used. To insure portability of a Java SE application, it is necessary to explicitly list the managed persistence classes that are included in the persistence unit using the class element of the persistence.xml file. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:91882.1A persistence.xml file defines a persistence unit. The persistence.xml file is located in the META-INF directory of the root of the persistence unit. It may be used to specify managed persistence classes included in the persistence unit, object/relational mapping information for those classes, scripts for use in schema generation and the bulk loading of data, and other configuration information for the persistence unit and for the entity manager(s) and entity manager factory for the persistence unit. This information may be defined by containment or by reference, as described below. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:91982.1The object/relational mapping information can take the form of: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:92082.1annotations on the managed persistence classes included in the persistence unit true
falsetechnologyactivetrue
PERSISTENCE:SPEC:919.182.1an orm.xml file contained in the META-INF directory of the root of the persistence unit true
falsetechnologyactivetrue
PERSISTENCE:SPEC:92182.1one or more XML files contained in the root of the persistence unit true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:92282.1one or more XML files on the classpath and referenced from the persistence.xml true
falsetechnologyactivetrue
PERSISTENCE:SPEC:92382.1a combination of abovetrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:92482.1The managed persistence classes may either be: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:92582.1contained within the root of the persistence archive true
falsetechnologyactivetrue
PERSISTENCE:SPEC:92682.1specified by reference—i.e., by naming the classes, class archives, or XML mapping files (which in turn reference classes) that are accessible on the application classpath true
falsetechnologyactivetrue
PERSISTENCE:SPEC:92782.1specified by some combination of these means. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:92882.1The persistence element consists of one or more persistence-unit elements. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:92982.1The persistence-unit element consists of the name and transaction-type attributes and the following sub-elements: description, provider, jta-data-source, non-jta-data-source, mapping-file, jar-file, class, exclude-unlisted-classes, shared-cache-mode, validation-mode, and properties. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:93082.1The name attribute is required; the other attributes and elements are optional. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:93282.1.1The name attribute defines the name for the persistence unit. This name is used to identify the persistence unit referred to by the PersistenceContext and PersistenceUnit annotations and the programmatic API for creating EntityManagers and EntityManager Factories. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:186182.1.1The name attribute defines the name for the persistence unit. This name is used to identify the persistence unit referred to by the PersistenceContext and PersistenceUnit annotations and the programmatic API for creating an entity manager factory. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:93682.1.2The transaction-type attribute is used to specify whether the entity managers provided by the entity manager factory for the persistence unit must be JTA entity managers or resource-local entity managers. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:93782.1.2The value of this element is JTA or RESOURCE_LOCAL. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:186282.1.2A transaction-type of JTA assumes that a JTA data source will be provided—either as specified by the jta-data-source element or provided by the container. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:186382.1.2in Java EE environments, a transaction-type of RESOURCE_LOCAL assumes that a non-JTA datasource will be provided. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:93882.1.2In a Java EE environment, if this element is not specified, the default is JTA. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:186482.1.2In a Java SE environment, if this element is not specified,the default is RESOURCE_LOCAL. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:93182.1.3The description element provides optional descriptive information about the persistence unit. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:93382.1.4The provider element specifies the name of the persistence provider's jakarta.persistence.spi.PersistenceProvider class. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:93482.1.4The provider element is optional, but should be specified if the application is dependent upon a particular persistence provider being used. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:93982.1.5In Java EE environments, the jta-data-source and non-jta-data-source elements is used to specify the JNDI name of the JTA and/or non-JTA data source to be used by the persistence provider. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:94082.1.5If neither is specified, the deployer must specify a JTA data source at deployment or the default JTA data source must be provided by the container and a JTA EntityManagerFactory will be created to correspond to it. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:94182.1.5These elements name the data source in the local environment; the format of these names and the ability to specify the names are product specific. true
truetechnologyremovedfalse
PERSISTENCE:SPEC:94282.1.5In Java SE environments, these elements may be used or the data source information may be specified by other means - depending upon the requirements of the provider. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:94382.1.6The following classes must be implicitly or explicitly denoted as managed persistence classes to be included within a persistence unit: entity classes; embeddadble classes; mapped superclasses; converter classes true
falsetechnologyactivetrue
PERSISTENCE:SPEC:94482.1.6The set of managed persistence classes that are managed by a persistence unit is defined by using one or more of the following: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:94882.1.6Annotated managed persistence classes contained in the root of the persistence unit (unless the exclude-unlisted-classes element is specified) true
falsetechnologyactivetrue
PERSISTENCE:SPEC:94582.1.6One or more object/relational mapping XML files true
falsetechnologyactivetrue
PERSISTENCE:SPEC:94682.1.6One or more jar files that will be searched for classes true
falsetechnologyactivetrue
PERSISTENCE:SPEC:94782.1.6An explicit list of classestrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:96482.1.6The set of entities managed by the persistence unit is the union of these sources, with the mapping metadata annotations (or annotation defaults) for any given class being overridden by the XML mapping information file if there are both annotations as well as XML mappings for that class true
falsetechnologyactivetrue
PERSISTENCE:SPEC:186582.1.6 The minimum portable level of overriding is at the level of the persistent field or property. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:96682.1.6The classes and/or jars that are named as part of a persistence unit must be on the classpath; referencing them from the persistence.xml file does not cause them to be placed on the classpath. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:96782.1.6All classes must be on the classpath to ensure that entity managers from different persistence units that map the same class will be accessing the same identical class. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:96182.1.6.1All classes contained in the root of the persistence unit are searched for annotated managed persistence classes—classes with the Entity, Embeddable, MappedSuperclass, or Converter annotation—and any mapping metadata annotations found on these classes will be processed, or they will be mapped using the mapping annotation defaults true
falsetechnologyactivetrue
PERSISTENCE:SPEC:96282.1.6.1If it is not intended that the annotated persistence classes contained in the root of the persistence unit be included in the persistence unit, the exclude-unlisted-classes element must be specified as true. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:96382.1.6.1The exclude-unlisted-classes element is not intended for use in Java SE environments. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:94982.1.6.2A object/relational mapping XML file named orm.xml true
falsetechnologyactivetrue
PERSISTENCE:SPEC:95082.1.6.2may be specified in the META-INF directory in the root of the persistence unit true
falsetechnologyactivetrue
PERSISTENCE:SPEC:95182.1.6.2or in the META-INF directory of any jar file referenced by the persistence.xml true
falsetechnologyactivetrue
PERSISTENCE:SPEC:95282.1.6.2Alternatively, or in addition, one or more mapping files may be referenced by the mapping-file elements of the persistence-unit element true
falsetechnologyactivetrue
PERSISTENCE:SPEC:949.182.1.6.2These mapping files may be present anywhere on the class path. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:95382.1.6.2If a mapping file is specified, the classes and mapping information specified in the mapping file will be used. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:95482.1.6.2If multiple mapping files are specified (possibly including an orm.xml file), the resulting mappings are obtained by combining the mappings from all the files true
falsetechnologyactivetrue
PERSISTENCE:SPEC:95582.1.6.2The result is undefined if multiple mapping files (including any orm.xml file) referenced within a single persistence unit contain overlapping mapping information for any given class. false
truetechnologyactivefalse
PERSISTENCE:SPEC:95682.1.6.2The object/relational mapping information contained in any mapping file referenced within the persistence unit must be disjoint at the class-level from object/relational mapping information contained in any other such mapping file. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:95782.1.6.3One or more jar files may be specified using the jar-file elements instead of, or in addition to the mapping files specified in the mapping-files elements. If specified, these JAR files will be searched for managed persistence classes and any mapping metadata annotations found on them will be processed or they will be mapped using the mapping annotation defaults defined by this specification. Such JAR files are specified relative to the directory or jar file that contains the root of the persistence unit. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:95882.1.6.4A list of named managed persistence entity classes, embeddable classes, mapped superclasses, and converter classes may be specified instead of, or in addition to, the JAR files and mapping files. Any mapping metadata annotations found on these classes will be processed, or they will be mapped using the mapping annotation defaults. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:95982.1.6.4The class element is used to list a managed persistence class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:96082.1.6.4A list of all named managed persistence classes must be specified in Java SE environments to insure portability. Portable JavaSE applications should not rely on the other mechanisms described here to specify the managed persistence classes of a persistence unit. Persistence providers may require that the set of entity classes and classes that are to be managed must be fully enumerated in each of the persistence.xml files in Java SE environments. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:186682.1.7The shared-cache-mode element determines whether second-level caching is in effect for the persistence unit. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:186782.1.8The validation-mode element determines whether automatic lifecycle event time validation is in effect. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:96882.1.9The properties element is used to specify both standard and vendor-specific properties and hints that apply to the persistence unit and its entity manager factory configuration. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:186882.1.9The following properties and hints defined by this specification are intended for use in both Java EE and Java SE environments: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1868.182.1.9jakarta.persistence.lock.timeout — value in milliseconds for pessimistic lock timeout. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:1868.282.1.9jakarta.persistence.query.timeout — value in milliseconds for query timeout. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:1868.382.1.9jakarta.persistence.validation.group.pre-persist— groups that are targeted for validation upon the pre-persist event (overrides the default behavior). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1868.482.1.9jakarta.persistence.validation.group.pre-update— groups that are targeted for validation upon the pre-update event (overrides the default behavior). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1868.582.1.9jakarta.persistence.validation.group.pre-remove— groups that are targeted for validation upon the pre-remove event (overrides the default behavior). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:186982.1.9The following properties defined by this specification are intended for use in Java SE environments. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1869.182.1.9jakarta.persistence.jdbc.driver — fully qualified name of the driver class true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1869.282.1.9jakarta.persistence.jdbc.url — driver-specific URL true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1869.382.1.9jakarta.persistence.jdbc.user — username used by database connection true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1869.482.1.9jakarta.persistence.jdbc.password — password for database connection validation true
falsetechnologyactivetrue
PERSISTENCE:SPEC:245282.1.9Scripts for use in schema generation may be specified using the jakarta.persistence.schema-generation.create-script-source and jakarta.persistence.schema-generation.drop-script-source properties. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:245382.1.9A script to specify SQL for the bulk loading of data may be specified by the jakarta.persistence.sql-load-script-source property. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:187082.1.9These properties are intended for use in both Java EE and Java SE environments: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1870.182.1.9 jakarta.persistence.schema-generation.create-script-source — name of a script packaged as part of the persistence application or a string corresponding to a file URL string that designates a script. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1870.282.1.9 jakarta.persistence.schema-generation.drop-script-source — name of a script packaged as part of the persistence application or a string corresponding to a file URL string that designates a script. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1870.382.1.9jakarta.persistence.sql-load-script-source —name of a script packaged as part of the persistence unit or a string corresponding to a file URL string that designates a script. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:248182.1.9When scripts are packaged as part of the persistence application, these properties must specify locations relative to the root of the persistence unit. true
truetechnologyactivetrue
PERSISTENCE:SPEC:248282.1.9When scripts are provided externally (or when schema generation is to occur into script files, as described below), strings corresponding to file URLs must be specified. true
truetechnologyactivetrue
PERSISTENCE:SPEC:248382.1.9In Java EE environments, such file URL specifications must be absolute paths (not relative). true
truetechnologyactivetrue
PERSISTENCE:SPEC:248482.1.9In Java EE environments, all source and target file locations must be accessible to the application server deploying the persistence unit. true
truetechnologyactivetrue
PERSISTENCE:SPEC:248582.1.9schema generation actions may also be specified by means of the following properties used in the persistence.xml file. true
truetechnologyactivetrue
PERSISTENCE:SPEC:2485.182.1.9The jakarta.persistence.schema-generation.database.action property specifies the action to be taken by the persistence provider with regard to the database artifacts. The values for this property are none, create, drop-and-create, drop. If this property is not specified, it is assumed that schema generation is not needed or will be initiated by other means, and, by default, no schema generation actions will be taken on the database. true
truetechnologyactivetrue
PERSISTENCE:SPEC:2485.282.1.9The jakarta.persistence.schema-generation.scripts.action property specifies which scripts are to be generated by the persistence provider. The values for this property are none, create, drop-and-create, drop. Scripts will only be generated if script targets are specified. If this property is not specified, it is assumed that script generation is not needed or will be initiated by other means, and, by default, no scripts will be generated. true
truetechnologyactivetrue
PERSISTENCE:SPEC:2485.382.1.9The jakarta.persistence.schema-generation.create-source property specifies whether the creation of database artifacts is to occur on the basis of the object/relational mapping metadata, DDL script, or a combination of the two. The values for this property are metadata, script, metadata-then-script, script-then-metadata. If this property is not specified, and a script is specified by the jakarta.persistence. schema-generation.create-script-source property, the script (only) will be used for schema generation; otherwise if this property is not specified, schema generation will occur on the basis of the object/relational mapping metadata (only). The metadata- then-script and script-then-metadata values specify that a combination of metadata and script is to be used and the order in which this use is to occur. If either of these values is specified and the resulting database actions are not disjoint, the results are undefined and schema generation may fail. true
truetechnologyactivetrue
PERSISTENCE:SPEC:2485.482.1.9The jakarta.persistence.schema-generation.drop-source property specifies whether the dropping of database artifacts is to occur on the basis of the object/relational mapping metadata, DDL script, or a combination of the two. The values for this property are metadata, script, metadata-then-script, script-then-metadata. If this property is not specified, and a script is specified by the jakarta.persistence. schema-generation.drop-script-source property, the script (only) will be used for the dropping of database artifacts; otherwise if this property is not specified, the dropping of database artifacts will occur on the basis of the object/relational mapping metadata (only). The metadata-then-script and script-then-metadata values specify that a combination of metadata and script is to be used and the order in which this use is to occur. If either of these values is specified and the resulting database actions are not disjoint, the results are undefined and the dropping of database artifacts may fail. true
truetechnologyactivetrue
PERSISTENCE:SPEC:2485.582.1.9 jakarta.persistence.schema-generation.scripts.drop-target If scripts are to be generated, the target locations for the writing of these scripts must be specified. These targets are specified as strings corresponding to file URLs. true
truetechnologyactivetrue
PERSISTENCE:SPEC:96982.1.9If a persistence provider does not recognize properties (other than those defined by this specification), the provider must ignore it. true
truetechnologyactivetrue
PERSISTENCE:SPEC:96982.1.9If a persistence provider does not recognize properties (other than those defined by this specification), the provider must ignore it. true
truetechnologyactivetrue
PERSISTENCE:SPEC:97082.2An EJB-JAR, WAR, application client jar or EAR can define a persistence unit. When referencing a persistence unit using the unitName annotation element or persistence-unit-name deployment descriptor element, the visibility scope of the persistence unit is determined by its point of definition: true
truetechnologyactivetrue
PERSISTENCE:SPEC:97182.2A persistence unit that is defined at the level of an EJB-JAR, WAR, or application client jar is scoped to that EJB-JAR, WAR, or application jar respectively and is visible to the components defined in that jar or war. true
truetechnologyactivetrue
PERSISTENCE:SPEC:97382.2A persistence unit is defined at the level of the EAR is generally visible to all components of the application. However, if a persistence unit of the same name is defined by an EJB-JAR, WAR or application jar file within the EAR, the persistence unit of that name defined at the EAR level will not be visible to the components defined by that EJB-JAR, WAR, or application jar file unless the persistence unit reference uses the persistence unit name # syntax to specify a path name to disambiguate the reference. true
truetechnologyactivetrue
PERSISTENCE:SPEC:970.182.2When the # syntax is used, the path name is relative to the referencing application component jar file. true
truetechnologyactivetrue
PERSISTENCE:SPEC:970.282.2The # syntax may be used with both the unitName annotation element or persistence-unit-name deployment descriptor element to reference a persistence unit defined at EAR level. true
truetechnologyactivetrue
PERSISTENCE:SPEC:97491Each persistence unit deployed into a Java EE container consists of a single persistence.xml file, any number of mapping files and any number of classes. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:97591At deployment time the container is responsible for scanning locations specified in 8.2 and discovering the persistence.xml files and processing them. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:97691When the container finds a persistence.xml file, it must processes the persistence unit definitions that it contains. The container must validate the persistence.xml file against the persistence_2_1.xsd, persistence_2_0.xsd or persistence_1_0.xsd schema in accordance with the version specified by the persistence.xml file and report any validation errors. Provider or data source information not specified in the persistence.xml file must be provided at deployment time or defaulted by the container. true
truetechnologyactivefalse
PERSISTENCE:SPEC:97791The container may optionally add any container-specific properties to be passed to the provider when creating the entity manager factory for the persistence unit. false
truetechnologyactivefalse
PERSISTENCE:SPEC:187191Once the container has read the persistence metadata, it determines the jakarta.persistence. spi.PersistenceProvider implementation class for each deployed named persistence unit. The container then creates an instance of the PersistenceProvider implementation class for each deployed named persistence unit and invokes the createContainerEntityManagerFactory method on that instance. false
truetechnologyactivefalse
PERSISTENCE:SPEC:187291 The container must implement the PersistenceUnitInfo interface and pass the metadata—in the form of a PersistenceUnitInfo instance—to the persistence provider as part of this call. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:187391 If a Bean Validation provider exists in the container environment and the validation- mode NONE is not specified, a ValidatorFactory instance must be made available by the container. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:187491 The container is responsible for passing this ValidatorFactory instance via the map that is passed as an argument to the createContainerEntityManagerFactory call. The map key used must be the standard property name jakarta.persistence.validation.factory. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:187591 If CDI is enabled, a BeanManager instance must be made available by the container. The container is responsible for passing this BeanManager instance via the map that is passed as an argument to the createContainerEntityManagerFactory call. The map key used must be the standard property name jakarta.persistence.bean.manager. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:187691 The EntityManagerFactory instance obtained as a result will be used by the container to create container-managed entity managers. Only one EntityManagerFactory is permitted to be created for each deployed persistence unit configuration. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:187791Any number of EntityManager instances may be created from a given factory. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:187891In a Java EE environment, the classes of the persistence unit should not be loaded by the application class loader or any of its parent class loaders until after the entity manager factory for the persistence unit has been created. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:97891When a persistence unit is redeployed, the container should call the close method on the previous EntityManagerFactory instance and call the createContainerEntityManagerFactory method again, with the required PersistenceUnitInfo metadata, to achieve the redeployment. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:106091.4Columns in the overrides apply to the current primary table for the class that contains the annotation. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:106191.10The AttributeOverride annotation may be used on an entity that extends a mapped superclass or on an embeddable class. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:99292BootStrapping in Java SE Environmentstrue
truetechnologyremovedtrue
PERSISTENCE:SPEC:187992 In Java SE environments, the Persistence.createEntityManagerFactory method is used by the application to create an entity manager factory true
falsetechnologyactivetrue
PERSISTENCE:SPEC:188092 The provider supplies the provider configuration file by creating a text file named jakarta.persistence.spi.PersistenceProvider and placing it in the META-INF/services directory of one of its JAR files. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:188192 The contents of the file should be the name of the provider implementation class of the jakarta.persistence.spi.PersistenceProvider interface true
falsetechnologyactivefalse
PERSISTENCE:SPEC:188292 The Persistence bootstrap class must locate all of the persistence providers using the PersistenceProviderResolver mechanism and call createEntityManagerFactory on them in turn until an appropriate backing provider returns an EntityManagerFactory instance. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:188392 A provider may deem itself as appropriate for the persistence unit if any of the following are true: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1883.192 Its implementation class has been specified in the provider element for that persistence unit in the persistence.xml file and has not been overridden by a different jakarta.persistence.provider property value included in the Map passed to the createEntity ManagerFactory method. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1883.292 The jakarta.persistence.provider property was included in the Map passed to createEntityManagerFactory and the value of the property is the provider’s implementation class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1883.392 No provider was specified for the persistence unit in either the persistence.xml or the property map. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:188492 If a provider does not qualify as the provider for the named persistence unit it must return null when createEntityManagerFactory is invoked on it. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:247492.1In Java SE environments, the Persistence.generateSchema method may be used by the application to cause schema generation to occur as a separate phase from entity manager factory creation. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:247592.1In this case, the Persistence bootstrap class must locate all of the persistence providers using the PersistenceProviderResolver mechanism and call generateSchema on them in turn until an appropriate backing provider returns true. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:247692.1A provider may deem itself as appropriate for the persistence unit if any of the following are true: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:247792.1Its implementation class has been specified in the provider element for that persistence unit in the persistence.xml file and has not been overridden by a different jakarta.persistence. provider property value included in the Map passed to the generateSchema method. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:247892.1The jakarta.persistence.provider property was included in the Map passed to generateSchema and the value of the property is the provider's implementation class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:247992.1No provider was specified for the persistence unit in either the persistence.xml or the property map. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:248092.1If a provider does not qualify as the provider for the named persistence unit, it must return false when generateSchema is invoked on it. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:188593 The PersistenceProviderResolver instance is responsible for returning the list of providers available in the environment. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:188693 The PersistenceProviderResolverHolder class holds the PersistenceProviderResolver instance that is in use. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:188793 The container is allowed to implement and set a specific PersistenceProviderResolver provided that it respects the PersistenceProviderResolver contract. The PersistenceProviderResolver instance to be used is set by the container using the PersistenceProviderResolverHolder.setPersistenceProviderResolver method. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:188893 If no PersistenceProviderResolver is set, the PersistenceProviderResolver- Holder must return a PersistenceProviderResolver that returns the providers whose persistence provider jars have been installed or made available as service providers or extensions. This default PersistenceProviderResolver instance does not guarantee the order in which persistence providers are returned. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:188993 the following methods must use the PersistenceProviderResolver instance returned by the PersistenceProviderResolverHolder. getPersistenceProviderResolver method to determine the list of available providers: Persistence.createEntityManagerFactory(String), Persistence.createEntityManagerFactory(String, Map), PersistenceUtil.isLoaded(Object), PersistenceUtil.isLoaded(Object, String) true
falsetechnologyactivefalse
PERSISTENCE:SPEC:189093 These methods must not cache the list of providers and must not cache the PersistenceProviderResolver instance. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:189193 Note that only a single PersistenceProviderResolver instance can be defined in a given classloader hierarchy at a given time. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:189294In Java EE environments true
falsetechnologyactivefalse
PERSISTENCE:SPEC:1892.194 the container may call the PersistenceProvider generateSchema method separately from and/or prior to the creation of the entity manager factory for the persistence unit, true
falsetechnologyactivefalse
PERSISTENCE:SPEC:1892.294 or the container may pass additional information to the createContainerEntityManagerFactory call to cause schema generation to happen as part of the entity manager factory creation and application initialization process. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:1892.394The information passed to these methods controls whether the generation occurs directly in the target database, whether DDL scripts for schema generation are created, or both. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:189394In Java SE environments true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1893.194the application may call the Persistence generateSchema method separately from and/or prior to the creation of the entity manager factory true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1893.294or may pass information to the createEntityManagerFactory method to cause schema generation to occur as part of the entity manager factory creation. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:189494The application may provide DDL scripts to be used for schema generation. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1894.194The application developer may package these scripts as part of the persistence unit true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1894.294or may specify strings corresponding to file URLs for the location of such scripts. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:189594In Java EE environments, such scripts may be executed by the container, or the container may direct the persistence provider to execute the scripts true
falsetechnologyactivetrue
PERSISTENCE:SPEC:189694In Java SE environments, the execution of the scripts is the responsibility of the persistence provider. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:189794In the absence of the specification of scripts, schema generation, if requested, will be determined by the object/relational metadata of the persistence unit. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:189894The following standard properties are defined for configuring the schema generation process. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1898.194In Java EE environments, any strings corresponding to file URLs for script sources or targets must specify absolute paths (not relative). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1898.294In Java EE environments, all source and target file locations must be accessible to the application server deploying the persistence unit true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1898.394The jakarta.persistence.schema-generation.database.action property specifies the action to be taken by the persistence provider with regard to the database artifacts. The values for this property are "none", "create", "drop-and-create", "drop". If the jakarta.persistence. schema-generation.database.action property is not specified, no schema generation actions must be taken on the database. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1898.494The jakarta.persistence.schema-generation.scripts.action property specifies which scripts are to be generated by the persistence provider. The values for this property are "none", "create", "drop-and-create", "drop". Scripts will only be generated if script targets are specified. If this property is not specified, no scripts will be generated. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1898.594The jakarta.persistence.schema-generation.create-source property specifies whether the creation of database artifacts is to occur on the basis of the object/relational mapping metadata, DDL script, or a combination of the two. The values for this property are "metadata", "script", "metadata-then-script", "script-then-metadata". If this property is not specified, and a script is specified by the jakarta.persistence. schema-generation.create-script-source property, the script (only) will be used for schema generation; otherwise if this property is not specified, schema generation will occur on the basis of the object/relational mapping metadata (only). The "metadata-then-script" and "script-then-metadata" values specify that a combination of metadata and script is to be used and the order in which this use is to occur. If either of these values is specified and the resulting database actions are not disjoint, the results are undefined and schema generation may fail. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1898.694The jakarta.persistence.schema-generation.drop-source property specifies whether the dropping of database artifacts is to occur on the basis of the object/relational mapping metadata, DDL script, or a combination of the two. The values for this property are "metadata", "script", "metadata-then-script", "script-then-metadata". If this property is not specified, and a script is specified by the jakarta.persistence. schema-generation.drop-script-source property, the script (only) will be used for the dropping of database artifacts; otherwise if this property is not specified, the dropping of database artifacts will occur on the basis of the object/relational mapping metadata (only). The "metadata-then-script" and "script-then-metadata" values specify that a combination of metadata and script is to be used and the order in which this use is to occur. If either of these values is specified and the resulting database actions are not disjoint, the results are undefined and the dropping of database artifacts may fail. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1898.794 jakarta.persistence.schema-generation.create-database-schemas In Java EE environments, it is anticipated that the Java EE platform provider may wish to control the creation of database schemas rather than delegate this task to the persistence provider. The jakarta.persistence.schema-generation.create-database-schemas property specifies whether the persistence provider is to create the database schema(s) in addition to creating database objects such as tables, sequences, constraints, etc. The value of this boolean property should be set to true if the persistence provider is to create schemas in the database or to generate DDL that contains “CREATE SCHEMA” commands. If this property is not supplied, the provider should not attempt to create database schemas. This property may also be specified in Java SE environments. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1898.894The jakarta.persistence.schema-generation.scripts.create-target property specifies a java.IO.Writer configured for use by the persistence provider for output of the DDL script or a string specifying the file URL for the DDL script. This property should only be specified if scripts are to be generated. If scripts are to be generated, the target locations for the writing of these scripts must be specified. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1898.994The jakarta.persistence.schema-generation.drop-target property specifies a java.IO.Writer configured for use by the persistence provider for output of the DDL script or a string specifying the file URL for the DDL script. This property should only be specified if scripts are to be generated. If scripts are to be generated, the target locations for the writing of these scripts must be specified. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1898.1094jakarta.persistence.database-product-name, jakarta.persistence.database-major-version, jakarta.persistence.database-minor-version - If scripts are to be generated by the persistence provider and a connection to the target database is not supplied, the jakarta.persistence.database-product-name property must be specified. The value of this property should be the value returned for the target database by the JDBC DatabaseMetaData method getDatabaseProductName. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1898.1194jakarta.persistence.database-product-name, jakarta.persistence.database-major-version, jakarta.persistence.database-minor-version - If sufficient database version information is not included in the result of this method, the jakarta.persistence. database-major-version and jakarta.persistence.database- minor-version properties should be specified as needed. These should contain the values returned by the JDBC getDatabaseMajorVersion and getDatabaseMinor- Version methods respectively. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1898.1294The jakarta.persistence.schema-generation.create-script-source and jakarta.persistence.schema-generation.drop-script-source properties are used for script execution. In Java EE container environments, it is generally expected that the container will be responsible for executing DDL scripts, although the container is permitted to delegate this task to the persistence provider. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1898.1394 jakarta.persistence.schema-generation.create-script-source, jakarta.persistence.schema-generation.drop-script-source If DDL scripts are to be used in Java SE environments or if the Java EE container delegates the execution of scripts to the persistence provider, these properties must be specified. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1898.1494The jakarta.persistence.schema-generation.create-script-source property specifies a java.IO.Reader configured for reading of the DDL script or a string designating a file URL for the DDL script. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1898.1594The jakarta.persistence.schema-generation.drop-script-source property specifies a java.IO.Reader configured for reading of the DDL script or a string designating a file URL for the DDL script. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1898.1694jakarta.persistence.schema-generation.connection The jakarta.persistence.schema-generation.connection property specifies the JDBC connection to be used for schema generation. This is intended for use in Java EE environments, where the platform provider may want to control the database privileges that are available to the persistence provider. This connection is provided by the container, and should be closed by the container when the schema generation request or entity manager factory creation completes. The connection provided must have credentials sufficient for the persistence provider to carry out the requested actions. If this property is not specified, the persistence provider should use the DataSource that has otherwise been provided. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:189994.1jakarta.persistence.sql-load-script-source true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1899.194If a load script is to be used in Java SE environments or if the Java EE container delegates the execution of the load script to the persistence provider, this property must be specified. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1899.294The jakarta.persistence.sql-load-script-source property specifies a java.IO.Reader configured for reading of the SQL load script for database initialization or a string designating a file URL for the script. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:97995In Java EE environments, the persistence provider must process the metadata that is passed to it at the time createContainerEntityManagerFactory method is called true
falsetechnologyactivefalse
PERSISTENCE:SPEC:98095 and create an instance of EntityManagerFactory using the PersistenceUnitInfo metadata for the factory. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:190095The factory is then returned to the container. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:190195In Java SE environments, the persistence provider must validate the persistence.xml file against the persistence schema that corresponds to the version specified by the persistence.xml file and report any validation errors. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:190295 When the entity manager factory for a persistence unit is created, it is the responsibility of the persistence provider to initialize the state of the metamodel classes of the persistence unit. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:190395 When the persistence provider obtains an object/relational mapping file, it processes the definitions that it contains. The persistence provider must validate any object/relational mapping files against the object/relational mapping schema version specified by the object/relational mapping file and report any validation errors. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:190495 The object relational mapping file must specify the object/relational mapping schema that it is written against by indicating the version element. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:190595 In Java SE environments, the application can pass the ValidatorFactory instance via the map that is passed as an argument to the Persistence.createEntityManagerFactory call. The map key used must be the standard property name jakarta.persistence.validation.factory. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:190695 If no ValidatorFactory instance is provided by the application, and if a Bean Validation provider is present in the classpath, the persistence provider must instantiate the ValidatorFactory using the default bootstrapping approach as defined by the Bean Validation specification, namely Validation. buildDefaultValidatorFactory(). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:98195.1The interface jakarta.persistence.spi.PersistenceProvider is implemented by the persistence provider. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:98295.1It is invoked by the container in Java EE environments. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:98395.1and by the jakarta.persistence.Persistence class in Java SE environments. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:98495.1The jakarta.persistence.spi.PersistenceProvider implementation is not intended to be used by the application. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:98595.1The PersistenceProvider implementation class must have a public no-arg constructor. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:98595.2 The ProviderUtil interface is invoked by the PersistenceUtil implementation to determine the load status of an entity or entity attribute. It is not intended to be invoked by the application. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:98695.3Persistence unit properties and hints may be passed to persistence providers in the Map parameter of the createEntityManagerFactory(String, Map) method. These properties correspond to the elements in the persistence.xml file. When any of these properties are specified in the Map parameter, their values override the values of the corresponding elements in the persistence.xml file for the named persistence unit. They also override any defaults that the provider might have applied true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:98795.3The properties listed below are defined by this specification. true
falsetechnologyremovedfalse
PERSISTENCE:SPEC:987.195.3jakarta.persistence.lock.timeout — integer value in milliseconds for pessimistic lock timeout or string corresponding to integer value. This is a hint only. true
falsetechnologyremovedfalse
PERSISTENCE:SPEC:987.295.3jakarta.persistence.query.timeout — integer value in milliseconds for query timeout or string corresponding to integer value. This is a hint only. true
falsetechnologyremovedfalse
PERSISTENCE:SPEC:98895.3jakarta.persistence.provider — string corresponding to the provider element in the persistence.xml. true
falsetechnologyremovedfalse
PERSISTENCE:SPEC:98995.3jakarta.persistence.transactionType — string corresponding to the transaction-type attribute in the persistence.xml. true
falsetechnologyremovedfalse
PERSISTENCE:SPEC:99095.3jakarta.persistence.jtaDataSource — string corresponding to the jta-data-source element in the persistence.xml. true
falsetechnologyremovedfalse
PERSISTENCE:SPEC:987.395.3jakarta.persistence.sharedCache.mode — string corresponding to the shared-cache-mode element in the persistence.xml. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:987.495.3jakarta.persistence.validation.mode — string corresponding to the validation-mode element in the persistence.xml. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:987.595.3jakarta.persistence.validation.group.pre-persist — string corresponding to the jakarta.persistence.validation.group.pre-persist property in the persistence.xml. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:987.695.3jakarta.persistence.validation.group.pre-update — string corresponding to the jakarta.persistence.validation.group.pre-update property in the persistence.xml. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:987.795.3jakarta.persistence.validation.group.pre-remove — string corresponding to the jakarta.persistence.validation.group.pre-remove property in the persistence.xml. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:190795.3Any number of vendor-specific properties may also be included in the map. Properties that are not recognized by a vendor must be ignored. true
falsetechnologyremovedfalse
PERSISTENCE:SPEC:190895.3Entries that make use of the namespace jakarta.persistence and its subnamespaces must not be used for vendor-specific information. The namespace jakarta.persistence is reserved for use by this specification. true
falsetechnologyremovedfalse
PERSISTENCE:SPEC:190996 The enum jakarta.persistence.spi.PersistenceUnitTransactionType defines whether the entity managers created by the factory will be JTA or resource-local entity managers. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:191096 The enum jakarta.persistence.SharedCacheMode defines the use of caching. The persistence. xml shared-cache-mode element has no default value. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:191196 The getSharedCacheMode method must return UNSPECIFIED if the shared-cache-mode element has not been specified for the persistence unit. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:191296The enum jakarta.persistence.ValidationMode defines the validation mode. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:191396.1The jakarta.persistence.spi.ClassTransformer interface is implemented by a persistence provider that wants to transform entities and managed classes at class load time or at class redefinition time. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:191497 The Persistence class is used to obtain an EntityManagerFactory instance in Java SE environments. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:191597 It may also be used for schema generation. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:191697 The Persistence class is available in a Java EE container environment as well; however, support for the Java SE bootstrapping APIs is not required in container environments. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:191797 The Persistence class is used to obtain a PersistenceUtil instance in both Java EE and Java SE environments. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:191897 The properties argument passed to the createEntityManagerFactory method is used to specify both standard and vendor-specific properties and hints intended for use in creating the entity manager factory. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:191997 The following properties correspond to the elements and properties in the persistence.xml file. When any of these properties are specified in the Map parameter passed to the createEntityManagerFactory method, their values override the values of the corresponding elements and properties in the persistence. xml file for the named persistence unit. They also override any defaults that the persistence provider might have applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1919.197 jakarta.persistence.lock.timeout — integer value in milliseconds for pessimistic lock timeout or string corresponding to integer value. This corresponds to the property of the same name in the persistence.xml, and is a hint only. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:1919.297 jakarta.persistence.query.timeout — integer value in milliseconds for query timeout or string corresponding to integer value. This corresponds to the property of the same name in the persistence.xml, and is a hint only. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:1919.397 jakarta.persistence.provider — string corresponding to the provider element in the persistence.xml true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1919.497 jakarta.persistence.transactionType — string corresponding to the transaction type attribute in the persistence.xml. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1919.597 jakarta.persistence.jtaDataSource — string corresponding to the jta-data-source element in the persistence.xml. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1919.697 jakarta.persistence.nonJtaDataSource — string corresponding to the non-jta-data-source element in the persistence.xml. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1919.797 jakarta.persistence.sharedCache.mode — string corresponding to the shared-cache-mode element in the persistence.xml. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1919.897 jakarta.persistence.validation.mode — string corresponding to the validation mode element in the persistence.xml. The value is "auto", "callback", or "none". true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1919.997 jakarta.persistence.validation.group.pre-persist — string corresponding to the jakarta.persistence.validation.group.pre-persist property in the persistence.xml. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1919.1097 jakarta.persistence.validation.group.pre-update — string corresponding to the jakarta.persistence.validation.group.pre-update property in the persistence.xml. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1919.1197 jakarta.persistence.validation.group.pre-remove — string corresponding to the jakarta.persistence.validation.group.pre-remove property in the persistence.xml. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1919.1297 jakarta.persistence.schema-generation.create-script-source - string corresponding to the jakarta.persistence.ddl-create-script-source property in the persistence.xml. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1919.1397 jakarta.persistence.schema-generation.drop-script-source —string corresponding to the jakarta.persistence.ddl-drop-script-source property in the persistence.xml. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1919.1497jakarta.persistence.sql-load-script-source —string corresponding to the jakarta.persistence.sql-load-script-source property in the persistence.xml. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1919.2197 jakarta.persistence.schema-generation.database.action — string corresponding to the jakarta.persistence.schema-generation.database.action property in the persistence.xml. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1919.2297 jakarta.persistence.schema-generation.scripts.action — string corresponding to the jakarta.persistence.schema-generation.scripts.action property in the persistence.xml. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1919.2397 jakarta.persistence.schema-generation.create-source — string corresponding to the jakarta.persistence.schema-generation.create-source property in the persistence.xml. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1919.2497jakarta.persistence.schema-generation.drop-source — string corresponding to the jakarta.persistence.schema-generation.drop-source property in the persistence.xml. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1919.2597 jakarta.persistence.schema-generation.scripts.create-target —string corresponding to the jakarta.persistence.schema-generation.scripts.create-target property in the persistence.xml. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1919.2197 jakarta.persistence.schema-generation.scripts.drop-target — string corresponding to the jakarta.persistence.schema-generation.scripts.drop-target property in the persistence.xml. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1919.1597 jakarta.persistence.jdbc.driver — value is the fully qualified name of the driver class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1919.1697 jakarta.persistence.jdbc.url — string corresponding to the driver-specific URL. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1919.1797 jakarta.persistence.jdbc.user — value is the username used by database connection. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1919.1897 jakarta.persistence.jdbc.password — value is the password for database connection validation. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1919.1997 jakarta.persistence.dataSource — value is instance of javax.sql.DataSource to be used for the specified persistence unit. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1919.2097 jakarta.persistence.validation.factory — value is instance of jakarta.validation.ValidatorFactory true
falsetechnologyactivetrue
PERSISTENCE:SPEC:192097 Any number of vendor-specific properties may also be included in the map. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:192197 If a persistence provider does not recognize a property (other than a property defined by this specification), the provider must ignore it. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:192297 Vendors should use vendor namespaces for properties (e.g., com.acme.persistence.logging). Entries that make use of the namespace jakarta.persistence and its subnamespaces must not be used for vendor-specific information. The namespace jakarta.persistence is reserved for use by this specification. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:192398.1 The implementation of the PersistenceUtil.isLoaded(Object) method must determine the list of persistence providers available in the runtime environment and call the ProviderUtil. isLoaded(Object) method on each of them until either: true
falsetechnologyactivefalse
PERSISTENCE:SPEC:1923.198.1 one provider returns LoadState.LOADED. In this case PersistenceUtil.isLoaded returns true. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:1923.298.1 one provider returns LoadState.NOT_LOADED. In this case PersistenceUtil.isLoaded returns false. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:1923.398.1 all providers return LoadState.UNKNOWN. In this case PersistenceUtil.isLoaded returns true. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:1923.498.1 If the PersistenceUtil implementation determines that only a single provider is available in the environment, it is permitted to use provider-specific methods to determine the result of isLoaded(Object) as long as the semantics defined in section 3.2.9 are observed. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:192498.1 The implementation of the PersistenceUtil.isLoaded(Object,String) method must determine the list of persistence providers available in the environment and call the ProviderUtil. isLoadedWithoutReference method on each of them until either: true
falsetechnologyactivefalse
PERSISTENCE:SPEC:1924.198.1 one provider returns LoadState.LOADED. In this case PersistenceUtil.isLoaded returns true. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:1924.298.1 one provider returns LoadState.NOT_LOADED. In this case PersistenceUtil.isLoaded returns false. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:1924.398.1 all providers return LoadState.UNKNOWN. In this case, the PersistenceUtil.isLoaded method then calls ProviderUtil.isLoadedWithReference on each of the providers until: • one provider returns LoadState.LOADED. In this case PersistenceUtil.isLoaded return true. • one provider returns LoadState.NOT_LOADED. In this case, PersistenceUtil.isLoaded returns false. • all providers return LoadState.UNKNOWN. In this case, PersistenceUtil.isLoaded returns true. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:1924.498.1 If the PersistenceUtil implementation determines that only a single provider is available in the environment, it is permitted to use provider-specific methods to determine the result of isLoaded(Object, String) as long as the semantics defined in section 3.2.9 are observed. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:993101Entity Annotationtrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:994101The name annotation element specifies the entity name. If the name element is not specified, the entity name defaults to the unqualified name of the entity class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:995101This name is used to refer to the entity in queries. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:997102Callback Annotationstrue
falsetechnologyremovedtrue
PERSISTENCE:SPEC:998102The EntityListeners annotation specifies the callback listener classes to be used for an entity or mapped superclass. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1925102 The ExcludeSuperclassListeners annotation specifies that the invocation of superclass listeners is to be excluded for the entity class (or mapped superclass) and its subclasses. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1926102 The ExcludeDefaultListeners annotation specifies that the invocation of default listeners is to be excluded for the entity class (or mapped superclass) and its subclasses. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:999102The following annotations are used to specify callback methods for the corresponding lifecycle events. These annotations may be applied to methods of an entity class, of a mapped superclass, or of an entity listener class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:999.1102PrePersist true
falsetechnologyactivetrue
PERSISTENCE:SPEC:999.2102PostPersist true
falsetechnologyactivetrue
PERSISTENCE:SPEC:999.3102PreRemove true
falsetechnologyactivetrue
PERSISTENCE:SPEC:999.4102PostRemove, true
falsetechnologyactivetrue
PERSISTENCE:SPEC:999.5102PreUpdate true
falsetechnologyactivetrue
PERSISTENCE:SPEC:999.6102PostUpdate true
falsetechnologyactivetrue
PERSISTENCE:SPEC:999.7102PostLoad true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2454103.1The NamedEntityGraph annotation is used to define a named entity graph. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2455103.1The entity graph may be retrieved by name using the EntityManagerFactory interface. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2456103.1The entity graph may be used to specify the path and boundaries for find operations or queries. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2457103.1The NamedEntityGraph annotation must be applied to the entity class that forms the root of the corresponding graph of entities. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2458103.1The name element is used to refer to the entity graph. It defaults to the entity name of the root entity to which the annotation is applied. Entity graph names must be unique within the persistence unit. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2459103.1The attributeNodes element lists attributes of the annotated entity class that are to be included in the entity graph. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2460103.1The includeAllAttributes element specifies that all attributes of the annotated entity class are to be included in the entity graph. An attributeNode element may still be used in conjunction with this element to specify a subgraph for the attribute. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2461103.1The subgraphs element specifies a list of subgraphs, further specifying attributes that are managed types. These subgraphs are referenced by name from NamedAttributeNode definitions. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2462103.1The subclassSubgraphs element specifies a list of subgraphs that add additional attributes for subclasses of the root entity to which the annotation is applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2463103.1The NamedEntityGraphs annotation is used to specify multiple named entity graphs for the entity to which it is applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2464103.2The NamedAttributeNode annotation is used to specify an attribute node of within an entity graph or subgraph. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2465103.2The value element specifies the name of the corresponding attribute. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2466103.2The subgraph element is used to refer to a NamedSubgraph specification that further characterizes an attribute node corresponding to a managed type (entity or embeddable). The value of the subgraph element must correspond to the name used for the subgraph in the NamedSubgraph element. If the referenced attribute is an entity which has entity subclasses, there may be more than one Named- Subgraph element with this name, and the subgraph element is considered to refer to all of these. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2467103.2The keySubgraph element is used to refer to a NamedSubgraph specification that further characterizes an attribute node corresponding to the key of a Map-valued attribute. The value of the the key- Subgraph element must correspond to the name used for the subgraph in the NamedSubgraph element. If the referenced attribute is an entity which has entity subclasses, there may be more than one NamedSubgraph element with this name, and the keySubgraph element is considered to refer to all of these. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2468103.3The NamedSubgraph annotation is used to further define an attribute node. It is referenced by its name from the subgraph or keySubgraph element of a NamedAttributeNode element. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2469103.3The name element is the name used to reference the subgraph from a NamedAttributeNode definition. In the case of entity inheritance, multiple subgraph elements have the same name. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2470103.3The type element must be specified when the subgraph corresponds to a subclass of the entity type corresponding to the referencing attribute node. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2471103.3The attributeNodes element lists attributes of the class that must be included. If the subgraph corresponds to a subclass of the class referenced by the corresponding attribute node, only subclass-specific attributes are listed. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1004104.1The NamedQuery annotation is used to specify a named query in the Java Persistent query language. The name element is used to refer to the query when using the EntityManager methods that create query objects. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1238104.1The query element must specify a query string in the Java Persistence query language. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1927104.1 The lockMode element specifies a lock mode for the results returned by the query. If a lock mode other than NONE is specified, the query must be executed within a transaction and the persistence context joined to the transaction. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1928104.1 The hints elements may be used to specify query properties and hints. Properties defined by this specification must be observed by the provider; hints defined by this specification should be observed by the provider when possible. Vendor-specific hints that are not recognized by a provider must be ignored. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1929104.1 The NamedQuery and NamedQueries annotations can be applied to an entity or mapped superclass. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1005104.2The NamedNativeQuery annotation is used to specify a native SQL named query. The name element is used to refer to the query when using the EntityManager methods that create query objects. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1930104.2The query element specifies the native query. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1006104.2The resultClass element refers to the class of the result. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1007104.2the value of the resultSetMapping element is the name of a SQLResultSetMapping as defined in the metadata. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1931104.2 The hints elements may be used to specify query properties and hints. Hints defined by this specification should be observed by the provider when possible. Vendor-specific hints that are not recognized by a provider must be ignored. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1932104.2The NamedNativeQuery and NamedNativeQueries annotations can be applied to an entity or mapped superclass. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1933104.3 The NamedStoredProcedureQuery annotation is used to specify a stored procedure, its parameters, and its result type. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1934104.3 The name element is the name that is passed as an argument to the createNamedStoredProcedureQuery method to create an executable StoredProcedureQuery object. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1935104.3 The procedureName element is the name of the stored procedure in the database. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1936104.3 The parameters of the stored procedure are specified by the parameters element. All parameters must be specified in the order in which they occur in the parameter list of the stored procedure. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1937104.3 The resultClasses element refers to the class (or classes) that are used to map the results. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1938104.3 The resultSetMappings element names one or more result set mappings, as defined by the SqlResultSetMapping annotation. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1939104.3 If there are multiple result sets, it is assumed that they will be mapped using the same mechanism true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1940104.3 The order of the specification of these mappings must be the same as the order in which the result sets will be returned by the stored procedure invocation. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1941104.3 If the stored procedure returns one or more result sets and no resultClasses or resultSetMappings element is specified, any result set will be returned as a list of type Object[]. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1942104.3 The combining of different strategies for the mapping of stored procedure result sets is undefined. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1943104.3 The hints element may be used to specify query properties and hints. Properties defined by this specification must be observed by the provider. Vendor-specific hints that are not recognized by a provider must be ignored. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:1944104.3 The NamedStoredProcedureQuery and NamedStoredProcedureQueries annotations can be applied to an entity or mapped superclass. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1945104.3 All parameters of a named stored procedure query must be specified using the StoredProcedureParameter annotation. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1946104.3 The name element refers to the name of the parameter as defined by the stored procedure in the database. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1947104.3 If a parameter name is not specified, it is assumed that the stored procedure uses positional parameters. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1948104.3 The mode element specifies whether the parameter is an IN, INOUT, OUT, or REF_CURSOR parameter. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1949104.3REF_CURSOR parameters are used by some databases to return result sets from stored procedures. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:1950104.3The type element refers to the JDBC type for the parameter. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1008104.4Annotations for SQL Query Result Set Mappings true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1009104.4The SqlResultSetMapping annotation is used to specify the mapping of the result of a native SQL query or stored procedure. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1010104.4The name element is the name given to the result set mapping and is used to refer to it in the methods of the Query and StoredProcedureQuery APIs. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1011104.4The entities, classes, and columns elements are used to specify the mapping to entities, constructors, and to scalar values respectively. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1012104.4The entityClass element specified the class of the result. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1014104.4The fields element is used to map the columns specified in the SELECT list of the query to the properies or fields of the entity class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1013104.4The discriminatorColumn element is used to specify the column name (or alias) of the column in the SELECT list that is used to determine the type of the entity instance. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1015104.4The name element is the name of the persistent field or property of the class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1016104.4The column element specifies the name of the corresponding column in the SELECT list true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1951104.4The targetClass element specifies the class whose constructor is to be invoked. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1952104.4The columns element specifies the mapping of columns in the SELECT list to the arguments of the intended constructor. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1953104.4The name element specifies the name of the column in the SELECT list. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1954104.4The type element specifies the Java type to which the column type is to be mapped. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1955104.4If the type element is not specified, the default JDBC type mapping for the column will be used. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1018105References to EntityManager and EntityManagerFactory true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1019105.1The PersistenceContext annotation is used to express a dependency on a container-managed entity manager and its associated persistence context. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1020105.1The name element refers to the name by which the entity manager is to be accessed in the environment referencing context, and is not needed when dependency injection is used. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1021105.1The optional unitName element refers to the name of the persistence unit. If the unitName element is specified, the persistence unit for the entity manager that is accessible in JNDI must have the same name. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1022105.1The type element specifies whether a transaction-scoped or extended persistence context is to be used. If the type element is not specified, a transaction-scoped persistence context is used. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1018.1105.1The synchronizationType element 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. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1018.2105.1The optional properties element may be used to specify properties for the container or persistence provider. Properties defined by this specification must be observed by the provider. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1018.3105.1The optional properties element may be used to specify properties for the container or persistence provider. Properties defined by this specification must be observed by the provider. Vendor specific properties may be included in the set of properties, and are passed to the persistence provider by the container when the entity manager is created. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1018.4105.1Properties that are not recognized by a vendor must be ignored. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:1018.5105.1The PersistenceContexts annotation declares one or more PersistenceContext annotations. It is used to express a dependency on multiple persistence contexts. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1023105.2The PersistenceUnit annotation is used to express a dependency on an entity manager factory and its associated persistence unit. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1024105.2The name element refers to the name by which the entity manager factory is to be accessed in the environment referencing context, and is not needed when dependency injection is used. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1025105.2The optional unitName element refers to the name of the persistence unit as defined in the persistence.xml file. If the unitName element is specified, the persistence unit for the entity manager factory that is accessible in JNDI must have the same name. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2420105.2The PersistenceUnits annotation declares one or more PersistenceUnit annotations. It is used to express a dependency on multiple persistence units true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1956106A converter class must betrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:1956.1106annotated with the Converter annotation true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1956.2106defined in the XML descriptor as a converter true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1957106 If the autoApply element is specified as true, the persistence provider must automatically apply the converter to all mapped attributes of the specified target type for all entities in the persistence unit except for attributes for which conversion is overridden by means of the Convert annotation (or XML equivalent). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1958106In determining whether a converter is applicable to an attribute, the provider must treat primitive types and wrapper types as equivalent. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:1959106Note that Id attributes, version attributes, relationship attributes, and attributes explicitly annotated as Enumerated or Temporal (or designated as such via XML) will not be converted. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1960106 If autoApply is false, only those attributes of the target type for which the Convert annotation (or corresponding XML element) has been specified will be converted. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1961106 Note that if autoApply is true, the Convert annotation may be used to override or disable auto-apply conversion on a per-attribute basis. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1962106 If there is more than one converter defined for the same target ype, the Convert annotation should be used to explicitly specify which converter to use. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1026110The implementation of this specification must assume this application dependency upon the object/relational mapping metadata true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1027110It is permitted, but not required, that DDL generation be supported by an implementation of this specification. Portable applications should not rely upon the use of DDL generation. false
truetechnologyremovedtrue
PERSISTENCE:SPEC:1963111XML metadata may be used as an alternative to these annotations, or to override or augment annotations true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1239111.1The Access annotation is 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. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1964111.2 The AssociationOverride annotation may be applied to an entity that extends a mapped superclass to override a relationship mapping defined by the mapped superclass. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1062.1111.2If the AssociationOverride annotation is not specified, the association is mapped the same as in the original mapping. The joinColumns element refers to the table for the class that contains the annotation. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1965111.2 When used to override a mapping defined by a mapped superclass, the AssociationOverride annotation is applied to the entity class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1241111.2The AssociationOverride annotation may be used to override a relationship mapping from an embeddable within an entity to another entity when the embeddable is on the owning side of the relationship. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1966111.2 When used to override a relationship mapping defined by an embeddable class (including an embeddable class embedded within another embeddable class), the AssociationOverride annotation is applied to the field or property containing the embeddable. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1967111.2 When the AssociationOverride annotation is used to override a relationship mapping from an embeddable class, the name element specifies the referencing relationship field or property within the embeddable class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1968111.2 To override mappings at multiple levels of embedding, a dot (".") notation syntax must be used in the name element to indicate an attribute within an embedded attribute. The value of each identifier used with the dot notation is the name of the respective embedded field or property. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1242111.2 When the AssociationOverride annotation is applied to override the mappings of an embeddable class used as a map value, "value." must be used to prefix the name of the attribute within the embeddable class that is being overridden in order to specify it as part of the map value. The use of map keys that contain embeddables that reference entities is not permitted. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1969111.2 If the relationship mapping is a foreign key mapping, the joinColumns element of the AssociationOverride annotation is used. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1243111.2 If the relationship mapping uses a join table, the joinTable element of the AssociationOverride element must be specified to override the mapping of the join table and/or its join columns. Note that either the joinColumns element or the joinTable element of the AssociationOverride annotation is specified for overriding a given relationship (but never both). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2488111.2The foreignKey element is used to specify or control the generation of a foreign key constraint for the columns corresponding to the joinColumns element when table generation is in effect. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2489111.2If both this element and the foreignKey element of any of the joinColumns elements are specified, the behavior is undefined. false
falsetechnologyactivetrue
PERSISTENCE:SPEC:1240111.2The AssociationOverride annotation may be applied to an entity that extends a mapped superclass to override a many-to-one or one-to-one mapping defined by the mapped superclass. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:1970111.3 The mappings of multiple relationship properties or fields may be overridden. The AssociationOverrides annotation is used for this purpose. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1059111.4The AttributeOverride annotation is used to override the mapping of a Basic (whether explicit or default) property or field or Id property or field. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1244111.4The AttributeOverride annotation may be applied to an entity that extends a mapped superclass or to an embedded field or property to override a Basic mapping or Id mapping defined by the mapped superclass or embeddable class (or embeddable class of one of its attributes). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1971111.4The AttributeOverride annotation may be applied to an element collection containing instances of an embeddable class true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1972111.4The AttributeOverride annotation may be applied to a map collection whose key and/or value is an embeddable class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1245111.4When the AttributeOverride annotation is applied to a map, "key." or "value." must be used to prefix the name of the attribute that is being overridden in order to specify it as part of the map key or map value. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1973111.4To override mappings at multiple levels of embedding, a dot (".") notation form must be used in the name element to indicate an attribute within an embedded attribute. The value of each identifier used with the dot notation is the name of the respective embedded field or property. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1974111.4If the AttributeOverride annotation is not specified, the column is mapped the same as in the original mapping. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1975111.4The column element refers to the table for the class that contains the annotation. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1062111.5The mappings of multiple properties or fields may be overridden. The AttributesOverrides annotation is used for this purpose. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1062.091.5The AssociationOverride annotation is used to override a many-to-one or one-to-one mapping of property or field for an entity relationship. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:1069111.6The Basic annotation is the simplest type of mapping to a database column. The Basic annotation can be applied to a persistent property or instance variable of any of the following types true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1070111.6Java primitive types true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1072111.6wrappers of the primitive types true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1071111.6java.lang.String true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1077111.6java.math.BigInteger true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1078111.6java.math.BigDecimal true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1079111.6java.util.Date true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1080111.6java.util.Calendar true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1081111.6java.sql.Date true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1082111.6java.sql.Time true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1083111.6java.sql.TimeStamp true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1073111.6byte[] true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1074111.6Byte[] true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1075111.6char[] true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1076111.6Character[] true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1069.1111.6enums true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1069.2111.6any other type that implements Serializable true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1976111.6the use of the Basic annotation is optional for persistent fields and properties of these types. If the Basic annotation is not specified for such a field or property, the default values of the Basic annotation will apply. true
truetechnologyactivetrue
PERSISTENCE:SPEC:1977111.6The EAGER strategy is a requirement on the persistence provider runtime that data must be eagerly fetched. true
truetechnologyactivetrue
PERSISTENCE:SPEC:1084111.6The LAZY strategy is a hint to the persistence provider runtime that data should be fetched lazily when it is first accessed. true
truetechnologyactivefalse
PERSISTENCE:SPEC:1085111.6The implementation is permitted to eagerly fetch data for which the LAZY strategy hint hasd been specified. true
truetechnologyactivefalse
PERSISTENCE:SPEC:1086111.6In particular, lazy fetching might only be available for Basic mappings for which property-based access is used. true
truetechnologyactivefalse
PERSISTENCE:SPEC:1087111.6The optional element is a hint as to whether the value of the field or property may be null. true
truetechnologyactivefalse
PERSISTENCE:SPEC:1088111.6It is disregarded for primitive types.true
truetechnologyactivefalse
PERSISTENCE:SPEC:1978111.7The Cacheable annotation specifies whether an entity should be cached if caching is enabled when the value of the persistence.xml shared-cache-mode element is ENABLE_SELECTIVE or DISABLE_SELECTIVE. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1979111.7The value of the Cacheable annotation is inherited by subclasses; it can be overridden by specifying Cacheable on a subclass. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1980111.7Cacheable(false) means that the entity and its state must not be cached by the provider. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1981111.7If the shared-cache-mode element is not specified in the persistence.xml file and the jakarta.persistence.sharedCache.mode property is not specified when the entity manager factory for the persistence unit is created, the semantics of the Cacheable annotation are undefined. true
truetechnologyactivefalse
PERSISTENCE:SPEC:1982111.8The CollectionTable annotation is used in the mapping of collections of true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1982.1111.8basic typestrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:1982.2111.8embeddable typestrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:1246111.8The CollectionTable annotation specifies the table that is used for the mapping of the collection and is specified on the collection valued field or property. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1983111.8 By default, the columns of the collection table that correspond to the embeddable class are derived from the attributes of the embeddable class according to the default values of the Column annotation, true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1984111.8 By default, the columns of the collection table that correspond to the basic type are derived from the attributes from the basic type according to the default values of the Column annotation, true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1985111.8 In the case of a basic type, the column name is derived from the name of the collection-valued field or property. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1986111.8 In the case of an embeddable class, the column names are derived from the field or property names of the embeddable class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1247111.8To override the default properties of the column used for a basic type, the Column annotation is used on the collection-valued attribute in addition to the ElementCollection annotation. The value of the table element of the Column annotation defaults to the name of the collection table. To override these defaults for an embeddable class, the AttributeOverride and/or AttributeOverrides annotations must be used in addition to the ElementCollection annotation. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1987111.8 The value of the table element of the Column annotation used in the AttributeOverride annotation defaults to the name of the collection table. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1988111.8 If the embeddable class contains references to other entities, the default values for the columns corresponding to those references may be overridden by means of the AssociationOverride and/or AssociationOverrides annotations true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2504111.8 The foreignKey element is used to specify or control the generation of a foreign key constraint for the columns corresponding to the joinColumns element when table generation is in effect. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2504.1111.8 If both this element and the foreignKey element of any of the joinColumns elements are specified, the behavior is undefined. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2504.2111.8 If no foreignKey annotation element is specified in either location, the persistence provider's default foreign key strategy will apply. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1989111.8 If the CollectionTable annotation is missing, the default values of the CollectionTable annotation elements apply. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1037111.9The Column annotation is used to specify a mapped column for a persistent property or field. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1990111.9If no Column annotation is specified, the default values apply true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1991111.10The Convert annotation is applied directly to an attribute of an entity, mapped superclass, or embeddable class to specify conversion of a Basic attribute or to override the use of a converter that has been specified as autoApply=true. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2421111.10When persistent properties are used, the Convert annotation is applied to the getter method. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1992111.10The Convert annotation may be applied to an entity that extends a mapped superclass to specify or override the conversion mapping for an inherited basic attribute. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2422111.10The converter element is used to specify the converter that is to be applied. If an autoApply converter is applicable to the given field or property, the converter specified by the converter element will be applied instead. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2423111.10The disableConversion element specifies that any applicable autoApply converter must not be applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2424111.10The behavior is undefined if neither the converter element nor the disableConversion element has been specified. false
truetechnologyactivetrue
PERSISTENCE:SPEC:1993111.10The Convert annotation should not be used to specify conversion of the following: true
falsetechnologyactivefalse
PERSISTENCE:SPEC:1993.1111.10Id attributes(including the attributes of embedded ids and derived identities) true
falsetechnologyactivefalse
PERSISTENCE:SPEC:1993.2111.10version attributestrue
falsetechnologyactivefalse
PERSISTENCE:SPEC:1993.3111.10relationship attributestrue
falsetechnologyactivefalse
PERSISTENCE:SPEC:1993.4111.10attributes explicitly annotated (or designated via XML) as Enumerated true
falsetechnologyactivefalse
PERSISTENCE:SPEC:1993.5111.10attributes explicitly annotated (or designated via XML) as Temporal. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:1994111.10The Convert annotation may be applied to a basic attribute or to an element collection of basic type (in which case the converter is applied to the elements of the collection). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1995111.10In these cases, the attributeName element must not be specified. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:1996111.10The Convert annotation may be applied to an embedded attribute or to a map collection attribute whose key or value is of embeddable type (in which case the converter is applied to the specified attribute of the embeddable instances contained in the collection). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1997111.10In these cases, the attributeName element must be specified. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1998111.10To override conversion mappings at multiple levels of embedding, a dot (".") notation form must be used in the attributeName element to indicate an attribute within an embedded attribute. The value of each identifier used with the dot notation is the name of the respective embedded field or property. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1999111.10When the Convert annotation is applied to a map containing instances of embeddable classes, the attributeName element must be specified, and "key." or "value." must be used to prefix the name of the attribute that is to be converted in order to specify it as part of the map key or map value. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2000111.10When the Convert annotation is applied to a map to specify conversion of a map key of basic type, "key" must be used as the value of the attributeName element to specify that it is the map key that is to be converted. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2001111.10The Convert annotation may be applied to an entity class that extends a mapped superclass to specify or override a conversion mapping for an inherited basic or embedded attribute. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2002111.11The Converts annotation is used to group Convert annotations. Multiple converters must not be applied to the same basic attribute. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1116111.12For the SINGLE_TABLE mapping strategy, and typically also for the JOINED strategy, the persistence provider will use a type discriminator column. The supported discriminator types are defined by the DiscriminatorType enum: STRING, CHAR, INTEGER. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1126111.12The DiscriminatorColumn annotation is used to define the discriminator column for the SINGLE_TABLE and JOINED inheritance mapping strategies. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2003111.12 The strategy and the discriminator column are only specified in the root of an entity class hierarchy or subhierarchy in which a different inheritance strategy is applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2004111.12 The combination of inheritance strategies within a single entity inheritance hierarchy is not defined by this specification. false
falsetechnologyactivefalse
PERSISTENCE:SPEC:1126.1111.12The DiscriminatorColumn annotation can be specified on an entity class (including on an abstract entity class). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1126.2111.12If the DiscriminatorColumn annotation is missing, and a discriminator column is required, the name of the discriminator column defaults to "DTYPE" and the discriminator type to STRING. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1126.2111.12The type of the discriminator column, if specified in the optional columnDefinition element, must be consistent with the discriminator type. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1126.3111.13The DiscriminatorValue annotation is used to specify the value of the discriminator column for entities of the given type. The DiscriminatorValue annotation can only be specified on a concrete entity class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1126.4111.13If the DiscriminatorValue annotation is not specified and a discriminator column is used, a provider-specific function will be used to generate a value representing the entity type. true
truetechnologyactivetrue
PERSISTENCE:SPEC:1118111.13 The inheritance strategy and the discriminator column are only specified in the root of an entity class hierarchy or subhierarchy in which a different inheritance strategy is applied. true
truetechnologyactivetrue
PERSISTENCE:SPEC:2005111.13 The discriminator value, if not defaulted, should be specified for each entity class in the hierarchy. true
truetechnologyactivetrue
PERSISTENCE:SPEC:2006111.13 The discriminator value must be consistent in type with the discriminator type of the specified or defaulted discriminator column. If the discriminator type is an integer, the value specified must be able to be converted to an integer value true
truetechnologyactivetrue
PERSISTENCE:SPEC:2513111.13If the DiscriminatorType is STRING, the discriminator value default is the entity name. true
truetechnologyactivetrue
PERSISTENCE:SPEC:2007111.14 The ElementCollection annotation defines a collection of instances of a basic type or embeddable class. true
truetechnologyactivetrue
PERSISTENCE:SPEC:2008111.14 The ElementCollection annotation (or equivalent XML element) must be specified if the collection is to be mapped by means of a collection table true
truetechnologyactivetrue
PERSISTENCE:SPEC:1248111.14The basic or embeddable class that is the element type of the collection. Optional only if the collection field or property is defined using Java generics. Must be specified otherwise. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1249111.14The EAGER strategy is a requirement on the persistence provider runtime that the collection elements must be eagerly fetched. true
truetechnologyactivefalse
PERSISTENCE:SPEC:1127111.15The Embeddable annotation is used to specify a class whose instances are stored as an intrinsic part of an owning entity and share the identity of the entity. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2009111.16The Embedded annotation is used to specify true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2009.1111.16a persistent fieldtrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2009.2111.16property of an entitytrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2009.3111.16embeddable class whose value is an instance of an embeddable class. If the embeddable class is used as a primary key, the EmbeddedId rather than the Embedded annotation is used. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1129111.16The Embedded annotation may be used in an entity class when it is using a shared embeddable class. The entity may override the column mappings declared within the embeddable class to apply to its own entity table. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:1128111.16Each of the persistent properties or fields of the embedded object is mapped to the database table. Only Basic, Column, Serialized, and Lob mapping annotations may be used to map embedded object. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:2010111.16Each of the persistent properties or fields of the embedded object is mapped to the database table for the entity or embeddable class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2011111.16The embeddable class must be annotated as Embeddable. Use of the Embedded annotation is not required true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2012111.16 Implementations are not required to support embedded objects that are mapped across more than one table (e.g., split across primary and secondary tables or multiple secondary tables). true
truetechnologyactivefalse
PERSISTENCE:SPEC:1063111.17The EmbeddedId annotation is 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. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2013111.17 The embeddable class must be annotated as Embeddable. Note that theId annotation is not used in the embeddable class true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2014111.17 Relationship mappings defined within an embedded id class are not supported. false
falsetechnologyactivetrue
PERSISTENCE:SPEC:1064111.17There must be only one EmbeddedId annotation and no Id annotation when the EmbeddedId annotation is used. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1251111.17The AttributeOverride annotation may be used to override the column mappings declared within the embeddable class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2015111.17The MapsId annotation may be used in conjunction with the EmbeddedId annotation to specify a derived primary key. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2016111.17 If the entity has a derived primary key, the AttributeOverride annotation may only be used to override those attributes of the embedded id that do not correspond to the relationship to the parent entity. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1090.1111.18The Enumerated annotation specifies that a persistent property or field should be persisted as enumerated type. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2017111.18The Enumerated annotation may be used in conjunction with the Basic annotation. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2018111.18The Enumerated annotation may be used in conjunction with the ElementCollection annotation when the element collection value is of basic type. If the element collection is a Map, this applies to the map value. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1090.2111.18An enum can be mapped as either string or integer. The EnumType enum defines the mapping for enumerated types. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2019111.18Mapping of enum values that contain state is not supported. false
falsetechnologyactivetrue
PERSISTENCE:SPEC:1090.3111.18If the enumerated type is not specified or the Enumerated annotation is not used, the enumerated type is assumed to be ORDINAL unless a converter is being applied.. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2020111.19 The ForeignKey annotation is used to specify the handling of foreign key constraints when schema generation is in effect. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2490111.19If this annotation is not specified, the persistence provider’s default foreign key strategy will be used. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2491111.19The enum values have the following semantics: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2491.1111.19A value of CONSTRAINT will cause the persistence provider to generate a foreign key constraint. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2491.2111.19A value of NO_CONSTRAINT will result in no constraint being generated. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2491.3111.19A value of PROVIDER_DEFAULT will result in the provider's default behavior (which may or may not result in the generation of a constraint for any given join column or set of join columns). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2021111.19The syntax used in the foreignKeyDefinition element should follow the SQL syntax used by the target database for foreign key constraints true
truetechnologyactivefalse
PERSISTENCE:SPEC:2492111.19If the ForeignKey annotation is specified with a ConstraintMode value of CONSTRAINT, but the foreignKeyDefinition element is not specified, the provider will generate a foreign key constraint whose update and delete actions it determines most appropriate for the join column(s) to which the foreign key constraint is applied true
truetechnologyactivefalse
PERSISTENCE:SPEC:1057111.20The GeneratedValue annotation provides for the specification of generation strategies for the value of primary keys. The GeneratedValue annotation may be applied to a primary key property or mapped superclass in conjunction with the Id annotation. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2023111.20The use of the GeneratedValue annotation is only required to be supported for simple primary keys. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2024111.20Use of the GeneratedValue annotation is not supported for derived primary keys. false
falsetechnologyactivetrue
PERSISTENCE:SPEC:1051111.20The types of the primary key generation are defined by the GenerationType enum. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1052111.20The TABLE generator type value indicates that the persistence provider must assign primary keys for the entity using an underlying database table to ensure uniqueness. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1053111.20The SEQUENCE and IDENTITY values specify the use of a database sequence or identity column, respectively. Note that SEQUENCE and IDENTITY are not portable across all databases. true
truetechnologyactivefalse
PERSISTENCE:SPEC:1055111.20The AUTO value indicates that the persistence provider should pick an appropriate strategy for the particular database. true
truetechnologyactivefalse
PERSISTENCE:SPEC:1253111.20The primary key generation strategy is that the persistence provider must generate the annotated entity primary key. The name of the primary key generator to be used as specified in the SequenceGenerator or TableGenerator annotation. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:1066111.21The Id annotation may be applied in an entity or mapped superclass. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1049111.21The Id annotation specifies the primary key property or field of an entity. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2025111.21The field or property to which the Id annotation is applied should be one of the following types true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2025.1111.21any Java primitive typetrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2025.2111.21any primitive wrapper typetrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2025.3111.21java.lang.Stringtrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2025.4111.21java.util.Datetrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2025.5111.21java.sql.Datetrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2025.6111.21java.math.BigDecimaltrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2025.7111.21java.math.BigIntegertrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:1050111.21The mapped column for the primary key of the entity is assumed to be the primary key of the primary table. If no Column annotation is specified, the primary key column name is assumed to be the name of the identifier property or field. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1065111.22The IdClass annotation is applied to an entity class or a mapped superclass to specify a composite primary key class that is mapped to multiple fields or properties of the entity. The names of the fields or properties in the primary key class and the primary key fields or properties of the entity must correspond and their types must match. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2026111.23The Index annotation is used in schema generation. Note that it is not necessary to specify an index for a primary key, as the primary key index will be created automatically, however, the Index annotation may be used to specify the ordering of the columns in the index for the primary key. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2027111.23The persistence provider must observe the specified ordering of the columns. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2028111.23If ASC or DESC is not specified, ASC (ascending order) is assumed. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2029111.24 The Inheritance annotation defines the inheritance strategy to be used for an entity class hierarchy. It is specified on the entity class that is the root of the entity class hierarchy. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1119111.24if no inheritance type is specified for an entity class hierarchy, the SINGLE_TABLE mapping strategy is used. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2030111.24Support for the combination of inheritance strategies is not required by this specification. false
falsetechnologyactivetrue
PERSISTENCE:SPEC:1112111.24The three inheritance mapping strategies are: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1113111.24single table per class hierarchytrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:1115111.24joined subclasstrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:1114111.24table per concrete class strategies. Support for the TABLE_PER_CLASS mapping strategy is optional in this release. false
truetechnologyactivetrue
PERSISTENCE:SPEC:1038111.25The JoinColumn annotation is used to specify a column for joining an entity association or element collection. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1042111.25If the JoinColumn annotation itself is defaulted, a single join column is assumed and the default values apply. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1039111.25The name annotation element defines the name of the foreign key column. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2031111.25The remaining annotation elements (other than referencedColumnName) refer to this column and have the same semantics as for the Column annotation. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1040111.25If the referencedColumnName element is missing, the foreign key is assumed to refer to the primary key of the referenced table. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1047111.25Support for referenced columns that are not the primary key of the referenced table is optional. Applications that use such mappings will not be portable. false
truetechnologyactivetrue
PERSISTENCE:SPEC:2493111.25The foreignKey annotation element is used to specify or control the generation of a foreign key constraint when schema generation is in effect. If both this element and the foreignKey element of any of the JoinColumn elements referenced by the value element are specified, the behavior is undefined. If no foreignKey annotation element is specified in either location, the persistence provider’'s default foreign key strategy will apply. true
truetechnologyactivetrue
PERSISTENCE:SPEC:2494111.25If there is more than one join column, a JoinColumn annotation must be specified for each join column using the JoinColumns annotation. Both the name and the referencedColumnName elements must be specified in each such JoinColumn annotation. true
truetechnologyactivetrue
PERSISTENCE:SPEC:1041111.25If the name annotation element is missing, or if no JoinColumn annotation is specified, the join columns are assumed to have the same names as the primary key columns of the referenced table. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1043111.25if a single join column is usedtrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:1044111.25 name default - The concatenation of the following: the name of the referencing relationship property or field of the referencing entity; "_"; the name of the referenced primary key column. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1043.1111.25 name default - The concatenation of the following: If there is no such referencing relationship property or field in the entity, or if the join is for an element collection, the join column name is formed as the concatenation of the following: the name of the entity; "_"; the name of the referenced primary key column. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1045111.25 referencedColumnName default - If the referencedColumnName element is missing, The same name as the primary key column of the referenced table. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1046111.25If there is more than one join column, a JoinColumn annotation must be specified for each join column using the JoinColumns annotation. Both the name and referencedColumnName elements must be specified in each such JoinColumn annotation. annotation. false
truetechnologyactivetrue
PERSISTENCE:SPEC:1048111.26Composite foreign keys are supported by means of the JoinColumns annotation. The JoinColumns annotation groups JoinColumn annotations for the same relationship. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2032111.26When the JoinColumns annotation is used, both the name and the referencedColumnName elements must be specified in each of the grouped JoinColumn annotations. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2495111.26The foreignKey annotation element is used to specify or control the generation of a foreign key constraint when schema generation is in effect. If this element is not specified, the persistence provider’s default foreign key strategy will apply. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1097111.27A JoinTable annotation is used in the mapping of associations. A JoinTable annotation is specified on the owning side of the association. If the JoinTable annotation is not explicitly specified for the mapping of a many-to-many or unidirectional one-to-many relationship, the default values of the annotation elements apply. The name of the JoinTable is assumed to be the tables names of the associated primary tables concatenated together (owning side first) using an underscore. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2505111.27The foreignKey element is used to specify or control the generation of a foreign key constraint for the columns corresponding to the joinColumns element when table generation is in effect. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2505.1111.28 If both this element and the foreignKey element of any of the joinColumns elements are specified, the behavior is undefined. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2505.2111.28 If no foreignKey annotation element is specified in either location, the persistence provider's default foreign key strategy will apply. The inverseForeignKey element applies to the generation of a foreign key constraint for the columns corresponding to the inverseJoinColumns element, and similar rules apply. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1089111.28A Lob annotation specifies that a persistent property or field should be persisted as a large object to a database-supported large object type. true
truetechnologyactivetrue
PERSISTENCE:SPEC:2033111.28The Lob annotation may be used in conjunction with the Basic annotation or with the ElementCollection annotation when the element collection value is of basic type. If the element collection is a Map, this applies to the map value. true
truetechnologyactivetrue
PERSISTENCE:SPEC:2034111.28A Lob may be either a binary or character type. true
truetechnologyactivetrue
PERSISTENCE:SPEC:2035111.28The Lob type is inferred from the type of the persistent field or property and, except for string and character types, defaults to Blob. true
truetechnologyactivetrue
PERSISTENCE:SPEC:109291.25Multiple operations may be included in the [cascade] set. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:1098111.29A ManyToMany annotation defines a many-valued association with many-to-many multiplicity. If the collection is defined using generics to specify the element type, the associated target entity class does not need to be specified; otherwise it must be specified. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1254111.29Every many-to-many association has two sides, the owning side and the non-owning, or inverse, side. If the association is bidirectional, either side may be designated as the owning side. The join table for the relationship, if not defaulted, is specified on the owning side. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1099111.29Every many-to-many association has two sides, the owning side and the non-owning or inverse side. The join table for the relationship, if not defaulted, is specified on the owning side. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:1256111.29If the relationship is bidirectional, the non-owning side must use the mappedBy element of the ManyToMany annotation to specify the relationship field or property of the owning side. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1255111.29The ManyToMany annotation may be used within an embeddable class contained within an entity class to specify a relationship to a collection of entities. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2036111.29 The ManyToMany annotation must not be used within an embeddable class used in an element collection true
falsetechnologyactivefalse
PERSISTENCE:SPEC:2037111.29 If the relationship is bidirectional and the entity containing the embeddable class is the owner of the relationship, the non-owning side must use the mappedBy element of the ManyToMany annotation to specify the relationship field or property of the embeddable class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2037.1111.29 The dot (".") notation syntax must be used in the mappedBy element to indicate the relationship attribute within the embedded attribute. The value of each identifier used with the dot notation is the name of the respective embedded field or property. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1093111.29The value cascade=ALL is equivalent to cascade={PERSIST, MERGE, REMOVE, REFRESH, DETACH}. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2038111.29When the collection is a java.util.Map, the cascade element applies to the map value. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2039111.29The EAGER strategy is a requirement on the persistence provider runtime that the associated entity must be eagerly fetched. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2040111.29The LAZY strategy is a hint to the persistence provider runtime that the associated entity should be fetched lazily when it is first accessed. The implementation is permitted to eagerly fetch associations for which the LAZY strategy hint has been specified. true
truetechnologyactivefalse
PERSISTENCE:SPEC:1090111.30The ManyToOne annotation defines a single-valued association to another entity class that has a many-to-one multiplicity. It is not normally necessary to specify the name of the associated target entity explicitly since it can usually be inferred from the type of the object being referenced. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1257111.30The ManyToOne annotation may be used within an embeddable class to specify a relationship from the embeddable class to an entity class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1258111.30 If the relationship is bidirectional, the non-owning OneToMany entity side must use the mappedBy element of the OneToMany annotation to specify the relationship field or property of the embeddable field or property on the owning side of the relationship. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1259111.30 The dot (".") notation syntax must be used in the mappedBy element to indicate the relationship attribute within the embedded attribute. The value of each identifier used with the dot notation is the name of the respective embedded field or property. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1091111.30The operations that can be cascaded are defined by the CascadeType enum true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2041111.30The EAGER strategy is a requirement on the persistence provider runtime that the associated entity must be eagerly fetched. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2042111.30The LAZY strategy is a hint to the persistence provider runtime that the associated entity should be fetched lazily when it is first accessed. The implementation is permitted to eagerly fetch associations for which the LAZY strategy hint has been specified. true
truetechnologyactivefalse
PERSISTENCE:SPEC:1100111.31The MapKey annotation is used to specify the map key for associations of type java.util.Map. When the mapkey is itself the primary key or a persistent field or property of the entity that is the value of the map. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1101111.31The name element designates the name of the persistent field or property of the associated entity that is used as the map key. If name element is not specified,the primary key of the associated entity is used as the map key. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1102111.31If the primary key is a composite primary key and is mapped as IdClass, an instance of the primary key class is used as the key. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2043111.31If a persistent field or property other than the primary key is used as a map key, it is expected to be unique within the context of the relationship. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2044111.31The MapKeyClass annotation is not used when MapKey is specified and vice versa. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2045111.32The map key can betrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2045.1111.32a basic typetrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2045.2111.32an embeddable classtrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2045.3111.32an entitytrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2046111.32If the map is specified using Java generics, the MapKeyClass annotation and associated type need not be specified; otherwise they must be specified. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2047111.32The MapKeyClass annotation is used in conjunction with true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2047.1111.32ElementCollectiontrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2047.2111.32one of the collection- valued relationship annotations (OneToMany). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2047.3111.32one of the collection- valued relationship annotations (ManyToMany). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2048111.32The MapKey annotation is not used when MapKeyClass is specified and vice versa. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1261111.33The MapKeyColumn annotation is used to specify the mapping for the key column of a map whose map key is a basic type. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2049111.33If the name element is not specified, it defaults to the concatenation of the following: the name of the referencing relationship field or property; "_"; "KEY". true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2050111.33If no MapKeyColumn annotation is specified, the default values in Table apply. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2051111.34The MapKeyEnumerated annotation is used to specify the enum type for a map key whose basic type is an enumerated type. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2052111.34The MapKeyEnumerated annotation can be applied to an element collection or relationship of type java.util.Map, in conjunction with the true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2052.1111.34ElementCollection annotation.true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2052.2111.34OneToMany annotation.true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2052.3111.34ManyToMany annotation.true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2053111.34If the map is specified using Java generics, the MapKeyClass annotation and associated type need not be specified; otherwise they must be specified. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2054111.34If the enumerated type is not specified or the MapKeyEnumerated annotation is not used, the enumerated type is assumed to be ORDINAL. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2055111.35The MapKeyJoinColumn annotation is used to specify a mapping to an entity that is a map key. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2056111.35The map key join column is in thetrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2056.1111.35collection table of the target entity that is used to represent the map true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2056.2111.35join table of the target entity that is used to represent the map true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2056.3111.35table of the target entity that is used to represent the map true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2057111.35If no MapKeyJoinColumn annotation is specified, a single join column is assumed and the default values described below (and in Table 29) apply. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2058111.35The name annotation element defines the name of the foreign key column. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2059111.35The remaining annotation elements (other than referencedColumnName) refer to this column. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2060111.35If there is a single map key join column, and if the name annotation member is missing, the map key join column name is formed as the concatenation of the following: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2060.1111.35the name of the referencing relationship property or field of the referencing entity; "_"; "KEY". true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2060.2111.35the name of the referencing relationship property or field of the referencing embeddable; "_"; "KEY". true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2061111.35If the referencedColumnName element is missing, the foreign key is assumed to refer to the primary key of the referenced table. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2062111.35Support for referenced columns that are not primary key columns of the referenced table is optional. Applications that use such mappings will not be portable. false
falsetechnologyactivetrue
PERSISTENCE:SPEC:2506111.35The foreignKey element is used to specify or control the generation of a foreign key constraint for the map key join column when table generation is in effect. If the foreignKey element is not specified, the persistence provider’s default foreign key strategy will be used. false
falsetechnologyactivetrue
PERSISTENCE:SPEC:1262111.35If there is more than one map key join column, a MapKeyJoinColumn annotation must be specified for each join column using the MapKeyJoinColumns annotation. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1263111.35Both the name and the referencedColumnName elements must be specified in each such MapKeyJoinColumn annotation. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2063111.36Composite map keys referencing entities are supported by means of the MapKeyJoinColumns annotation. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1264111.36When the MapKeyJoinColumns annotation is used, both the name and the referencedColumnName elements must be specified in each of the grouped MapKeyJoinColumn annotations. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2508111.36The foreignKey element is used to specify or control the generation of a foreign key constraint for the columns corresponding to the MapKeyJoinColumn elements referenced by the value element when table generation is in effect. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2508.1111.36If both this element and the foreignKey element of any of the MapKeyJoinColumn elements are specified, the behavior is undefined. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2508.2111.36If no foreignKey annotation element is specified in either location, the persistence provider's default foreign key strategy will apply. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2064111.37The MapKeyTemporal annotation is used to specify the temporal type for a map key whose basic type is a temporal type. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2065111.37The MapKeyTemporal annotation can be applied to an element collection or relationship of type java.util.Map, in conjunction with the true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2065.1111.37ElementCollection annotation.true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2065.2111.37OneToMany annotation.true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2065.3111.37ManyToMany annotation.true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2066111.37If the map is specified using Java generics, the MapKeyClass annotation and associated type need not be specified; otherwise they must be specified. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1130111.38The MappedSuperclass annotation designates a class whose mapping information is applied to the entities that inherit from it. A mapped superclass has no separate table defined for it. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1131111.38A class designated with the MappedSuperclass annotation can be mapped in the same way as an entity except that the mappings will apply only to its subclasses since no table exists for the mapped superclass itself. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1132111.38When applied to the subclasses the inherited mappings will apply in the context of the subclass tables. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1133111.38Mapping information may be overridden in such subclasses by using the Mapping information may be overridden in such subclasses by using the AttributeOverride, AttributeOverrides, AssociationOverride,and AssociationOverrides annotations. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2067111.39 The MapsId annotation is used to designate a ManyToOne or OneToOne relationship attribute that provides the mapping for true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2067.1111.39an EmbeddedId primary keytrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2067.2111.39an attribute within an EmbeddedId primary key true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2067.3111.39a simple primary key of the parent entity true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2068111.39The value element specifies the attribute within a composite key to which the relationship attribute corresponds. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2069111.39If the entity’s primary key is of the same Java type as the primary key of the entity referenced by the relationship, the value attribute is not specified. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1250111.39The Embedded annotation may be used to specify a persistent field or property of an entity or embeddable class whose value is an instance of an embedable class. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:1095111.40The OneToMany annotation defines a many-valued association with one-to-many multiplicity. If the Collection is defined using generics to specify the element type then the associated target entity class need not be specified; Otherwise it must be specified. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1096111.40Unidirectional one-to-many relationships may be implemented using one-to-many foreign key mappings. true
truetechnologyremovedtrue
PERSISTENCE:SPEC:1265111.40The OneToMany annotation may be used within an embeddable class contained within an entity class to specify a relationship to a collection of entities. If the relationship is bidirectional, the mappedBy element must be used to specify the relationship field or property of the entity that is the owner of the relationship. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2070111.40The OneToMany annotation must not be used within an embeddable class used in an element collection. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:2071111.40When the collection is a java.util.Map, the cascade element and the orphanRemoval element apply to the map value. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2072111.40 If orphanRemoval is true and an entity that is the target of the relationship is removed from the relationship (either by removal from the collection or by setting the relationship to null), the remove operation will be applied to the entity being orphaned. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2073111.40If the entity being orphaned is a detached, new, or removed entity, the semantics of orphanRemoval do not apply. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2074111.40 If orphanRemoval is true and the remove operation is applied to the source entity, the remove operation will be cascaded to the relationship target in accordance with the rules of section 3.2.3, (and hence it is not necessary to specify cascade=REMOVE for the relationship)[ true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2075111.40 If the parent is detached or new or was previously removed before the orphan was associated with it, the remove operation is not applied to the entity being orphaned. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2076111.40The remove operation is applied at the time of the flush operation. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1266111.40 Portable applications must otherwise not depend upon a specific order of removal, and must not reassign an entity that has been orphaned to another relationship or otherwise attempt to persist it. false
falsetechnologyactivefalse
PERSISTENCE:SPEC:2077111.40The default mapping for unidirectional one-to-many relationships uses a join table, true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2078111.40Unidirectional one-to-many relationships may be implemented using one-to-many foreign key mappings, using the JoinColumn and JoinColumns annotations. false
falsetechnologyactivefalse
PERSISTENCE:SPEC:1094111.41The OneToOne annotation defines a single-valued association to another entity class that has a one-to-one multiplicity. It is not normally necessary to specify the name of the associated target entity explicitly since it can usually be inferred from the type of the object being referenced. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2079111.41 If the relationship is bidirectional, the mappedBy element must be used to specify the relationship field or property of the entity that is the owner of the relationship. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1267111.41The OneToOne annotation may be used within an embeddable class to specify a relationship from the embeddable class to an entity class. If the relationship is bidirectional and the entity containing the embeddable class is on the owning side of the relationship, the non-owning side must use the mappedBy element of the OneToOne annotation to specify the relationship field or property of the embeddable class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2080111.41 The dot (".") notation syntax must be used in the mappedBy element to indicate the relationship attribute within the embedded attribute. The value of each identifier used with the dot notation is the name of the respective embedded field or property. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2081111.41 If orphanRemoval is true and an entity that is the target of the relationship is removed from the relationship (by setting the relationship to null), the remove operation will be applied to the entity being orphaned. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2082111.41If the entity being orphaned is a detached, new, or removed entity, the semantics of orphanRemoval do not apply. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2083111.41If orphanRemoval is true and the remove operation is applied to the source entity, the remove operation will be cascaded to the relationship target in accordance with the rules of section 3.2.3, (and hence it is not necessary to specify cascade=REMOVE for the relationship) true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2084111.41If the parent is detached or new or was previously removed before the orphan was associated with it, the remove operation is not applied to the entity being orphaned. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2085111.41The remove operation is applied at the time of the flush operation. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2086111.41Portable applications must otherwise not depend upon a specific order of removal, and must not reassign an entity that has been orphaned to another relationship or otherwise attempt to persist it. false
falsetechnologyactivefalse
PERSISTENCE:SPEC:1103111.42The OrderBy annotation specifies the ordering the elements of a collection-valued association or element collection are to have when the association or collection is retrieved. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1104111.42The syntax of the value ordering element is an orderby_list, as follows: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1105111.42orderby_listtrue
falsetechnologyremovedtrue
PERSISTENCE:SPEC:1106111.42orderby_list::=orderby_item[,orderby_item]* true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1107111.42 orderby_item::=property_or_field_name[ASC|DESC] true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1108111.42If orderby_list is not specified or if ASC or DESC is not specified, ASC (ascending order) is assumed. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2087111.42If the ordering element is not specified for an entity association, ordering by the primary key of the associated entity is assumed. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2088111.42 If the primary key is a composite primary key, the precedence of ordering among the attributes within the primary key is not futher defined. To assign such a precedence within these attributes, each of the individual attributes must be specified as an orderby_item. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1109111.42A property or field name specified as an orderby_item must correspond to a basic persistent property or field of the associated class or embedded class within it. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1110111.42The properties or fields used in the ordering must correspond to columns for which comparison operators are supported. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2089111.42The dot (".") notation is used to refer to an attribute within an embedded attribute. The value of each identifier used with the dot notation is the name of the respective embedded field or property. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1111111.42The OrderyBy annnotation specifies the ordering of the elements of a collection-valued association or element collection at the point when the association is retrieved. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:1268111.42The OrderBy annotation may be applied to an element collection. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2090111.42When OrderBy is applied to an element collection of basic type, the ordering will be by value of the basic objects and the property_or_field_name is not used true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2091111.42In all other cases when OrderBy is applied to an element collection, the property_or_field_name must be specified. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2092111.42 When specifying an ordering over an element collection of embeddable type, the dot notation must be used to specify the attribute or attributes that determine the ordering. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2093111.42The OrderBy annotation is not used when an order column is specified. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:2094111.43The persistence provider is responsible for maintaining the order upon retrieval and in the database. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2095111.43The persistence provider is responsible for updating the ordering upon flushing to the database to reflect any true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2095.1111.43insertion affecting the listtrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2095.2111.43deletion affecting the listtrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2095.3111.43reordering affecting the listtrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2096111.43The OrderColumn annotation may be specified on a true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2096.1111.43one-to-many relationshiptrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2096.2111.43many-to-many relationshiptrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2096.3111.43on an element collectiontrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2097111.43The OrderColumn annotation is specified on the side of the relationship that references the collection that is to be ordered. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2098111.43The order column is not visible as part of the state of the entity or embeddable class. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:2099111.43The OrderBy annotation should be used for ordering that is visible as persistent state and maintained by the application true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2100111.43The OrderBy annotation is not used when OrderColumn is specified. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:2101111.43If name is not specified, the column name is the concatenation of the following: the name of the referencing relationship property or field of the referencing entity or embeddable class; "_"; "ORDER". true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2102111.43The order column must be of integral type. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2103111.43The persistence provider must maintain a contiguous (non-sparse) ordering of the values of the order column when updating the association or element collection. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2104111.43The order column value for the first element of the list must be 0. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1120111.44The PrimaryKeyJoinColumn annotation specifies the primary key columns that are used as a foreign key to join to another table. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1121111.44The PrimaryKeyJoinColumn annotated is used: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1122111.44to join the primary table of an entity subclass in the JOINED mapping strategy to the primary table of its superclass true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1121.1111.44it is used within a SecondaryTable annotation to join a secondary table to a primary table; true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1123111.44in a OneToOne mapping in which the primary key of the referencing entity is used as a foreign key to the referenced entity. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2509111.44The foreignKey element is used to specify or control the generation of a foreign key constraint for the primary key join column when table generation is in effect. If the foreignKey element is not specified, the persistence provider’s default foreign key strategy will be used. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1124111.44If no PrimaryKeyJoinColumn annotation is specified for a subclass in the JOINED mapping strategy, the foreign key columns are assumed to have the same names as the primary key columns of the primary table of the superclass. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1125111.45Composite foreign keys are supported by means of the PrimaryKeyJoinColumns annotation true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2510111.45The foreignKey element is used to specify or control the generation of a foreign key constraint for the columns corresponding to the PrimaryKeyJoinColumn elements referenced by the value element when table generation is in effect. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2510.1111.45If both this element and the foreignKey element of any of the PrimaryKeyJoinColumn elements are specified, the behavior is undefined. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2510.2111.45If no foreignKey annotation element is specified in either location, the persistence provider's default foreign key strategy will apply. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1272111.46The SecondaryTable annotation is used to specify a secondary table for the annotated entity class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1273111.46If no SecondaryTable annotation is specified, it is assumed that all persistent fields or properties of the entity are mapped to the primary table. Specifying one or more secondary tables indicates that the data for the entity class is stored across multiple tables. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1031111.46If no primary key join columns are specified, the join columns are assumed to reference the primary key columns of the primary table, and have the same names and types as the referenced primary key columns of the primary table. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1274111.46If no primary key join columns are specified, the join columns are assumed to reference the primary key columns of the primary table, and have the same names and types as the referenced primary key columns of the primary table. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:2511111.46The foreignKey element is used to specify or control the generation of a foreign key constraint for the columns corresponding to the pkJoinColumns element when table generation is in effect. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:2511.1111.46If both this element and the foreignKey element of any of the pkJoinColumns elements are specified, the behavior is undefined. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:2511.2111.46If no foreignKey annotation element is specified in either location, the persistence provider's default foreign key strategy will apply. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:2105111.47The SecondaryTables annotation is used to specify multiple secondary tables for an entity. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:1137111.47A generator may be defined at either the package, class, method, or field level. The level at which it is defined will depend upon the desired visibility and sharing of the generator. No scoping or visibility rules are actually enforce d. However, it is good practice to define the generator at the level for which it will be used. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:2106111.48The SequenceGenerator annotation defines a primary key generator that may be referenced by name when a generator element is specified for the GeneratedValue annotation. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2107111.48A sequence generator may be specified on the true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2107.1111.48entity classtrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2107.2111.48on the primary key fieldtrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2107.3111.48on the primary key propertytrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2108111.48The scope of the generator name is global to the persistence unit (across all generator types). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:113491.44The SequenceGenerator annotation defines a primary key or id generator which may be referenced by name when annotation the id attribute. true
truetechnologyremovedfalse
PERSISTENCE:SPEC:1135111.48A generator may be defined at either the package, class, method, or field level. The level at which it is defined will depend upon the desired visibility and sharing of the generator. No scoping or visibility rules are actually enforced. However, it is good practice to define the generator at the level for which it will be used. true
truetechnologyremovedfalse
PERSISTENCE:SPEC:1028111.49The Table annotation specifies the primary table for the annotated entity. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2109111.49Additional tables may be specified by using the SecondaryTable or SecondaryTables annotation true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2110111.49When a joined inheritance strategy is used, the Table annotation is used to specify a primary table for the subclass-specific state if the default is not used. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1028.1111.49If no Table annotation is specified for an entity class, the default values defined in Table 42 apply. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1136111.50The TableGenerator annotation defines a primary key or id generator which may be referenced by name when when a generator element is specified for the GeneratedValue annotation. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2111111.50 A table generator may be specified on the true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2111.1111.50entity class true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2111.2111.50primary key field true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2111.3111.50property true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2112111.50The scope of the generator name is global to the persistence unit (across all generator types). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2113111.50The table element specifies the name of the table that is used by the persistence provider to store generated primary key values for entities. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1090.0111.51The Temporal annotation must be specified for persistent fields or properties of type java.util.Date and java.util.Calendar unless a converter is being applied. It may only be specified for fields or properties of those types. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2114111.51The Temporal annotation may be used in conjunction with the true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2114.1111.51Basic annotationtrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2114.2111.51Id annotationtrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2114.3111.51ElementCollection annotation (when the element collection value is of such a temporal type). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2114.4111.51If the element collection is a Map, this applies to the map value. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1067111.52The Transient annotation is used to annotate a property or field of an entity class, mapped superclass, or embeddable class. It specifies that the property or field is not persistent. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1036111.53The UniqueConstraint annotation is used to specify that a unique constraint should be included in the generated DDL for a primary or secondary table. false
truetechnologyactivetrue
PERSISTENCE:SPEC:1068111.54The Version annotation specifies the version field or property of an entity class that serves a its optimistic lock value. The version is used to ensure integrity when performing the merge operation and for optimistic concurrency control. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2115111.54Only a single Version property or field should be used per class; applications that use more than one Version property or field will not be portable. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2116111.54The Version property should be mapped to the primary table for the entity class; applications that map the Version property to a table other than the primary table will not be portable. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2117111.54The following types are supported for version properties: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2117.1111.54inttrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2117.2111.54Integertrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2117.3111.54shorttrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2117.4111.54Shorttrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2117.5111.54longtrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2117.6111.54Longtrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2117.7111.54Timestamptrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2118112If schema generation is in effect, the persistence provider must observe the mapping information specified by these annotations and their corresponding XML elements. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2118.1112DiscriminatorColumn true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2118.2112EmbeddedId true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2118.3112Enumerated true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2118.4112MapKeyEnumerated true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2118.24112ForeignKey true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2118.5112GeneratedValue true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2118.6112Id true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2118.7112Index true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2118.8112Inheritance true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2118.9112JoinColumn true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2118.10112JoinTable true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2118.11112Lob true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2118.12112MapKeyColumn true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2118.13112MapKeyJoinColumn true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2118.14112OrderColumn true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2118.15112PrimaryKeyJoinColumn true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2118.16112SecondaryTable true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2118.17112SequenceGenerator true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2118.18112Table true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2118.19112TableGenerator true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2118.20112Temporal true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2118.21112MapKeyTemporal true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2118.22112UniqueConstraint true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2118.23112Version true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2119112.1.1By default, a table is created for every top-level entity and, by default, includes columns corresponding to the basic and embedded attributes of the entity and the foreign keys to the tables of related entities. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2120112.1.1These columns include columns that result from the use of mapped superclasses, if any. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2121112.1.1The SecondaryTable annotation, in conjunction with the use of the table element of the Column and Join- Column annotations, is used to override this mapping to partition the state of an entity across multiple tables true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2122112.1.1The mapping of the columns of a table is controlled by the Column and JoinColumn annotations. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2123112.1.1When entity state in inherited from a mapped superclass, the AttributeOverride and AssociationOverride annotations may be used to further control the column-level mapping of inherited state. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2124112.1.2The Inheritance annotation defines the inheritance strategy for an entity hierarchy. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2124.1112.1.2The inheritance strategy determines whether the table for a top-level entity includes columns for entities that inherit from the entity true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2124.2112.1.2and whether it includes a discriminator column true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2124.3112.1.2or whether separate tables are created for each entity type that inherits from the top-level entity true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2125112.1.3A secondary table is created to partition the mapping of entity state across multiple tables. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2126112.1.4A collection table is created for the mapping of an element collection. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2127112.1.4The Column, AttributeOverride, and AssociationOverride annotations may be used to override CollectionTable mappings true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2128112.1.5By default, join tables are created for the mapping of many-to-many relationships and unidirectional one-to-many relationships. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2129112.1.5Join tables may also be used to map bidirectional many-to-one/one-to-many associations, unidirectional many-to-one relationships, and one-to-one relationships (both bidirectional and unidirectional). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2130112.1.5The AssociationOverride annotation may be used to override join table mappings. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2131112.2In general, however, an implementation of this specification should conform to the “Standard Mapping from Java Types to JDBC Types” as defined by the JDBC specification true
truetechnologyactivefalse
PERSISTENCE:SPEC:2132112.2Unless otherwise explicitly specified, however, VARCHAR and VARBINARY mappings should be used in preference to CHAR and BINARY mappings. true
truetechnologyactivefalse
PERSISTENCE:SPEC:2133112.2Applications that are sensitive to the exact database mappings that are generated should use the columnDefinition element of the Column annotation or include DDL files that specify how the database schema is to be generated. true
truetechnologyactivefalse
PERSISTENCE:SPEC:2134112.2.1The following elements of the Column annotation are used in schema generation: true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2134.1112.2.1nametrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2134.2112.2.1uniquetrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2134.3112.2.1nullabletrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2134.4112.2.1columnDefinitiontrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2134.5112.2.1tabletrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2134.6112.2.1lengthtrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2134.7112.2.1precisiontrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2134.8112.2.1scaletrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2135112.2.1The AttributeOverride annotation may be used to override column mappings. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2136112.2.2The MapKeyColumn annotation specifies the mapping for a key column of a map when the key is of basic type. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2136.1112.2.2nametrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2136.2112.2.2uniquetrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2136.3112.2.2nullabletrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2136.4112.2.2columnDefinitiontrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2136.5112.2.2tabletrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2136.6112.2.2lengthtrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2136.7112.2.2precisiontrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2136.8112.2.2scaletrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2137112.2.2The AttributeOverride annotation may be used to override column mappings. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2138112.2.3The Enumerated annotations control whether string- or integer-valued columns are generated for basic attributes of enumerated types and therefore impact the default column mappings for these types. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2138.1112.2.3The Column annotations may be used to further control the column mappings for attributes of enumerated types. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2138.2112.2.3The MapKeyColumn annotations may be used to further control the column mappings for attributes of enumerated types. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2139112.2.3The MapKeyEnumerated annotations control whether string- or integer-valued columns are generated for basic attributes of enumerated types and therefore impact the default column mappings for these types. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2139.1112.2.3The Column annotations may be used to further control the column mappings for attributes of enumerated types. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2139.2112.2.3The MapKeyColumn annotations may be used to further control the column mappings for attributes of enumerated types. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2140112.2.4The Temporal annotations control whether date-, time-, or timestamp-value columns are generated for basic attributes of temporal types, and therefore impact the default column mappings for these types. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2140.1112.2.3The Column annotations may be used to further control the column mappings for attributes of temporal types. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2140.2112.2.3The MapKeyColumn annotations may be used to further control the column mappings for attributes of temporal types. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2141112.2.4The MapKeyTemporal annotations control whether date-, time-, or timestamp-value columns are generated for basic attributes of temporal types, and therefore impact the default column mappings for these types. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2141.1112.2.4The Column annotations may be used to further control the column mappings for attributes of temporal types. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2141.2112.2.4The MapKeyColumn annotations may be used to further control the column mappings for attributes of temporal types. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2142112.2.6The OrderColumn annotation specifies the generation of a column that is used to maintain the persistent ordering of a list that is represented in an true
truetechnologyactivefalse
PERSISTENCE:SPEC:2142.1112.2.6element collectiontrue
truetechnologyactivefalse
PERSISTENCE:SPEC:2142.2112.2.6one-to-many relationshiptrue
truetechnologyactivefalse
PERSISTENCE:SPEC:2142.3112.2.6many-to-many relationshiptrue
truetechnologyactivefalse
PERSISTENCE:SPEC:2142.4112.2.6nametrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2142.5112.2.6nullabletrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2142.6112.2.6columnDefinitiontrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2143112.2.7The DiscriminatorColumn annotation may be used to control the mapping of the discriminator column true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2144112.2.7A discriminator column is generated for the SINGLE_TABLE mapping strategy true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2145112.2.7and may optionally be generated by the provider for use with the JOINED inheritance strategy true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2146112.2.8The Version annotation specifies the generation of a column to serve as an entity's optimistic lock. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2147112.2.8The Column annotation may be used to further control the column mapping for a version attribute. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2148112.3.1Use of the Id annotation results in the creation of a primary key consisting of the corresponding column or columns. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2149112.3.1The Column annotation may be used to further control the column mapping for an Id attribute that is applied to a basic type. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2150112.3.1If the Id column was defined in a mapped superclass, the AttributeOverride annotation may be used to control the column mapping. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2151112.3.1The JoinColumn annotation may be used to further control the column mappings for an Id attribute that is applied to a relationship that corresponds to a foreign key. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2152112.3.1If the Id attribute was defined in a mapped superclass, the AssociationOverride annotation may be used to control the column mapping. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2153112.3.2Use of the EmbeddedId annotation results in the creation of a primary key consisting of the corresponding columns true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2154112.3.2Use of the EmbeddedId annotation results in the creation of a primary key consisting of the corresponding columns true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2155112.3.2The Column annotation may be used to control the column mapping for an embeddable class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2156112.3.2If the EmbeddedId attribute is defined in a mapped superclass, the AttributeOverride annotation may be used to control the column mappings. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2157112.3.2If an EmbeddedId attribute corresponds to a relationship attribute, the MapsId annotation must be used, and the column mapping is determined by the join column for the relationship. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2158112.3.3The GeneratedValue annotation indicates a primary key whose value is to be generated by the provider. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2159112.3.2If a strategy is indicated, the provider must use it if it is supported by the target database. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2160112.3.2specification of the AUTO strategy may result in the provider creating a database object for Id generation true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2161112.3.2The GeneratedValue annotation may only be portably used for simple (i.e., non-composite) primary keys. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2162112.4.1The JoinColumn annotation is typically used in specifying a foreign key mapping. In general, the foreign key definitions created will be provider-dependent and database-dependent. Applications that are sensitive to the exact mapping that is used should use the foreignKey element of the JoinColumn annotation or include DDL files that specify how the database schemas are to be generated. true
truetechnologyactivefalse
PERSISTENCE:SPEC:2163112.4.1nametrue
truetechnologyactivefalse
PERSISTENCE:SPEC:2164112.4.1referencedColumnNametrue
truetechnologyactivefalse
PERSISTENCE:SPEC:2165112.4.1uniquetrue
truetechnologyactivefalse
PERSISTENCE:SPEC:2166112.4.1nullabletrue
truetechnologyactivefalse
PERSISTENCE:SPEC:2167112.4.1columnDefinitiontrue
truetechnologyactivefalse
PERSISTENCE:SPEC:2168112.4.1tabletrue
truetechnologyactivefalse
PERSISTENCE:SPEC:2169112.4.1foreignKeytrue
truetechnologyactivefalse
PERSISTENCE:SPEC:2170112.4.1The AssociationOverride annotation may be used to override relationship mappings. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:2171112.4.1The PrimaryKeyJoinColumn annotation is used to join secondary tables and may be used in the mapping of one-to-one relationships true
falsetechnologyactivefalse
PERSISTENCE:SPEC:2172112.4.2The MapKeyJoinColumn annotation is to specify foreign key mappings to entities that are map keys in map-valued element collections or relationships. In general, the foreign key definitions created should be expected to be provider-dependent and database-dependent. Applications that are sensitive to the exact mapping that is used should use the foreignKey element of the MapKeyJoinColumn annotation or include DDL files that specify how the database schemas are to be generated. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:2173112.4.2nametrue
truetechnologyactivefalse
PERSISTENCE:SPEC:2174112.4.2referencedColumnNametrue
truetechnologyactivefalse
PERSISTENCE:SPEC:2175112.4.2uniquetrue
truetechnologyactivefalse
PERSISTENCE:SPEC:2176112.4.2nullabletrue
truetechnologyactivefalse
PERSISTENCE:SPEC:2177112.4.2columnDefinitiontrue
truetechnologyactivefalse
PERSISTENCE:SPEC:2178112.4.2tabletrue
truetechnologyactivefalse
PERSISTENCE:SPEC:2179112.4.2foreignKeytrue
truetechnologyactivefalse
PERSISTENCE:SPEC:2180112.4.2The AssociationOverride annotation may be used to override such mappings. true
truetechnologyactivefalse
PERSISTENCE:SPEC:2181112.4.3The PrimaryKeyJoinColumn annotation specifies that a primary key column is to be used as a foreign key. This annotation is used in the specification of the JOINED mapping strategy and for joining a secondary table to a primary table in a OneToOne relationship mapping. In general, the foreign key definitions created should be expected to be provider-dependent and database-dependent. Applications that are sensitive to the exact mapping that is used should use the foreignKey element of the PrimaryKeyJoinColumn annotation or include DDL files that specify how the database schemas are to be generated. true
truetechnologyactivefalse
PERSISTENCE:SPEC:2182112.4.4The ForeignKey annotation may be used within the true
truetechnologyactivetrue
PERSISTENCE:SPEC:2182.1112.4.4JoinColumntrue
truetechnologyactivetrue
PERSISTENCE:SPEC:2182.2112.4.4JoinColumnstrue
truetechnologyactivetrue
PERSISTENCE:SPEC:2182.3112.4.4MapKeyJoinColumntrue
truetechnologyactivetrue
PERSISTENCE:SPEC:2182.4112.4.4MapKeyJoinColumnstrue
truetechnologyactivetrue
PERSISTENCE:SPEC:2182.5112.4.4PrimaryKeyJoinColumntrue
truetechnologyactivetrue
PERSISTENCE:SPEC:2182.6112.4.4PrimaryKeyJoinColumnstrue
truetechnologyactivetrue
PERSISTENCE:SPEC:2182.7112.4.4CollectionTabletrue
truetechnologyactivetrue
PERSISTENCE:SPEC:2182.8112.4.4JoinTabletrue
truetechnologyactivetrue
PERSISTENCE:SPEC:2182.9112.4.4SecondaryTable, AssociationOverride true
truetechnologyactivetrue
PERSISTENCE:SPEC:2182.10112.4.4AssociationOverridetrue
truetechnologyactivetrue
PERSISTENCE:SPEC:2189112.5.1The SequenceGenerator annotation creates a database sequence to be used for Id generation. The use of generators is limited to those databases that support them. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2190112.5.2The Index annotation generates an index consisting of the specified columns. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2191112.5.2The ordering of thenames in the columnList element specified in the Index annotation must be observed by the provider when creating the index. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2192112.5.3The ordering of the column- Names specified in the UniqueConstraint annotation must be observed by the provider when creating the constraint. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2193112.5.3The unique element is equivalent to the use of the UniqueConstraint annotation when only one column is to be included in the constraint true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2194112.5.3Columntrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2195112.5.3JoinColumntrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2196112.5.3MapKeyColumntrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2197112.5.3MapKeyJoinColumntrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2198121 If the xml-mapping-metadata-complete subelement is specified, the complete set of mapping metadata for the persistence unit is contained in the XML mapping files for the persistence unit, and any persistence annotations on the classes are ignored. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2199121 If xml-mapping-metadata-complete is specified and XML elements are omitted, the default values apply. These default values are the same as the corresponding defaults when annotations are used, except in the cases specified in Section 12.2 below. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2200121 When the xml-mapping-metadata-complete element is specified, any metadata-complete attributes specified within the entity, mapped-superclass, and embeddable elements are ignored. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2201121 If the xml-mapping-metadata-complete subelement is not specified, the XML descriptor overrides the values set or defaulted by the use of annotations, as described below. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2202121 The Java Persistence 2.0 persistence provider must support use of the object/relational mapping schema defined in Enterprise JavaBeans, v. 3.0. Java Persistence API. true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:2203121 The Java Persistence persistence provider must support use of true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2203.1121 older versions of the object/relational mapping schema true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2203.2121 as well as the object/relational mapping schema defined in Section 12.3 true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2203.3121whether singlytrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2203.4121 in combination when multiple mapping files are used. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1138122XML Overriding Rulestrue
falsetechnologyremovedtrue
PERSISTENCE:SPEC:1139122.1persistent-unit-defaults Subelementstrue
falsetechnologyremovedtrue
PERSISTENCE:SPEC:2204122.1.1The schema subelement applies to all ... in the persistence unit. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2204.1122.1.1entitiestrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2204.2122.1.1tablestrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2204.3122.1.1secondary tablestrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2204.4122.1.1join tablestrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2204.5122.1.1collection tablestrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2204.6122.1.1table generatorstrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2204.7122.1.1sequence generatorstrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2205122.1.1The schema subelement is overridden bytrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2205.1122.1.1any schema subelement of the entity-mappings element true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2205.2122.1.1any schema element explicitly specified in the Table or SecondaryTable annotation on an entity true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2205.3122.1.1any schema attribute on any table or secondary-table subelement defined within an entity element true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2205.4122.1.1any schema element explicitly specified in a TableGenerator annotation or table-generator subelement true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2205.5122.1.1any schema element explicitly specified in a SequenceGenerator annotation or sequence-generator subelement true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2205.6122.1.1any schema element explicitly specified in a JoinTable annotation or join-table subelement true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2205.7122.1.1and any schema element explicitly specified in a CollectionTable annotation or collection-table subelement. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2206122.1.2The catalog subelement applies to all ... in the persistence unit. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2206.1122.1.2entitiestrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2206.2122.1.2tablestrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2206.3122.1.2secondary tablestrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2206.4122.1.2join tablestrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2206.5122.1.2collection tablestrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2206.6122.1.2table generatorstrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2206.7122.1.2sequence generatorstrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2207122.1.2The catalog subelement is overridden bytrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2207.1122.1.2any catalog subelement of the entity-mappings element true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2207.2122.1.2any catalog element explicitly specified in the Table or SecondaryTable annotation on an entity true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2207.3122.1.2any catalog attribute on any table or secondary-table subelement defined within an entity XML element true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2207.4122.1.2any catalog element explicitly specified in a TableGenerator annotation or table-generator subelement true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2207.5122.1.2any catalog element explicitly specified in a SequenceGenerator annotation or sequence-generator subelement true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2207.6122.1.2any catalog element explicitly specified in a JoinTable annotation or join-table subelement true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2207.7122.1.2and any catalog element explicitly specified in a CollectionTable annotation or collection-table subelement true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2208122.1.3It specifies that all database table-, schema-, and column-level identifiers in use for the persistence unit be treated as delimited identifiers. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2209122.1.4The access subelement applies to all managed classes in the persistence unit. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2210122.1.4The access subelement is overriddentrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2210.1122.1.4by the use of any annotations specifying mapping information on the fields or properties of the entity class true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2210.2122.1.4by any Access annotation on the entity class, mapped superclass, or embeddable class true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2210.3122.1.4by any access subelement of the entity-mappings element true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2210.4122.1.4by any Access annotation on a field or property of an entity class, mapped superclass, or embeddable class true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2210.5122.1.4by any access attribute defined within an entity, mapped-superclass, or embeddable XML element true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2210.6122.1.4by any access attribute defined within an id, embedded-id, version, basic, embedded, many-to-one, one-to-one, one-to-many, many-to-many or element-collection element. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2211122.1.5The cascade-persist subelement applies to all relationships in the persistence unit. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2212122.1.5 Specifying this subelement adds the cascade persist option to all relationships in addition to any settings specified in annotations or XML. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2213122.1.6 The entity-listeners subelement defines default entity listeners for the persistence unit. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2214122.1.6 These entity listeners are called before any other entity listeners for an entity unless the entity listener order is overridden within a true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2214.1122.1.6mapped-superclasstrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2214.2122.1.6entity elementtrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2214.3122.1.6 the ExcludeDefaultListeners annotation is present on the entity or mapped superclass true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2214.4122.1.6 the exclude-default-listeners subelement is specified within the corresponding entity or mapped-superclass XML element. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2215122.2.1The package subelement specifies the package of the classes listed within the subelements and attributes of the same mapping file only. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2216122.2.1The package subelement is overridden if the fully qualified class name is specified for a class and the two disagree. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2217122.2.2The schema subelement applies to all ... listed within the same mapping file. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2217.1122.2.2entitiestrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2217.2122.2.2tablestrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2217.3122.2.2secondary tablestrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2217.4122.2.2join tablestrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2217.5122.2.2collection tablestrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2217.6122.2.2table generatorstrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2217.7122.2.2sequence generatorstrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2218122.2.2The schema subelement is overridden bytrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2218.1122.2.2 any schema element explicitly specified in the Table, SecondaryTable, JoinTable, or CollectionTable annotation on an entity listed within the mapping file true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2218.2122.2.2 any schema attribute on any table or secondary-table subelement defined within the entity element for such an entity true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2218.3122.2.2 any schema attribute on any join-table or collection-table subelement of an attribute defined within the attributes subelement of the entity element for such an entity true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2218.4122.2.2 by the schema attribute of any table-generator or sequence-generator element within the mapping file. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2219122.2.3The catalog subelement applies to all ... listed within the same mapping file. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2219.1122.2.3entitiestrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2219.2122.2.3tablestrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2219.3122.2.3secondary tablestrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2219.4122.2.3join tablestrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2219.5122.2.3collection tablestrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2219.6122.2.3table generatorstrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2219.7122.2.3sequence generatorstrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2220122.2.3The catalog subelement is overridden bytrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2220.1122.2.3any catalog element explicitly specified in the Table, SecondaryTable, JoinTable, or CollectionTable annotation on an entity listed within the mapping file true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2220.2122.2.3 any catalog attribute on any table or secondary-table subelement defined within the entity element for such an entity true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2220.3122.2.3 by any catalog attribute on any join-table or collection-table subelement of an attribute defined within the attributes subelement of the entity element for such an entity true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2220.4122.2.3 by the catalog attribute of any table-generator or sequence-generator element within the mapping file. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2221122.2.4 The access subelement applies to the managed classes listed within the same mapping file. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2222122.2.4The access subelement is overriddentrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2222.1122.2.4by the use of any annotations specifying mapping information on the fields or properties of the entity class true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2222.2122.2.4by any Access annotation on the entity class, mapped superclass, or embeddable class true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2222.3122.2.4by any Access annotation on a field or property of an entity class, mapped superclass, or embeddable class true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2222.4122.2.4by any access attribute defined within an entity, mapped-superclass, or embeddable XML element true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2222.5122.2.4by any access attribute defined within an id, embedded-id, version, basic, embedded, many-to-one, one-to-one, one-to-many, many-to-many, or element-collection element. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2223122.2.5 The generator defined by the sequence-generator subelement applies to the persistence unit. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2224122.2.5 It is undefined if multiple mapping files for the persistence unit contain generators of the same name. false
falsetechnologyactivefalse
PERSISTENCE:SPEC:2225122.2.5The generator defined is added to any generators defined in annotations. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2226122.2.5If a generator of the same name is defined in annotations, the generator defined by this subelement overrides that definition. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2227122.2.6 The generator defined by the table-generator subelement applies to the persistence unit. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2228122.2.6 It is undefined if multiple mapping files for the persistence unit contain generators of the same name. false
falsetechnologyactivefalse
PERSISTENCE:SPEC:2229122.2.6The generator defined is added to any generators defined in annotations. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2230122.2.6If a generator of the same name is defined in annotations, the generator defined by this subelement overrides that definition. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2231122.2.7 The named query defined by the named-query subelement applies to the persistence unit. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2232122.2.7 It is undefined if multiple mapping files for the persistence unit contain named queries of the same name. false
falsetechnologyactivefalse
PERSISTENCE:SPEC:2233122.2.7 The named query defined is added to the named queries defined in annotations. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2234122.2.7 If a named query of the same name is defined in annotations, the named query defined by this subelement overrides that definition. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2235122.2.8 The named native query defined by the named-native-query subelement applies to the persistence unit. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2236122.2.8 It is undefined if multiple mapping files for the persistence unit contain named queries of the same name. false
falsetechnologyactivefalse
PERSISTENCE:SPEC:2237122.2.8 The named native query defined is added to the named native queries defined in annotations. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2238122.2.8 If a named query of the same name is defined in annotations, the named query defined by this subelement overrides that definition. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2239122.2.9 The named stored procedure query defined by the named-stored-procedure-query subelement applies to the persistence unit. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2240122.2.9 It is undefined if multiple mapping files for the persistence unit contain named stored procedure queries of the same name. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:2241122.2.9 The named stored procedure query defined is added to the named stored procedure queries defined in annotations. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2242122.2.9 If a named stored procedure query of the same name is defined in annotations, the named stored procedure query defined by this subelement overrides that definition. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2243122.2.10 The SQL result set mapping defined by the sql-result-set-mapping subelement applies to the persistence unit. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2244122.2.10 It is undefined if multiple mapping files for the persistence unit contain SQL result set mappings of the same name. false
falsetechnologyactivefalse
PERSISTENCE:SPEC:2245122.2.10 The SQL result set mapping defined is added to the SQL result set mappings defined in annotations. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2246122.2.10 If a SQL result set mapping of the same name is defined in annotations, the SQL result set mapping defined by this subelement overrides that definition. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2247122.2.11 The entity subelement defines an entity of the persistence unit. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2248122.2.11 It is undefined if multiple mapping files for the persistence unit contain entries for the same entity. false
falsetechnologyactivefalse
PERSISTENCE:SPEC:2249122.2.11 The entity class may or may not have been annotated as Entity. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2250122.2.11 The subelements and attributes of the entity element override as specified in section 12.2.3. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2251122.2.12 The mapped-superclass subelement defines a mapped superclass of the persistence unit. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2252122.2.12 It is undefined if multiple mapping files for the persistence unit contain entries for the same mapped superclass. false
falsetechnologyactivefalse
PERSISTENCE:SPEC:2253122.2.12 The mapped superclass may or may not have been annotated as MappedSuperclass. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2254122.2.12 The subelements and attributes of the mapped-superclass element override as specified in section 12.2.4. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2255122.2.13 The embeddable subelement defines an embeddable class of the persistence unit. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2256122.2.13 It is undefined if multiple mapping files for the persistence unit contain entries for the same embeddable class. false
falsetechnologyactivefalse
PERSISTENCE:SPEC:2257122.2.13 The embeddable class may or may not have been annotated as Embeddable. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2258122.2.13 The subelements and attributes of the embeddable element override as specified in section 12.2.5. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2259122.2.14 The converter defined by the converter subelement applies to the persistence unit. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2260122.2.14 It is undefined if multiple mapping files for the persistence unit contain converters for the same target type. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:2261122.2.14 The converter defined is added to the converters defined in annotations. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2262122.2.14 If a converter for the same target type is defined in annotations, the converter defined by this subelement overrides that definition. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2263122.3.1 If the metadata-complete attribute of the entity element is specified as true, any annotations on the entity class (and its fields and properties) are ignored. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2264122.3.1 When metadata-complete is specified as true and XML attributes or sub-elements of the entity element are omitted, the default values for those attributes and elements are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2265122.3.2 The access attribute overrides any access type specified by the persistence-unit-defaults element or entity-mappings element for the given entity. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2266122.3.2 The access type for a field or property of the entity may be overridden by specifying by overriding the mapping for that field or property using the appropriate XML subelement, as described in Section 12.2.3.23 below. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2267122.3.3 If the Cacheable annotation was specified for the entity, its value is overridden by this attribute. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2268122.3.3 The value of the cacheable attribute is inherited by subclasses (unless otherwise overridden for a subclass by the Cacheable annotation or cacheable XML attribute). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2269122.3.4 The name attribute overrides the value of the entity name defined by the name element of the Entity annotation (whether explicitly specified or defaulted). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2270122.3.5 The table subelement overrides any Table annotation (including defaulted Table values) on the entity. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2271122.3.5 If a table subelement is present, and attributes or subelements of that table subelement are not explicitly specified, their default values are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2272122.3.6 The secondary-table subelement overrides all SecondaryTable and SecondaryTables annotations (including defaulted SecondaryTable values) on the entity. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2273122.3.6 If a secondary-table subelement is present, and attributes or subelements of that secondary-table subelement are not explicitly specified, their default values are applied true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2274122.3.7 The primary-key-join-column subelement overrides all PrimaryKeyJoinColumn and PrimaryKeyJoinColumns annotations (including defaulted PrimaryKeyJoinColumn values) on the entity. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2275122.3.7 If a primary-key-join-column subelement is present, and attributes or subelements of that primary-key-join-column subelement are not explicitly specified, their default values are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2276122.3.8The id-class subelement overrides any IdClass annotation specified on the entity. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2277122.3.9 The inheritance subelement overrides any Inheritance annotation (including defaulted Inheritance values) on the entity. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2278122.3.9 If an inheritance subelement is present, and the strategy attribute is not explicitly specified, its default value is applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2279122.3.9 This element applies to the entity and its subclasses (unless otherwise overridden for a subclass by an annotation or XML element). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2280122.3.9 Support for the combination of inheritance strategies is not required by this specification. Portable applications should use only a single inheritance strategy within an entity hierarchy. false
falsetechnologyactivefalse
PERSISTENCE:SPEC:2281122.3.10 The discriminator-value subelement overrides any DiscriminatorValue annotations (including defaulted DiscriminatorValue values) on the entity. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2282122.3.11 The discriminator-column subelement overrides any DiscriminatorColumn annotation (including defaulted DiscriminatorColumn values) on the entity. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2283122.3.11 If a discriminator-column subelement is present, and attributes of that discriminator-column subelement are not explicitly specified, their default values are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2284122.3.11 This element applies to the entity and its subclasses (unless otherwise overridden for a subclass by an annotation or XML element). true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2285122.3.12 The generator defined by the sequence-generator subelement is added to any generators defined in annotations and any other generators defined in XML. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2286122.3.12 If a generator of the same name is defined in annotations, the generator defined by this subelement overrides that definition. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2287122.3.12 If a sequence-generator subelement is present, and attributes or subelements of that sequence-generator subelement are not explicitly specified, their default values are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2288122.3.12 The generator defined by the sequence-generator subelement applies to the persistence unit. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2289122.3.12 It is undefined if multiple mapping files for the persistence unit contain generators of the same name. false
falsetechnologyactivefalse
PERSISTENCE:SPEC:2290122.3.13 The generator defined by the table-generator subelement is added to any generators defined in annotations and any other generators defined in XML. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2291122.3.13 If a generator of the same name is defined in annotations, the generator defined by this subelement overrides that definition. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2292122.3.13 If a table-generator subelement is present, and attributes or subelements of that table-generator subelement are not explicitly specified, their default values are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2293122.3.13The generator defined by the table-generator subelement applies to the persistence unit. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2294122.3.13 It is undefined if multiple mapping files for the persistence unit contain generators of the same name. false
falsetechnologyactivefalse
PERSISTENCE:SPEC:2295122.3.14 The attribute-override subelement is additive to any AttributeOverride or AttributeOverrides annotations on the entity. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2296122.3.14 It overrides any AttributeOverride elements for the same attribute name. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2297122.3.14 If an attribute-override subelement is present, and attributes or subelements of that attribute-override subelement are not explicitly specified, their default values are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2298122.3.15 The association-override subelement is additive to any AssociationOverride or AssociationOverrides annotations on the entity. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2299122.3.15 It overrides any AssociationOverride elements for the same attribute name. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2300122.3.15 If an association-override subelement is present, and attributes or subelements of that association-override subelement are not explicitly specified, their default values are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2301122.3.16 The convert subelement is additive to any Convert or Converts annotations on the entity. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2302122.3.16 It overrides any Convert elements for the same attribute name. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2303122.3.16 If a convert subelement is present, and attributes or subelements of that convert subelement are not explicitly specified, their default values are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2472122.3.17 The named-entity-graph subelement is additive to any NamedEntityGraph annotations on the entity. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2473122.3.17 It overrides any NamedEntityGraph annotation with the same name. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2304122.3.18 The named query defined by the named-query subelement is added to any named queries defined in annotations, and any other named queries defined in XML. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2305122.3.18 If a named query of the same name is defined in annotations, the named query defined by this subelement overrides that definition true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2306122.3.18 If a named-query subelement is present, and attributes or subelements of that named-query subelement are not explicitly specified, their default values are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2307122.3.18 The named query defined by the named-query subelement applies to the persistence unit. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2308122.3.18 It is undefined if multiple mapping files for the persistence unit contain named queries of the same name. false
falsetechnologyactivefalse
PERSISTENCE:SPEC:2309122.3.19 The named query defined by the named-native-query subelement is added to any named queries defined in annotations, and any other named queries defined in XML. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2310122.3.19 If a named query of the same name is defined in annotations, the named query defined by this subelement overrides that definition true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2311122.3.19 If a named-native-query subelement is present, and attributes or subelements of that named-native-query subelement are not explicitly specified, their default values are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2312122.3.19 The named native query defined by the named-native-query subelement applies to the persistence unit. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2313122.3.19 It is undefined if multiple mapping files for the persistence unit contain named queries of the same name. false
falsetechnologyactivefalse
PERSISTENCE:SPEC:2314122.3.20 The named stored procedure query defined by the named-stored-procedure-query subelement is added to any named stored procedure queries defined in annotations, and any other named stored procedure queries defined in XML. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2315122.3.20 If a named stored procedure query of the same name is defined in annotations, the named stored procedure query defined by this subelement overrides that definition. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2316122.3.20 If a named-stored-procedure-query subelement is present, and attributes or subelements of that named-stored-procedure-query subelement are not explicitly specified, their default values are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2317122.3.20 The named stored procedure query defined by the named-stored-procedure-query subelement applies to the persistence unit. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2318122.3.20 It is undefined if multiple mapping files for the persistence unit contain named stored procedure queries of the same name. true
falsetechnologyactivefalse
PERSISTENCE:SPEC:2319122.3.21 The SQL result set mapping defined by the sql-result-set-mapping is added to the SQL result set mappings defined in annotations, and any other SQL result set mappings defined in XML. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2320122.3.21 If a SQL result set mapping of the same name is defined in annotations, the SQL result set mapping defined by this subelement overrides that definition. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2321122.3.21 If a sql-result-set-mapping subelement is present, and attributes or subelements of that sql-result-set-mapping subelement are not explicitly specified, their default values are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2322122.3.21 The SQL result set mapping defined by the sql-result-set-mapping subelement applies to the persistence unit. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2323122.3.21 It is undefined if multiple mapping files for the persistence unit contain SQL result set mappings of the same name. false
falsetechnologyactivefalse
PERSISTENCE:SPEC:2324122.3.22The exclude-default-listeners subelement applies whether or not the ExcludeDefault- Listeners annotation was specified on the entity. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2325122.3.22This element causes the default entity listeners to be excluded for the entity and its subclasses. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2326122.3.23 The exclude-superclass-listeners subelement applies whether or not the ExcludeSuperclassListeners annotation was specified on the entity. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2327122.3.23This element causes any superclass listeners to be excluded for the entity and its subclasses. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2328122.3.24The entity-listeners subelement overrides any EntityListeners annotation on the entity. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2329122.3.24These listeners apply to the entity and its subclasses unless otherwise excluded. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2330122.3.25 These subelements override any lifecycle callback methods defined by the corresponding annotations on the entity. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2330.1122.3.25pre-persisttrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2330.2122.3.25post-persisttrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2330.3122.3.25pre-removetrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2330.4122.3.25post-removetrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2330.5122.3.25pre-updatetrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2330.6122.3.25post-updatetrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2330.7122.3.25post-loadtrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2331122.3.26The attributes element groups the mapping subelements for the fields and properties of the entity. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2332122.3.26It may be sparsely populated to include only a subset of the fields and properties. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2333122.3.26If the value of metadata-complete is true, the remainder of the attributes will be defaulted according to the default rules. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2334122.3.26 If metadata-complete is not specified, or is false, the mappings for only those properties and fields that are explicitly specified will be overridden. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2335122.3.26.1 The id subelement overrides the mapping for the specified field or property. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2336122.3.26.1 If an id subelement is present, and attributes or subelements of that id subelement are not explicitly specified, their default values are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2337122.3.26.2 The embedded-id subelement overrides the mapping for the specified field or property. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2338122.3.26.2 If an embedded-id subelement is present, and attributes or subelements of that embedded-id subelement are not explicitly specified, their default values are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2339122.3.26.3 The basic subelement overrides the mapping for the specified field or property. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2340122.3.26.3 If a basic subelement is present, and attributes or subelements of that basic subelement are not explicitly specified, their default values are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2341122.3.26.4 The version subelement overrides the mapping for the specified field or property. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2342122.3.26.4 If a version subelement is present, and attributes or subelements of that version subelement are not explicitly specified, their default values are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2343122.3.26.5 The many-to-one subelement overrides the mapping for the specified field or property. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2344122.3.26.5 If a many-to-one subelement is present, and attributes or subelements of that many-to-one subelement are not explicitly specified, their default values are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2345122.3.26.6 The one-to-many subelement overrides the mapping for the specified field or property. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2346122.3.26.6 If a one-to-many subelement is present, and attributes or subelements of that one-to-many subelement are not explicitly specified, their default values are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2347122.3.26.7 The one-to-one subelement overrides the mapping for the specified field or property. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2348122.3.26.7 If a one-to-one subelement is present, and attributes or subelements of that one-to-one subelement are not explicitly specified, their default values are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2349122.3.26.8 The many-to-many subelement overrides the mapping for the specified field or property. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2350122.3.26.8 If a many-to-many subelement is present, and attributes or subelements of that many-to-many subelement are not explicitly specified, their default values are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2351122.3.26.9 The element-collection subelement overrides the mapping for the specified field or property. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2352122.3.26.9 If an element-collection subelement is present, and attributes or subelements of that element-collection subelement are not explicitly specified, their default values are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2353122.3.26.10 The embedded subelement overrides the mapping for the specified field or property. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2354122.3.26.10 If an embedded subelement is present, and attributes or subelements of that embedded subelement are not explicitly specified, their default values are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2355122.3.26.11 The transient subelement overrides the mapping for the specified field or property. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2356122.4 These apply only to the mapped-superclass for which they are subelements or attributes, unless otherwise specified below. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2357122.4.1 If the metadata-complete attribute of the mapped-superclass element is specified as true, any annotations on the mapped superclass (and its fields and properties) are ignored. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2358122.4.1 When metadata-complete is specified as true and attributes or sub-elements of the mapped-superclass element are omitted, the default values for those attributes and elements are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2359122.4.2 The access attribute defines the access type for the mapped superclass. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2360122.4.2 The access attribute overrides any access type specified by the persistence-unit-defaults element or entity-mappings element for the given mapped superclass. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2361122.4.2 The access type for a field or property of the mapped superclass may be overridden by specifying by overriding the mapping for that field or property using the appropriate XML subelement true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2362122.4.3 The id-class subelement overrides any IdClass annotation specified on the mapped superclass. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2363122.4.4 The exclude-default-listeners subelement applies whether or not the ExcludeDefault-Listeners annotation was specified on the mapped superclass. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2364122.4.4 This element causes the default entity listeners to be excluded for the mapped superclass and its subclasses. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2365122.4.5 The exclude-superclass-listeners subelement applies whether or not the ExcludeSuperclassListeners annotation was specified on the mapped superclass. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2366122.4.5 This element causes any superclass listeners to be excluded for the mapped superclass and its subclasses. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2367122.4.6 The entity-listeners subelement overrides any EntityListeners annotation on the mapped superclass. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2368122.4.6 These listeners apply to the mapped superclass and its subclasses unless otherwise excluded. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2369122.4.7 These subelements override any lifecycle callback methods defined by the corresponding annotations on the mapped superclass. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2369.1122.4.7pre-persisttrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2369.2122.4.7post-persisttrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2369.3122.4.7pre-removetrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2369.4122.4.7post-removetrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2369.5122.4.7pre-updatetrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2369.6122.4.7post-updatetrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2369.7122.4.7post-loadtrue
falsetechnologyactivetrue
PERSISTENCE:SPEC:2370122.4.8 The attributes element groups the mapping subelements for the fields and properties defined by the mapped superclass. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2371122.4.8 It may be sparsely populated to include only a subset of the fields and properties. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2372122.4.8 If the value of metadata-complete is true, the remainder of the attributes will be defaulted according to the default rules true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2373122.4.8 If metadata-complete is not specified, or is false, the mappings for only those properties and fields that are explicitly specified will be overridden. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2374122.4.8.1 The id subelement overrides the mapping for the specified field or property. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2375122.4.8.1 If an id subelement is present, and attributes or subelements of that id subelement are not explicitly specified, their default values are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2376122.4.8.2 The embedded-id subelement overrides the mapping for the specified field or property. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2377122.4.8.2 If an embedded-id subelement is present, and attributes or subelements of that embedded-id subelement are not explicitly specified, their default values are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2378122.4.8.3 The basic subelement overrides the mapping for the specified field or property. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2379122.4.8.3 If a basic subelement is present, and attributes or subelements of that basic subelement are not explicitly specified, their default values are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2380122.4.8.4 The version subelement overrides the mapping for the specified field or property. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2381122.4.8.4 If a version subelement is present, and attributes or subelements of that version subelement are not explicitly specified, their default values are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2382122.4.8.5 The many-to-one subelement overrides the mapping for the specified field or property. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2383122.4.8.5 If a many-to-one subelement is present, and attributes or subelements of that many-to-one subelement are not explicitly specified, their default values are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2384122.4.8.6 The one-to-many subelement overrides the mapping for the specified field or property. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2385122.4.8.6 If a one-to-many subelement is present, and attributes or subelements of that one-to-many subelement are not explicitly specified, their default values are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2386122.4.8.7 The one-to-one subelement overrides the mapping for the specified field or property. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2387122.4.8.7 If a one-to-one subelement is present, and attributes or subelements of that one-to-one subelement are not explicitly specified, their default values are applied true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2388122.4.8.8 The many-to-many subelement overrides the mapping for the specified field or property. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2389122.4.8.8 If a many-to-many subelement is present, and attributes or subelements of that many-to-many subelement are not explicitly specified, their default values are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2390122.4.8.9 The element-collection subelement overrides the mapping for the specified field or property. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2391122.4.8.9 If an element-collection subelement is present, and attributes or subelements of that element-collection subelement are not explicitly specified, their default values are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2392122.4.8.10 The embedded subelement overrides the mapping for the specified field or property. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2393122.4.8.10 If an embedded subelement is present, and attributes or subelements of that embedded subelement are not explicitly specified, their default values are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2394122.4.8.11 The transient subelement overrides the mapping for the specified field or property. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2395122.5 These apply only to the embeddable for which they are subelements or attributes true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2396122.5.1 If the metadata-complete attribute of the embeddable element is specified as true, any annotations on the embeddable class (and its fields and properties) are ignored. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2397122.5.1 When metadata-complete is specified as true and attributes and sub-elements of the embeddable element are omitted, the default values for those attributes and elements are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2398122.5.2 The access attribute defines the access type for the embeddable class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2399122.5.2 The access attribute overrides any access type specified by the persistence-unit-defaults element or entity-mappings element for the given embeddable class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2400122.5.2 The access type for a field or property of the embeddable class may be overridden by specifying by overriding the mapping for that field or property using the appropriate XML subelement true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2401122.5.3 The attributes element groups the mapping subelements for the fields and properties defined by the embeddable class. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2402122.5.3 It may be sparsely populated to include only a subset of the fields and properties true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2403122.5.3 If the value of metadata-complete is true, the remainder of the attributes will be defaulted according to the default rules true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2404122.5.3 If metadata-complete is not specified, or is false, the mappings for only those properties and fields that are explicitly specified will be overridden. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2405122.5.3.1 The basic subelement overrides the mapping for the specified field or property. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2406122.5.3.1 If a basic subelement is present, and attributes or subelements of that basic subelement are not explicitly specified, their default values are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2407122.5.3.2 The many-to-one subelement overrides the mapping for the specified field or property. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2408122.5.3.2 If a many-to-one subelement is present, and attributes or subelements of that many-to-one subelement are not explicitly specified, their default values are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2409122.5.3.3 The one-to-many subelement overrides the mapping for the specified field or property. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2410122.5.3.3 If a one-to-many subelement is present, and attributes or subelements of that one-to-many subelement are not explicitly specified, their default values are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2411122.5.3.4 The one-to-one subelement overrides the mapping for the specified field or property true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2412122.5.3.4 If a one-to-one subelement is present, and attributes or subelements of that one-to-one subelement are not explicitly specified, their default values are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2413122.5.3.5 The many-to-many subelement overrides the mapping for the specified field or property. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2414122.5.3.5 If a many-to-many subelement is present, and attributes or subelements of that many-to-many subelement are not explicitly specified, their default values are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2415122.5.3.6 The element-collection subelement overrides the mapping for the specified field or property. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2416122.5.3.6 If an element-collection subelement is present, and attributes or subelements of that element-collection subelement are not explicitly specified, their default values are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2417122.5.3.7 The embedded subelement overrides the mapping for the specified field or property. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2418122.5.3.7 If an embedded subelement is present, and attributes or subelements of that embedded subelement are not explicitly specified, their default values are applied. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:2419122.5.3.8 The transient subelement overrides the mapping for the specified field or property. true
falsetechnologyactivetrue
PERSISTENCE:SPEC:1140122.2Other Subelements of the entity-mappings element true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:1141122.3entity Subelements and Attributestrue
falsetechnologyremovedtrue
PERSISTENCE:SPEC:1142122.4mapped-superclass Subelements and Attributes true
falsetechnologyremovedtrue
PERSISTENCE:SPEC:1143122.5embeddable Subelements and Attributestrue
falsetechnologyremovedtrue
PERSISTENCE:SPEC:1144123XML Schematrue
falsetechnologyremovedtrue