ID | Chapter | Section | Description | Required | Dependency | Implementation Specific | Defined by | Status | Testable |
PERSISTENCE:SPEC:500 | 2 | 1 | The entity class must: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:501 | 2 | 1 | be annotated with the Entity annotation | true |
| false | technology | active | true |
PERSISTENCE:SPEC:502 | 2 | 1 | be denoted in the deployment descriptor as an Entity | true |
| false | technology | active | true |
PERSISTENCE:SPEC:503 | 2 | 1 | The entity must have a no-arg constructor. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:504 | 2 | 1 | The entity may have other constructors as well. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:505 | 2 | 1 | The no-arg constructor must be public or protected. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:506 | 2 | 1 | If the entity is to be passed by value as a detached object (e.g., through a remote interface), it must implement the Serializable interface. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:507 | 2 | 1 | The entity class must not be final. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:508 | 2 | 1 | No methods or persistent instances of the entity class may be final. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:509 | 2 | 1 | Both abstract and concrete classes can be entities. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:510 | 2 | 1 | Entities may extend non-entity classes as well as entity classes and non-entity classes may extend entity classes. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:511 | 2 | 1 | Instance variables must not be accessed by clients of the entity. The state of the entity is available to clients only through the entity's accessor methods or other business methods. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:512 | 2 | 1 | Instance variables must be private, protected, or package visibility. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:513 | 2 | 1.1 | If the entity is field-based access, the persistence provider runtime accesses instance variables directly and all non-transient instance variables that are not annotated with the Transient annotation are persistent. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:514 | 2 | 1.1 | If the entity is property-based access, the persistence provider accesses persistent state via the property accessor methods and all properties not annotated with the Transient annotation are persistent. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:515 | 2 | 1.1 | The property accessor methods must be public or protected. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:516 | 2 | 1.1 | It is required that the entity class follow the method conventions for a JavaBean when persistent properties are used. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:517 | 2 | 1.1 | Collection-valued peristent fields and properties must be defned in terms of the java.util.Collection or java.util.Set interfaces regardless of whether the entity class otherwise adheres to the JavaBeans conventions noted above. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:518 | 2 | 1.1 | The following collection interfaces are supported: java.util.Collection, java.util.set, java.util.List, java.util.Map | true |
| false | technology | active | true |
PERSISTENCE:SPEC:519 | 2 | 1.1 | For collection-valued persistent properties, type T must be one of these Collection interface types in the method signatures above. Generic variants of these Collection types may also
be used. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:520 | 2 | 1.1 | In 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:521 | 2 | 1.1 | Runtime exceptions thrown by property accessor methods will cause the current transaction to be rolled back. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:522 | 2 | 1.1 | Exceptions thrown by such methos when used by the persistence runtime to load or store persistent state cause the persistence runtime to rollback the current transaction and to throw a PersistenceException that wraps the application exception. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:523 | 2 | 1.1 | Entity subclasses are permitted to override the property accessor methods of the entity. However, portable applications must not override the object/relational mapping metadata that applies to the persistent fields or properties of entity superclasses. | true |
| true | technology | active | true |
PERSISTENCE:SPEC:524 | 2 | 1.1 | The persistent fields or properties of an entity may be one of the following types: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:525 | 2 | 1.1 | Java primitive types | true |
| false | technology | active | true |
PERSISTENCE:SPEC:526 | 2 | 1.1 | java.lang.String | true |
| false | technology | active | true |
PERSISTENCE:SPEC:527 | 2 | 1.1 | other 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:528 | 2 | 1.1 | user-defined serializable types, byte[], Byte[], char[], and Character[] | true |
| false | technology | active | true |
PERSISTENCE:SPEC:529 | 2 | 1.1 | enums | true |
| false | technology | active | true |
PERSISTENCE:SPEC:530 | 2 | 1.1 | entity types | true |
| false | technology | active | true |
PERSISTENCE:SPEC:531 | 2 | 1.1 | collection of entity types | true |
| false | technology | active | true |
PERSISTENCE:SPEC:532 | 2 | 1.1 | embeddable classes | true |
| false | technology | active | true |
PERSISTENCE:SPEC:533 | 2 | 1.4 | Every entity must have a primary key. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:534 | 2 | 1.4 | A simple primary key must correspond to a single persistent field or property of the entity class. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:535 | 2 | 1.4 | A composite primary key must correspond to either a single persistent field or property or to a set of such fields or properties. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:536 | 2 | 1.4 | The primary key must be one of the following types: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:537 | 2 | 1.4 | any Java primitive type | true |
| false | technology | active | true |
PERSISTENCE:SPEC:538 | 2 | 1.4 | any primitive wrapper type | true |
| false | technology | active | true |
PERSISTENCE:SPEC:539 | 2 | 1.4 | java.lang.String | true |
| false | technology | active | true |
PERSISTENCE:SPEC:540 | 2 | 1.4 | java.util.Date. If java.util.Date is used as a primary key field or property,the temporal type should be specified as DATE. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:541 | 2 | 1.4 | java.sql.Date | true |
| false | technology | active | true |
PERSISTENCE:SPEC:542 | 2 | 1.4 | The 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. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:543 | 2 | 1.4 | The following rules apply for composite primary keys: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:544 | 2 | 1.4 | The primary key class must be public and must have a public no-arg constructor. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:545 | 2 | 1.4 | The primary key class must be serializable. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:546 | 2 | 1.4 | If property-based access is used, the properties of the primary key class must be public or protected. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:547 | 2 | 1.4 | The composite primary key must define equals and hashCode methods. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:548 | 2 | 1.4 | A composite primary key must either be represented and mapped as an embeddable class (EmbeddedId annotation) or must be represented and mapped to multiple fields or properties of the entity class (IdClass annotation). | true |
| false | technology | active | true |
PERSISTENCE:SPEC:549 | 2 | 1.4 | If the composite primary key class is mapped to multiple fields or properties of the entity class, then the names of the primary key fields or properties in the primary key class and those of the entity class must correspond and their types must be the same. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:550 | 2 | 1.4 | The application must not change the value of the primary key. The behavior is undefined if this occurs. | true |
| true | technology | active | false |
PERSISTENCE:SPEC:551 | 2 | 1.5 | Such embedded 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 |
| true | technology | active | false |
PERSISTENCE:SPEC:552 | 2 | 1.5 | Collection of embedded objects are not supported in this release. | false |
| false | technology | active | false |
PERSISTENCE:SPEC:553 | 2 | 1.5 | Embeddable 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:554 | 2 | 1.5 | Unlike entities, embeddable classes do not support polymorphism and inheritance. | false |
| false | technology | active | false |
PERSISTENCE:SPEC:555 | 2 | 1.6 | If 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. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:556 | 2 | 1.6 | If the type of the field or property is one of the following, it is mapped 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:557 | 2 | 1.6 | If the type is a class that is annotated with the @Embeddable annotation, it is mapped as @Embedded. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:560 | 2 | 1.6 | It is an error if no annotation is present and none of the above rules apply. | true |
| true | technology | active | true |
PERSISTENCE:SPEC:561 | 2 | 1.7 | If there is an association between two entities, one of the following relationship modeling annotations must be applied to the corresponding property or instance variable of the referencing entity: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:562 | 2 | 1.7 | OneToOne | true |
| false | technology | active | true |
PERSISTENCE:SPEC:563 | 2 | 1.7 | OneToMany | true |
| false | technology | active | true |
PERSISTENCE:SPEC:564 | 2 | 1.7 | ManyToOne | true |
| false | technology | active | true |
PERSISTENCE:SPEC:565 | 2 | 1.7 | ManyToMany | true |
| false | technology | active | true |
PERSISTENCE:SPEC:566 | 2 | 1.7 | For 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:567 | 2 | 1.7 | A bidirectional relationship has both an owning side and an inverse side. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:568 | 2 | 1.7 | A unidirectional relationship has only an owning side. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:569 | 2 | 1.7 | The following rules apply to bidirectional relationships: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:570 | 2 | 1.7 | The 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:571 | 2 | 1.7 | The mappedBy element designates the property or field in the entity that is the owner of the relationship. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:572 | 2 | 1.7 | The 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:573 | 2 | 1.7 | For one-to-one bidirectional relationships, the owning side corresponds to the side that contains the corresponding foreign key. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:574 | 2 | 1.7 | For many-to-many bidirectional relationships, either side may be the owning side. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:575 | 2 | 1.7 | The cascade=REMOVE specification should only be applied to associations that are specified as OneToOne or OneToMany. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:576 | 2 | 1.7 | Applications that apply cascade=REMOVE to other assocations [ManyToMany, ManyToOne] are not portable. | true |
| true | technology | active | true |
PERSISTENCE:SPEC:577 | 2 | 1.7 | A foreign key mapping may be used for a unidirectional one-to-many mapping. Any such overriding must be consistent with the relationship modeling annotation that is specified. | true |
| true | technology | active | true |
PERSISTENCE:SPEC:578 | 2 | 1.8.1 | Bidirectional OneToOne Relationships | true |
| false | technology | active | true |
PERSISTENCE:SPEC:579 | 2 | 1.8.2 | Bidirectional ManyToOne/OneToMany Relationships | true |
| false | technology | active | true |
PERSISTENCE:SPEC:580 | 2 | 1.8.3 | Unidirectional Single-Valued Relationships | true |
| false | technology | active | true |
PERSISTENCE:SPEC:581 | 2 | 1.8.3.1 | Unidirectional OneToOne Relationships | true |
| false | technology | active | true |
PERSISTENCE:SPEC:582 | 2 | 1.8.3.2 | Unidirectional ManyToOne Relationships | true |
| false | technology | active | true |
PERSISTENCE:SPEC:583 | 2 | 1.8.4 | Bidirectional ManyToMany Relationships | true |
| false | technology | active | true |
PERSISTENCE:SPEC:584 | 2 | 1.8.5 | Unidirectional Multi-Valued Relationships | true |
| false | technology | active | true |
PERSISTENCE:SPEC:585 | 2 | 1.8.5.1 | Unidirectional OneToMany Relationships | true |
| false | technology | active | true |
PERSISTENCE:SPEC:586 | 2 | 1.8.5.2 | Unidirectional ManyToMany Relationships | true |
| false | technology | active | true |
PERSISTENCE:SPEC:587 | 2 | 1.9 | When an entity is defined as a subclass of another entity, the primary keys of the entities must be of the same type. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:588 | 2 | 1.9.1 | An abstract entity class is annotated with the Entity annotation or denoted in the XML descriptor as an entity. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:589 | 2 | 1.9.2 | An entity may have a non-entity superclass which may be either a concrete or abstract class. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:590 | 2 | 1.9.2 | The state of a non-entity superclass is not persistent. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:591 | 2 | 1.9.2 | Any state inherited from non-entity superclasses is non-persistent in an inheriting entity class. This non-persistent state is not managed
by the EntityManager, nor is it required to be retained across transactions. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:592 | 2 | 1.9.2 | Non-entity classes cannot be passed as arguments to methods of the EntityManager or Query interfaces and cannot bear mapping information. | true |
| false | technology | active | false |
PERSISTENCE:SPEC:593 | 2 | 1.9.3 | An entity may have an mapped superclass, which provides persistent entity state and mapping information, but which is not an entity itself. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:594 | 2 | 1.9.3 | A mapped superclass, unlike an entity, is not queryable and cannot be passed as an argument to EntityManager or Query operations. | true |
| false | technology | active | false |
PERSISTENCE:SPEC:595 | 2 | 1.9.3 | An mapped superclass cannot be the target of a persistent relationship. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:596 | 2 | 1.9.3 | Both abstract or concrete classes may be specified as mapped superclasses. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:597 | 2 | 1.9.3 | The MappedSuperclass annotation (or mapped-superclass XML descriptor element) is used to designate an mapped superclass. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:598 | 2 | 1.9.3 | A 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:599 | 2 | 1.9.3 | A classes designated as MappedSuperclass 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:600 | 2 | 1.9.3 | Mapping information may be overriden in such subclasses by using the AttributeOverride annotation or attribute-override XML element. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:601 | 2 | 1.9.3 | All other entity mapping defaults apply equally to a class designated as MappedSuperclass. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:602 | 2 | 1.10 | There are three basic strategies that are used when mapping a class or class hierarchy to a relational database schema: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:603 | 2 | 1.10.1 | Single Table per Class Hierarchy Strategy. An implementation is required to support the single table per class hierachy inheritance mapping strategy. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:604 | 2 | 1.10.2 | Table Per Class Strategy - Optional in this release. | false |
| true | technology | active | false |
PERSISTENCE:SPEC:605 | 2 | 1.10.3 | Joined Subclass Strategy | true |
| false | technology | active | true |
PERSISTENCE:SPEC:606 | 3 | 1.1 | The persist, merge, remove, flush, 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:607 | 3 | 1.1 | The find and getReference methods are not required to be invoked within a transaction context. 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:608 | 3 | 1.1 | The Query and EntityTransaction objects obtained from an entity manager are valid while that entity manager is open. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:609 | 3 | 1.1 | If the argument to the createQuery method is not a valid QL query string, the IllegalArgumentException may be thrown
or the query execution will fail. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:610 | 3 | 1.1 | If 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 |
| false | technology | active | false |
PERSISTENCE:SPEC:611 | 3 | 1.1 | Runtime exceptions thrown by the methods of the EntityManager interface will cause the current transaction to
be rolled back. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:612 | 3 | 1.1 | The methods close, isOpen, joinTransaction and getTransaction are used to managed application-managed
entity managers and their life cycle. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:613 | 3 | 2 | Entity Instance's Life Cycle: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:614 | 3 | 2 | A new entity instance has no persistent identity and is not yet associated with a persistence context. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:615 | 3 | 2 | A managed entity instance is an instance with a persistent identity that is currently associated with a persistence context. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:616 | 3 | 2 | A detached entity is an instance with a persistent identity that is not (or no longer) associated with a persistence context. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:617 | 3 | 2 | A removed entity instance is an instance with a persistent identity associated with a persistence context that is scheduled for removal from the database. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:618 | 3 | 2.1 | The 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:619 | 3 | 2.1 | If X is a new entity, it becomes managed. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:620 | 3 | 2.1 | The entity X will be entered into the database at or before transaction commit or as a result of the flush operation. | true |
| true | technology | active | true |
PERSISTENCE:SPEC:621 | 3 | 2.1 | If X is a preexisting managed entity, it is ignored by the persist operation. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:622 | 3 | 2.1 | However, the persist operation is cascaded to entities referenced by X, if the relationship from X to these other entities is annotated with cascade=PERSIST annotation element. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:623 | 3 | 2.1 | However, the persist 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:624 | 3 | 2.1 | If X is a removed entity, it becomes managed. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:625 | 3 | 2.1 | If X is a detached object, an IllegalArgumentException will be thrown by the persist operation (or the transaction comit will fail). | true |
| true | technology | active | true |
PERSISTENCE:SPEC:626 | 3 | 2.1 | For 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:627 | 3 | 2.1 | For 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:628 | 3 | 2.2 | A 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:629 | 3 | 2.2 | If X is a new entity, it is ignored by the remove operation. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:630 | 3 | 2.2 | However, 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:631 | 3 | 2.2 | However, 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:632 | 3 | 2.2 | If X is a managed entity, the remove operation causes it to transition to the removed state. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:633 | 3 | 2.2 | 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:634 | 3 | 2.2 | 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:635 | 3 | 2.2 | If X is a detached entity, an IllegalArgumentException will be thrown by the remove operation (or the transaction commit will fail). | true |
| true | technology | active | true |
PERSISTENCE:SPEC:636 | 3 | 2.2 | If X is a removed entity, it is ignored by the remove operation. | true |
| true | technology | active | true |
PERSISTENCE:SPEC:637 | 3 | 2.2 | A removed entity X will be removed from the database at or before transaction commit or as a result of the flush operation. | true |
| true | technology | active | true |
PERSISTENCE:SPEC:638 | 3 | 2.2 | Accessing an entity in the removed state is undefined. | false |
| true | technology | active | false |
PERSISTENCE:SPEC:639 | 3 | 2.3 | The state of persistent entities is synchronized with the database at transaction commit. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:640 | 3 | 2.3 | The persistence provider runtime is permitted to perform [database] synchronization at other times as well, for example, before query execution. | true |
| true | technology | active | false |
PERSISTENCE:SPEC:641 | 3 | 2.3 | The flush method can be used to force synchronization. It applies to entities associated with a persistence context. The semantics of the flush operation, applied to entity X are as follows: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:642 | 3 | 2.3 | If X is a managed entity, it is synchronized to the database. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:643 | 3 | 2.3 | For 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:644 | 3 | 2.3 | For 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:645 | 3 | 2.3 | For any new entity Y referenced by a relationship from X, where the relationship to Y has not been annotated with the cascade element cascade=PERSIST or cascade=ALL, an exception will be thrown by the flush operation or the transaction commit will fail. | true |
| true | technology | active | true |
PERSISTENCE:SPEC:646 | 3 | 2.3 | For any detached 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, the semantics depend upon the ownership of the relationship: If X owns the relationship, any changes to the relationship are synchronized with the database. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:647 | 3 | 2.3 | For any detached 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, the semantics depend upon the ownership of the relationship: If Y owns the relationships, the behavior is undefined. | true |
| true | technology | active | false |
PERSISTENCE:SPEC:648 | 3 | 2.3 | If X is a removed entity, it is removed from the database. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:649 | 3 | 2.4 | When the persistence context ends, managed entity instances associated with the context become detached.
The application may safely access their available state of available detached entity instances after the persistence context ends. The available state includes: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:650 | 3 | 2.4 | Any persistent field or property not marked fetch=LAZY | true |
| false | technology | active | true |
PERSISTENCE:SPEC:651 | 3 | 2.4 | Any persistent field or property that was accessed by the application. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:652 | 3 | 2.4 | If the persistent field or property is an associationm, the state of an associated instance may only be safely accessed if the associated instance is available.
The available instances include: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:653 | 3 | 2.4 | All entity instances retrieved using find(). | true |
| false | technology | active | true |
PERSISTENCE:SPEC:654 | 3 | 2.4 | Any entity instances retrieved using a query or explictly requested in the FETCH JOIN clause. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:655 | 3 | 2.4 | Any entity instance for which an instance variable holding non-primary-key persistent state was accessed by the application. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:656 | 3 | 2.4 | Any entity instance that may be reached from another available instance by navigating associations marked fetch=EAGER. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:657 | 3 | 2.4 | A detached entity may also result by serializing an entity, or otherwise passing it by value (e.g., to a separate application tier,through a remote inteface, etc.) and the same rules apply. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:658 | 3 | 2.4.1 | The 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:659 | 3 | 2.4.1 | If X is a detached entity, it is copied onto pre-existing managed entity instance X1 of the same identity or a new managed copy of X is created. | true |
| true | technology | active | true |
PERSISTENCE:SPEC:660 | 3 | 2.4.1 | If X is a new entity instance, a new managed entity instance X1 is created and the state of X is copied into the new managed entity instance X1. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:661 | 3 | 2.4.1 | If X is a removed entity instance, an IllegalArgumentException will be thrown by the merge operation (or the transaction commit will fail). | true |
| true | technology | active | true |
PERSISTENCE:SPEC:662 | 3 | 2.4.1 | If 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:663 | 3 | 2.4.1 | If 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:664 | 3 | 2.4.1 | For all entities Y referenced by relationships from X having the cascade element value cascade=MERGE, Y is merged recursively as Y1. For all such Y referenced by X, X1 is set to reference Y1. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:665 | 3 | 2.4.1 | For all entities Y referenced by relationships from X having the cascade element value cascade=ALL, Y is merged recursively as Y1. For all such Y referenced by X, X1 is set to reference Y1. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:666 | 3 | 2.4.1 | Version colunms used by the entity should be checked by the persistence runtime implementation during the merge operation or at flush or commit time. | true |
| true | technology | active | true |
PERSISTENCE:SPEC:667 | 3 | 2.5 | The contains method [used to determine whether an entity instance is in the managed state] returns true: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:668 | 3 | 2.5 | If the entity has been retrieved from the database and has not been removed or detached. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:669 | 3 | 2.5 | If the entity instance is new and the persist method has been called on the entity. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:670 | 3 | 2.5 | If the entity instance is new and the persist operation has been cascaded to it. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:671 | 3 | 2.5 | The contains method [used to determine whether an entity instance is in the managed state] returns false: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:672 | 3 | 2.5 | If the instance is detached. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:673 | 3 | 2.5 | If the remove method has been called on the entity. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:674 | 3 | 2.5 | If the remove operation has been cascaded to it. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:675 | 3 | 2.5 | If the entity instance is new and the persist method has not been called on the entity. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:676 | 3 | 2.5 | If the entity instance is new and the persist operation has not been cascaded to it. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:677 | 3 | 2.5 | Not that the effect of cascading persist or remove is immediately visible to the contains method, whereas, the actual
insertion or deletion of the database representation for the entity may be deferred until the end of the transaction. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:678 | 3 | 3 | The enum PersistenceContextType is used to define persistence context lifetime scope for container-managed entity managers. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:679 | 3 | 3 | By default, a persistence context's lifecycle corresponds to the scope of a transaction (PersistenceContextType.TRANSACTION). | true |
| false | technology | active | true |
PERSISTENCE:SPEC:680 | 3 | 3 | When 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:681 | 3 | 3 | An 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:682 | 3 | 3 | Navigation 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:683 | 3 | 3 | When 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:684 | 3 | 3 | The 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:685 | 3 | 3.1 | The managed entities of a transaction-scoped persistence context become detached when the transaction commits. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:686 | 3 | 3.1 | The managed entities of an extended persistence context remain managed. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:687 | 3 | 3.2 | For both transaction-scoped and extended persistence contexts, transaction rollback causes all pre-existng managed instances and removed
instances to become detached. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:688 | 3 | 4 | Optmistic Locking and Concurrency | true |
| false | technology | active | true |
PERSISTENCE:SPEC:689 | 3 | 4.1 | Optimistic Locking | true |
| true | technology | active | true |
PERSISTENCE:SPEC:690 | 3 | 4.2 | Version Attributes | true |
| false | technology | active | true |
PERSISTENCE:SPEC:691 | 3 | 4.3 | Lock Modes | true |
| false | technology | active | true |
PERSISTENCE:SPEC:692 | 3 | 4.4 | OptimisticLockException | true |
| false | technology | active | true |
PERSISTENCE:SPEC:693 | 3 | 4.4 | OptimisticLockException always causes the transaction to roll back. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:694 | 3 | 5 | Lifecycle callback methods and entity listener classes are defined by means of metadata annotations or in the XML descriptor. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:695 | 3 | 5 | When annotations are used, one or more entity listener classes are denoted using the EntityListeners annoation on the
entity class or mapped superclass. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:696 | 3 | 5 | If 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:697 | 3 | 5 | The 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:698 | 3 | 5 | Any subset or combination of annotations may be specified on an entity class, mapped superclass, of listener class.. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:699 | 3 | 5 | A 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:700 | 3 | 5 | Multple entity classes and mapped superclasses in an inheritance hierarchy may define listener classes and/or lifecycle callback methods directly on the class. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:701 | 3 | 5 | The entity listener class must have a public no-arg constructor. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:702 | 3 | 5 | The following rules apply to callbacks: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:703 | 3 | 5 | Callback methods may throw unchecked/runtime exceptions. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:704 | 3 | 5 | A runtime exception thrown by a callback method that executes within a transaction causes that transaction to be rolled back. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:705 | 3 | 5 | Lifecycle callbacks can invoke JNDI, JDBC, JMS, and enterprise beans. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:706 | 3 | 5 | In general, portable applications should not invoke EntityManager
or Query operations, access other entity instances or modify relationships in a lifecycle callback method. | true |
| false | technology | active | false |
PERSISTENCE:SPEC:707 | 3 | 5 | When 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:708 | 3 | 5.2 | The PrePersist and PreRemove callback methods are invoked for a given entity before the respective EntityManager persist and remove operation for that entity are executed
These callbacks will also be invoked on entities to which these operations are cascaded. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:709 | 3 | 5.2 | The PrePersist and PreRemove callbacks will always be invoked on all entities which these operations are cascaded. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:710 | 3 | 5.2 | For entities which the merge operation has been applied and causes the creation of newly managed instaced, the PrePersist callback methods
will be invoked for the managed instance after the entity state has been copied to it. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:711 | 3 | 5.2 | The PrePersist and PreRemove callbacks will always be invoked as part of the synchronous persist, merge, and remove operations.. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:712 | 3 | 5.2 | The 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:713 | 3 | 5.2 | The PostPersist and PostRemove methods will be invoked after the database insert and delete operations respectively.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:714 | 3 | 5.2 | These 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 |
| true | technology | active | false |
PERSISTENCE:SPEC:715 | 3 | 5.2 | Generated primary key values are available in the PostPersist method. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:716 | 3 | 5.2 | The PreUpdate and PostUpdate callbacks occur before and after the database update operations to entity data respectively. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:717 | 3 | 5.2 | These database operations may be at the time the entity state is updated or it may be at the time state is flushed to the database which may be at the end of a transaction. | true |
| true | technology | active | false |
PERSISTENCE:SPEC:718 | 3 | 5.2 | Note it is implementation-dependent as to whether PreUpdate and PostUpdate callbacks occur when an entity is created 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 |
| true | technology | active | false |
PERSISTENCE:SPEC:719 | 3 | 5.2 | The PostLoad method is invoked after an entity has been loaded into the current persistence context from the database. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:720 | 3 | 5.2 | This PostLoad method is invoked before a query result is returned or accessed or before an association is traversed. | true |
| true | technology | active | true |
PERSISTENCE:SPEC:721 | 3 | 5.2 | It 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. | true |
| true | technology | active | false |
PERSISTENCE:SPEC:722 | 3 | 5.4 | Default 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:723 | 3 | 5.4 | The 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:724 | 3 | 5.4 | If 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:725 | 3 | 5.4 | The 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 on the entity listener classes for the
superclasses of the entity or maped supeclass. The excluded listeners are excluded from the class to which the
ExcludeSuperclassListeners annotation is specified and its subclasses. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:726 | 3 | 5.4 | Excluded listeners may reintroduced on an entity class by listing them explicitly in the
EntityListeners annotation or XML entity-listeners element. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:727 | 3 | 5.4 | The ExcludeSuperclassListeners or exclude-superclass-listeners XML element does not cause the
default entity listeners to be excluded from invocation. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:728 | 3 | 6 | The elements of a query result whos SELECT clause consists of more than one value are of type Object[]. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:729 | 3 | 6 | An IllegalArgumentException is thrown if: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:730 | 3 | 6 | a parameter name is specified that does not correspond to a named parameter in the query string | true |
| false | technology | active | true |
PERSISTENCE:SPEC:731 | 3 | 6 | a positional value is specified that does not correspond to a positional parameter in the query string | true |
| false | technology | active | true |
PERSISTENCE:SPEC:732 | 3 | 6 | If the type of the parameter is not valid for the query. This exception may be thrown when the parameter is bound, or the execution of the query may fail. | true |
| true | technology | active | true |
PERSISTENCE:SPEC:733 | 3 | 6 | This exception may be thrown when the parameter is bound, or the execution of the query may fail. | true |
| true | technology | active | true |
PERSISTENCE:SPEC:734 | 3 | 6.2 | A named parameter is an identifier that is prefixed by the ":" symbol. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:735 | 3 | 6.4 | By default, all queries are polymorphic. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:736 | 3 | 6.5 | The 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 |
| true | technology | active | true |
PERSISTENCE:SPEC:737 | 3 | 6.5 | The use of named parameters is not defined for native queries. Only positional parameter binding may be portably used. | false |
| true | technology | active | true |
PERSISTENCE:SPEC:738 | 3 | 7 | Summary of Exceptions | true |
| false | technology | active | true |
PERSISTENCE:SPEC:739 | 3 | 7 | PersistenceException | true |
| false | technology | active | true |
PERSISTENCE:SPEC:740 | 3 | 7 | TransactionRequiredException | true |
| false | technology | active | true |
PERSISTENCE:SPEC:741 | 3 | 7 | RollbackException | true |
| false | technology | active | true |
PERSISTENCE:SPEC:742 | 3 | 7 | EntityExistsException | true |
| false | technology | active | true |
PERSISTENCE:SPEC:743 | 3 | 7 | EntityNotFoundException | true |
| false | technology | active | true |
PERSISTENCE:SPEC:744 | 3 | 7 | NoResultException | true |
| false | technology | active | true |
PERSISTENCE:SPEC:745 | 3 | 7 | NonUniqueResultException | true |
| false | technology | active | true |
PERSISTENCE:SPEC:746 | 4 | 2 | An query language statement may be either: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:746.1 | 4 | 2 | a select statement | true |
| false | technology | active | true |
PERSISTENCE:SPEC:746.2 | 4 | 2 | an update statement | true |
| false | technology | active | true |
PERSISTENCE:SPEC:746.3 | 4 | 2 | a delete statement | true |
| false | technology | active | true |
PERSISTENCE:SPEC:750 | 4 | 2 | Any query language statement may be constructed dymically or may be statically defined in a metadata annotation or XML descriptor element. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:751 | 4 | 2 | All query language statement types may have parameters. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:752 | 4 | 2.1 | An query language select statement is a string which consists of the following clauses: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:753 | 4 | 2.1 | a SELECT clause, which determines the type of the objects or values to be selected. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:754 | 4 | 2.1 | a FROM clause, which provides declaration that designate the domain to which the expressions specified in the other clauses of the query apply | true |
| false | technology | active | true |
PERSISTENCE:SPEC:755 | 4 | 2.1 | an optional WHERE clause, which may be used to restrict the results that are returned by the query | true |
| false | technology | active | true |
PERSISTENCE:SPEC:756 | 4 | 2.1 | an optional GROUP BY clause, which allows query results to be aggregated in terms of groups | true |
| false | technology | active | true |
PERSISTENCE:SPEC:757 | 4 | 2.1 | an optional HAVING clause, which allows filtering over aggregated groups | true |
| false | technology | active | true |
PERSISTENCE:SPEC:758 | 4 | 2.1 | an optional ORDER BY clause, which may be used to order the results that are returned by the query | true |
| false | technology | active | true |
PERSISTENCE:SPEC:312 | 4 | 2.1 | A select statement must always have a SELECT and a FROM clause. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:759 | 4 | 2.2 | Update 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.
Compatibility Note: Update and delete statements are not supported for EJB 2.1 entity beans with container-managed persistence. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:760 | 4 | 3 | The abstract schema type of an entity is derived from the entity class and the metadata
information provided by Java Language annotations or in the XML descriptor. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:761 | 4 | 3 | The domain of a query consists of the abstract schema types of all entities that are defined in the same persistence unit. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:762 | 4 | 3.1 | The abstract schema name is defined by the name element of the Entity annotation (or entity-name XML descriptor element), and
defaults to the unqualified name of the entity class. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:317 | 4 | 4 | Identification variables designate instances of a particular entity abstract schema type. The FROM clause can contain
multiple identification variable declarations separated by a comma: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:317.1 | 4 | 4 | range_variable_declaration
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:317.2 | 4 | 4 | collection_member_declaration
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:317.3 | 4 | 4 | join_spec | true |
| false | technology | active | true |
PERSISTENCE:SPEC:316 | 4 | 4.1 | Reserved identifiers are case insensitive. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:763 | 4 | 4.1 | Reserved identifiers must not be used as identification variables. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:764 | 4 | 4.2 | All identification variables must be declared in teh FROM clause. Identification variables cannot be declared in other clauses. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:318 | 4 | 4.2 | An identification variable must not be a reserved identifier or have the same name as any of the followng in the same persistence unit: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:318.3 | 4 | 4.2 | entity name (as defined by the Entity annotation or entity-name XML deployment descriptor element | true |
| false | technology | active | true |
PERSISTENCE:SPEC:319 | 4 | 4.2 | Identification variables are case insensitive. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:320 | 4 | 4.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 |
| false | technology | active | true |
PERSISTENCE:SPEC:322 | 4 | 4.4 | A single_valued_association_field is designated by the name of an association-field in a one-to-one or many-to-one relationship. The type of a single_valued_association_field and thus a single_valued_association_path_expression is the abstract schema type of the related entity. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:323 | 4 | 4.4 | A collection_valued_association_field is designated by the name of an association-field in a one-to-many or a many-to-many relationship. The type of a collection_valued_association_field is a collection of values of the abstract schema type of the related entity. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:325 | 4 | 4.4 | A path expression that ends in a simple state-field, rather than an embedded class, is terminal and cannot be further composed. | true |
| false | technology | active | false |
PERSISTENCE:SPEC:326 | 4 | 4.4 | A path expression that leads to an association-field may be further composed. Path expressions can be composed from other path expression if the original path expression evaluates to a single-valued type (not a collection) corresponding to an association-field. | true |
| false | technology | active | false |
PERSISTENCE:SPEC:328 | 4 | 4.4 | The 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:329 | 4 | 4.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 |
| false | technology | active | true |
PERSISTENCE:SPEC:765 | 4 | 4.4 | The syntax for single-valued path expressions and collection valued path expression is as follows: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:766 | 4 | 4.4 | single_valued_path_expression ::= state_field_path_expression | single_valued_association_path_expression | true |
| false | technology | active | true |
PERSISTENCE:SPEC:767 | 4 | 4.4 | state_field_path_expression ::= {identification_variable | single_valued_association_path_expression}.state_field | true |
| false | technology | active | true |
PERSISTENCE:SPEC:768 | 4 | 4.4 | single_valued_association_path_expression ::= identification_variable.{single_valued_association_field.}*single_valued_association_field | true |
| false | technology | active | true |
PERSISTENCE:SPEC:769 | 4 | 4.4 | collection_valued_path_expression ::= identification_variable.{single_valued_association_field.}*collection_valued_association_field | true |
| false | technology | active | true |
PERSISTENCE:SPEC:770 | 4 | 4.4 | state_field := simple_state_field | {embedded_class_state_field.}*simple_state_field | true |
| false | technology | active | true |
PERSISTENCE:SPEC:771 | 4 | 4.4 | Navigation to a related entity results in a value of the related entity's abstract schema type. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:772 | 4 | 4.4 | The evaluation of a path expression terminating in a state-field results in the abstract schema type corresponding to the Java type designated by the state-field. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:773 | 4 | 4.5 | An 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:774 | 4 | 4.5 | The syntax for explicit join operations is as follows: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:775 | 4 | 4.5 | join ::= join_spec association_path_expression [AS] identification_variable | true |
| false | technology | active | true |
PERSISTENCE:SPEC:776 | 4 | 4.5 | fetch_join ::= join_spec FETCH association_path_expression | true |
| false | technology | active | true |
PERSISTENCE:SPEC:777 | 4 | 4.5 | association_path_expression ::= collection_valued_path_expression | single_valued_association_path_expression | true |
| false | technology | active | true |
PERSISTENCE:SPEC:778 | 4 | 4.5 | join ::= join_spec::=[LEFT [OUTER] | INNER] JOIN | true |
| false | technology | active | true |
PERSISTENCE:SPEC:779 | 4 | 4.5.1 | The syntax for the inner join operation is: [INNER] JOIN association_path_expression [AS] identification_variable | true |
| false | technology | active | true |
PERSISTENCE:SPEC:780 | 4 | 4.5.2 | LEFT 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 association_path_expression [AS] identification_variable | true |
| false | technology | active | true |
PERSISTENCE:SPEC:781 | 4 | 4.5.3 | A FETCH JOIN enables the fetching of an association as a side effect of the execution of a query. A FETCH JOIN is specified over an entity and its related entities.
The syntax for a fetch join is: fetch_join ::= [LEFT [OUTER] | INNER ] JOIN FETCH association_path_expression | true |
| false | technology | active | true |
PERSISTENCE:SPEC:782 | 4 | 4.5.3 | The association referenced by the right side of the FETCH JOIN clause must be an association that belongs to an entity that is returned
as a result of the query. It is not permitted to specify an identification variable for the entities referenced by the right side of the FETCH JOIN clause, and hence
references to the implicitly fetched entities cannot appear elsewhere in the query. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:321 | 4 | 4.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 |
| false | technology | active | true |
PERSISTENCE:SPEC:783 | 4 | 4.6 | The path expression evaluates to a collection type specified as a result of navigation to a collection-valued association-field of an entity abstract schena type. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:784 | 4 | 4.8 | Java Persistence queries are automatically polymorphic. The FROM clause of a query designates not only instances of the specific entity class(es) to which explictly refers but of subclasses as well. The instances returned by a query include instances of the subclasses that satisfy the query criteria. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:785 | 4 | 5 | The WHERE clause restricts the result set 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:330 | 4 | 6.1 | A string literal is enclosed in single quotes. A string literal that includes a single quote is represented by two single quotes. EJB-QL string literals are like Java String literals in that they use unicode character encoding. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:331 | 4 | 6.1 | An exact numeric literal is a numeric value without a decimal point. Exact numeric literals support numbers in the range of Java long. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:332 | 4 | 6.1 | Although predefined reserved literals appear in upper case, they are case insensitive. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:333 | 4 | 6.1 | An approximate numeric literal is a value in scientific notation. Approximate numeric literal support numbers in the range of Java double. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:334 | 4 | 6.1 | The boolean literals are TRUE and FALSE. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:786 | 4 | 6.2 | All identification variables used in the WHERE or HAVING clause of a SELECT or DELETE statement must be declared
in the FROM clause.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:787 | 4 | 6.2 | The identification variables used in the WHERE clause of an UPDATE statement must be declared in the UPDATE clause.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:788 | 4 | 6.3 | It 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 or collection_member_expression, or as an argument to the SIZE operator.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:336 | 4 | 6.4 | If an input parameter is NULL, arithmetic operations involving the input
parameter will return an UNKNOWN value
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:337 | 4 | 6.4 | If an input parameter is NULL, comparison operations involving the input parameter will return an UNKNOWN value. NOTE: Duplicate assertion to: PERSISTENCE:SPEC:342. Recheck tagged test code and remedy list accordingly. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:338 | 4 | 6.4.1 | Input parameters are numbered starting from 1 | true |
| false | technology | active | true |
PERSISTENCE:SPEC:341 | 4 | 6.4.1 | An input parameter evaluates to the abstract schema type of the corresponding parameter defined in the signature of the finder or select method with which the query is associated. It is the responsible of the Container to map the input parameter to the appropriate abstract schema type value. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:789 | 4 | 6.4.2 | A named parameter is an identifier that is prefixed by the ":" symbol. It follows the rules for identifiers in Section 3.4.1. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:342 | 4 | 6.4 | Note that if an input parameter is Null, comparison operations involving the input parameter will return an unknown value. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:343 | 4 | 6.4 | Note that if an input parameter is Null, arithmetic operations involving the input parameter will return an unknown value. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:344 | 4 | 6.5 | Arithmetic operations use numeric promotion. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:345 | 4 | 6.5 | Conditional expressions are composed of other conditional expressions, comparison operators, logical operations, path expressions that evaluate to boolean values and boolean literals. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:346 | 4 | 6.5 | Standard bracketing for ordering expression evaluation is supported. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:347 | 4 | 6.5 | Arithmetic expressions can be used in comparison expressions. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:348 | 4 | 6.6 | Operators and Operator Precedence. The operators listed below in order of descreasing precedence. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:348.1 | 4 | 6.6 | Navigation Operator | true |
| false | technology | active | true |
PERSISTENCE:SPEC:348.2 | 4 | 6.6 | Arithmetic Operators (+,- unary - *,/ multiplication, division - +.- addition, substraction) | true |
| false | technology | active | true |
PERSISTENCE:SPEC:348.3 | 4 | 6.6 | Comparison Operators | true |
| false | technology | active | true |
PERSISTENCE:SPEC:348.4 | 4 | 6.6 | Logical Operators: NOT, AND, OR | true |
| false | technology | active | true |
PERSISTENCE:SPEC:349 | 4 | 6.7 | 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:349.1 | 4 | 6.7 | string_expression [NOT] BETWEEN string-expression AND string-expression | true |
| false | technology | active | true |
PERSISTENCE:SPEC:349.2 | 4 | 6.7 | datetime_expression [NOT] BETWEEN datetime-expression AND datetime-expression | true |
| false | technology | active | true |
PERSISTENCE:SPEC:350 | 4 | 6.7 | The BETWEEN expression x BETWEEN y and z is semantically equivalent to: y less than = x AND x less than = z | true |
| false | technology | active | true |
PERSISTENCE:SPEC:351 | 4 | 6.8 | If the value of a state_field_path_expression in an IN or NOT IN expression is
NULL or UNKNOWN, the value of the expression is UNKNOWN.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:352 | 4 | 6.8 | The syntax for the use of the comparison operator IN in a conditional expression is as follows: state_field_path_expression [NOT] IN({literal | input parameter} [, {literal | input_parameter}]*} | subquery). The state_field_path_expression must have a string or numeric value. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:352.1 | 4 | 6.8 | The literal and/or input parameter values must be like the same abstract schema type of the state_field_path_expression in type. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:352.2 | 4 | 6.8 | The results of the subquery must be like the same abstract schema type of the state_field_path_expression in type. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:353 | 4 | 6.8 | There must be at least one element in the comma separated list that defines the set of values for the IN expression. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:354 | 4 | 6.8 | 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:355 | 4 | 6.8 | The expression o.country NOT IN ('UK', 'US', 'France') is equivalent to the expression NOT (o.country = 'UK') OR (o.country = 'US') OR (o.country = 'France') | true |
| false | technology | active | true |
PERSISTENCE:SPEC:356 | 4 | 6.9 | If the value of a single-valued path expression or pattern_value is NULL or UNKNOWN, the value of the
LIKE expression is UNKNOWN.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:357 | 4 | 6.9 | If the escape_character is specified as a NULL, the value of the LIKE expression is iunknown. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:358 | 4 | 6.9 | The syntax for the use of the comparison operator [NOT] LIKE in a conditional expression is as follows: state_field_path_expression [NOT] LIKE pattern-value [ESCAPE escape-character]. The state_field_path_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 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:359 | 4 | 6.10 | The syntax for the use of the comparison operator IS [NOT] NULL in a conditional expression is as follows: single_valued_path_expression | input parameter IS [NOT] NULL. A null comparison expression tests whether or not the single valued path expression is a NULL value. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:360 | 4 | 6.11 | The collection designated by the collection-valued path expression used in an empty collection comparison expression must not be used in the FROM clause for the declaration of an identification variable. | true |
| false | technology | active | false |
PERSISTENCE:SPEC:361 | 4 | 6.11 | The syntax for the use of the comparison operator IS [NOT] EMPTY in an empty_collection_comparison_expression is as follows: collection_valued_path_expression IS [NOT] EMPTY This expression tests whether or not the collection designated by the collection-valued
path expression is empty (that is, it has no elements).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:362 | 4 | 6.11 | 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:363 | 4 | 6.12 | The syntax for the use of the comparison operator MEMBER OF in a collection_member_expression is as follows: entity_expression [NOT] MEMBER [OF] collection_valued_path_expression.
entity_expression::=
This expression tests whether the designated value is a member of the collection designated by the collection-valued path expression. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:363.1 | 4 | 6.12 | single_valued_association_path_expression | true |
| false | technology | active | true |
PERSISTENCE:SPEC:363.2 | 4 | 6.12 | identification variable | true |
| false | technology | active | true |
PERSISTENCE:SPEC:361.1 | 4 | 6.12 | input_parameter | true |
| false | technology | active | true |
PERSISTENCE:SPEC:364 | 4 | 6.12 | If the value of the collection-valued path expression or single-valued association-field path expression in the collection member expression is NULL, the value of the collection member expression is unknown. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:365 | 4 | 6.12 | If the collection valued path expression designates an empty collection, the value of the the MEMBER OF expression is FALSE and the value of the NOT MEMBER OF expression is TRUE. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:366 | 4 | 6.12 | If the value of the single-valued association-field path expression in the collection member expression is unknown, the value of the empty comparison expression is unknown. If the collection valued path expressiuon designates an empty collection, the value of the expression is FALSE. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:791 | 4 | 6.13 | An 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:792 | 4 | 6.13 | The syntax of an exists expression is: exists_expression::= [NOT] EXISTS (subquery) | true |
| false | technology | active | true |
PERSISTENCE:SPEC:793 | 4 | 6.14 | An ALL conditional expression is a predicate that is true if the comparison operation is true for all values in the result of the subquery, and that is otherwise false. If the result of the subquery is empty, the ALL condition is true. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:794 | 4 | 6.14 | An ANY conditional expression is a predicate that is true if the comparison operation is true for all values in the result of the subquery, and that is otherwise false. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:795 | 4 | 6.14 | The keyword SOME is synonymous with ANY. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:796 | 4 | 6.14 | If the result of the subquery is empty, the ANY or SOME condition is false. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:797 | 4 | 6.14 | The 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:798 | 4 | 6.14 | The syntax of an ALL or ANY expression is specified as follows: all_or_any_expression ::= {ALL | ANY | SOME} (subquery) | true |
| false | technology | active | true |
PERSISTENCE:SPEC:799 | 4 | 6.15 | Subqueries may be used in the WHERE or HAVING clause. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:800 | 4 | 6.15 | The syntax for subqueries is as follows. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:801 | 4 | 6.15 | subquery ::= simple_select_clause from_clause [where_clause] [groupby_clause] [having_clause] | true |
| false | technology | active | true |
PERSISTENCE:SPEC:802 | 4 | 6.15 | simple_select_clause ::= SELECT [DISTINCT] select_expression | true |
| false | technology | active | true |
PERSISTENCE:SPEC:367 | 4 | 6.16 | If the value of any argument to a functional expression is NULL or UNKNOWN, the value of the functional expression is UNKNOWN. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:369 | 4 | 6.16.1 | Java Persistence QL includes the following built-in String functions which may be used in the WHERE clause of a query.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:369.1 | 4 | 6.16.1 | CONCAT(string_expression, string_expression). The CONCAT function returns a string that is a concatenation of its arguments. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:369.2 | 4 | 6.16.1 | SUBSTRING(string_expression, arithmetic expression, arithmetic-expression). The second and third argument of the SUBSTRING denote the starting
position and length of the substring to be returned. These arguments are integers. The firstd position of a string is denoted by 1. The SUBSTRING function
returns a string. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:369.3 | 4 | 6.16 | 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. (NOTE: Not all databases support the use of the third argument to LOCATE; use of this argument may result in queries that
are not portable.)
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:369.4 | 4 | 6.16.1 | LENGTH(string_expression). The LENGTH function returns the length of the string in characters as an integer. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:369.9 | 4 | 6.16.1 | TRIM([[trim_sepcification] [trim_character] FROM] string_expression). trim_specification ::=[LEADING | TRAILING | BOTH]
The TRIM function trims the specified character from a string.If the character to be trimmed is note specified, it is assumed to be space (or blank).
The optional trim_character is a single-character string liuteral or character-valued input parameter (i.e. char or Character). The TRIM function
returns the trimmed string.(NOTE: Not all databases support the use of the trim_character other than a space character; use of this argument may result in queries
that are not portable.)
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:369.10 | 4 | 6.16.1 | LOWER(string_expression). The LOWER function converts a string to upper case. LOWER returns a string. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:369.11 | 4 | 6.16.1 | UPPER (string_expression). The UPPER function converts a string to upper case. UPPER returns a string. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:369 | 4 | 6.16.2 | Java Persistence QL includes the following built-in Arithmetic functions which may be used in the WHERE clause of a query:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:369.5 | 4 | 6.16.2 | ABS(arithmetic_expression). The ABS function takes a nueric argument and returns a number (integer, float, double) of the same type as the argument to the function. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:369.6 | 4 | 6.16.2 | SQRT(arithmetic_expression). The SQRT function takes a nuneric argument and returns a double. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:369.7 | 4 | 6.16.2 | MOD(arithmetic_expression, arithmetic_expression). The MOD function takes two integer argumetns and returns an integer. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:369.8 | 4 | 6.16.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 |
| false | technology | active | true |
PERSISTENCE:SPEC:368 | 4 | 6.16.2 | Numeric arguments to these functions may correspond to the numeric Java object types as well as the primitive numeric types. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:803 | 4 | 7 | The 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:804 | 4 | 7 | The syntax of the GROUP BY and HAVING clauses is as follows: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:805 | 4 | 7 | groupby_clause ::= GROUP BY groupby_item[,groupby_item]* | true |
| false | technology | active | true |
PERSISTENCE:SPEC:806 | 4 | 7 | groupby_item ::= state_field_path_expression | true |
| false | technology | active | true |
PERSISTENCE:SPEC:807 | 4 | 7 | having_clause ::= HAVING conditional_expression | true |
| false | technology | active | true |
PERSISTENCE:SPEC:808 | 4 | 7 | If 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 cluase causes those groups to be retained that satisfy the conditiona of the HAVING clause. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:809 | 4 | 7 | If there is no GROUP BY clause and the HAVING clause is used, the effect is that of treating the result fo the query as a single group. The use of HAVING in the absence of GROUP BY is not required to be supported by an implementataion of this specification. Portable applications should not rely on HAVING without the use of GROUP BY. | false |
| true | technology | active | false |
PERSISTENCE:SPEC:810 | 4 | 7 | The 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:811 | 4 | 8 | The SELECT clause denotes the query result. More than one value may be returned from the SELECT clause of a query. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:372 | 4 | 8 | The SELECT clause may contain one or more of the following elements: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:372.1 | 4 | 8 | a single range variable | true |
| false | technology | active | true |
PERSISTENCE:SPEC:372.2 | 4 | 8 | identification variable that ranges over an entity abstract schema type | true |
| false | technology | active | true |
PERSISTENCE:SPEC:372.3 | 4 | 8 | a single-valued path expression | true |
| false | technology | active | true |
PERSISTENCE:SPEC:372.4 | 4 | 8 | an aggregate select expression | true |
| false | technology | active | true |
PERSISTENCE:SPEC:372.5 | 4 | 8 | a constructor expression | true |
| false | technology | active | true |
PERSISTENCE:SPEC:814 | 4 | 8 | The SELECT clause has the following syntax: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:815 | 4 | 8 | select_clause ::= SELECT [DISTINCT] select_expression[,select_expression]* | true |
| false | technology | active | true |
PERSISTENCE:SPEC:816 | 4 | 8 | select_expression ::= {single_valued_path_expression | aggregate_select_expression | identification_variable | OBJECT(identification variable) | constructor_expression | true |
| false | technology | active | true |
PERSISTENCE:SPEC:817 | 4 | 8 | constructor_expression ::= NEW constructor_name([single_valued_path_expression | aggregate_select_expression} [,{single_valued_patch_expression | aggregate_select_expression}]*) | true |
| false | technology | active | true |
PERSISTENCE:SPEC:818 | 4 | 8 | aggregate_select_expression ::= {AVG | MAX | MIN | SUM | COUNT}([DISTINCT] state_field_path_expression) | COUNT ([DISTINCT] identification_variable | single_valued_association_path_expression) | true |
| false | technology | active | true |
PERSISTENCE:SPEC:373 | 4 | 8 | All standalone identification variables in the SELECT clause may optionally be qualified by the OBJECT operator. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:374 | 4 | 8 | The DISTINCT keyword is used to specify that duplicate values must be eliminated from the query result. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:371 | 4 | 8 | If the query is specified for a method whose result type is java.util.Set, but does not specify DISTINCT, the container must interpret the query as if SELECT DISTINCT had been specified. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:413 | 4 | 8 | If the query is specified for a method whose return type is java.util.Collection, the collection of values returned by the Container may contain duplicates if DISTINCT is not specified in the SELECT clause. | true |
| false | technology | active | false |
PERSISTENCE:SPEC:406 | 4 | 8.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 an aggregate function, the result of a construction operation, or some sequence of these.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:408 | 4 | 8.1 | The result of the SELECT clause is defined by the result types of the select_expressions contained in it. When multiple select_expressions are used in the SELECT clause, the result of the query is of type Object[] and the elements in this result correspond in order to the order of their specification in the SELECT caluse and in type to the result types of each select_expressions. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:409 | 4 | 8.1 | The result type of the select_expression is a single_valued_path_expression that is a state_field_path_expression results in an object of the same type as the corresponding state field of the entity. If the state field of the entity is a primitive type, the corresponding object type is returned. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:410 | 4 | 8.1 | The result type of the select_expression is a single_valued_path_expression that is a single_valued_association_path_expression results in an entity object of the type as the relationship field or the subtype of the relationship field of the entity as determined by the o/r mapping. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:394 | 4 | 8.1 | The result type of an identification_variable is type of the entity to which that identification variable corresponds or a subtype as determined by the o/r mapping. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:395 | 4 | 8.1 | The result type of a constructor_expression is the type of the class for which the constructor is defined. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:819 | 4 | 8.2 | A constructor expression may be used in the SELECT list to return a collection of Java instances. The specified class is not required to be an entity or to be mapped to the database. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:820 | 4 | 8.2 | If an entity name is specified in the SELECT NEW clause, the resulting entity instances are in the new state. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:375 | 4 | 8.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 |
| false | technology | active | true |
PERSISTENCE:SPEC:376 | 4 | 8.2 | The IS NOT NULL construct can be used to eliminate the null from the result set of the query. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:379 | 4 | 8.2 | 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:380 | 4 | 8.4 | The aggregate function AVG can be used in the SELECT clause of an query. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:381 | 4 | 8.4 | The aggregate function MIN can be used in the SELECT clause of an query. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:382 | 4 | 8.4 | The aggregate function MAX can be used in the SELECT clause of an query. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:383 | 4 | 8.4 | The aggregate function SUM can be used in the SELECT clause of an query. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:384 | 4 | 8.4 | The aggregate COUNT function can be used in the SELECT clause of an query. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:389 | 4 | 8.4 | The path expression argument to COUNT may terminate in a state-field. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:390 | 4 | 8.4 | The path expression argument to COUNT may terminate in a association-field. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:391 | 4 | 8.4 | The argument to COUNT may be an identification variable. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:821 | 4 | 8.4 | Arguments to the functions SUM and AVG must be numeric. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:822 | 4 | 8.4 | Arguments 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:823 | 4 | 8.4 | The Java type that is contained in the result of a query using an aggregate function is as follows [with 3.0 entities]: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:824 | 4 | 8.4 | COUNT returns long | true |
| false | technology | active | true |
PERSISTENCE:SPEC:825 | 4 | 8.4 | MAX, MIN return the type of the state-field to which they are applied | true |
| false | technology | active | true |
PERSISTENCE:SPEC:826 | 4 | 8.4 | AVG returns Double | true |
| false | technology | active | true |
PERSISTENCE:SPEC:827 | 4 | 8.4 | SUM 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:828 | 4 | 8.4 | If 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:829 | 4 | 8.4 | If COUNT is used, and there are no values to which COUNT can be applied, the result of the aggregate function is 0. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:392 | 4 | 8.4 | 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. (NOTE: It is legal to specify DISTINCT with MAX or MIN but it does not affect the result.) | true |
| false | technology | active | true |
PERSISTENCE:SPEC:393 | 4 | 8.4 | Null values are eliminated before the aggregate function is applied regardless whether the keyword DISTINCT is specified. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:399 | 4 | 9 | When Order By clause is used, the SELECT clause of the query MUST be one of the following | true |
| false | technology | active | true |
PERSISTENCE:SPEC:399.1 | 4 | 9 | a single_valued_association_path_expression.
For a single_valued_association_path_expression, each orderby_item MUST be an orderable state-field of the entity
bean abstract schema type value returned by the SELECT clause
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:399.2 | 4 | 9 | an Identification Variable.
For an identification variable, each orderby_item MUST be an orderable state-field of the entity
bean abstract schema type value returned by the SELECT clause
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:399.3 | 4 | 9 | a state_field_path_expression.
For state_field_path_expression, the orderby_item MUST evaluate to the same state-field of the same entity bean abstract schema type as the state_field_path_expression in the SELECT clause.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:400 | 4 | 9 | 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:401 | 4 | 9 | The keyword ASC specifies that ascending order is used. DEFAULT. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:402 | 4 | 9 | The keyword DESC specified that descending order is used. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:403 | 4 | 9 | 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 before all non-null values in the ordering, but it is not specified which. | true |
| true | technology | active | true |
PERSISTENCE:SPEC:404 | 4 | 9 | The ordering of the query result is preserved in the result of the query method if the ORDER BY clause is used. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:834 | 4 | 10 | Bulk 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:835 | 4 | 10 | A delete operation only applies to entities of the specified class and its subclasses. It does not cascade to
related entities. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:836 | 4 | 10 | The syntax of these operations are as follows: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:837 | 4 | 10 | update_statement ::=update_clause[where_clause] | true |
| false | technology | active | true |
PERSISTENCE:SPEC:838 | 4 | 10 | update_clause ::=UPDATE abstract_schema_name[[AS] identification_variable] SET update_item {,update_item}* | true |
| false | technology | active | true |
PERSISTENCE:SPEC:839 | 4 | 10 | update_item ::=[identification_variable].state_field=new_value | true |
| false | technology | active | true |
PERSISTENCE:SPEC:840 | 4 | 10 | delete_statement ::=delete_clause [where_clause] | true |
| false | technology | active | true |
PERSISTENCE:SPEC:841 | 4 | 10 | delete_clause ::= DELETE FROM abstract_schema_name [[AS] identificationo_variable] | true |
| false | technology | active | true |
PERSISTENCE:SPEC:415 | 4 | 11 | Two NULL values are not considered to be equal, the comparison yield an UNKNOWN value. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:416 | 4 | 11 | Comparison operations with a NULL value always yield an UNKNOWN value. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:417 | 4 | 11 | Comparison operations with an UNKNOWN value always yield an UNKNOWN value. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:418 | 4 | 11 | Arithmetic operators with a NULL value always yield an UNKNOWN value. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:419 | 4 | 11 | Arithmetic operators with an UNKNOWN value always yield an UNKNOWN value. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:422 | 4 | 11 | The IS NOT NULL operators convert a NULL state-field into the respective TRUE or FALSE value. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:423 | 4 | 11 | The IS NOT NULL operators convert a NULL single-valued-association-field into the respective TRUE or FALSE value. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:424 | 4 | 11 | Boolean operators use three valued logic: Table 7: Definition of the AND Operator | true |
| false | technology | active | true |
PERSISTENCE:SPEC:425 | 4 | 11 | Boolean operators use three valued logic: Table 8: Definition of the OR Operator | true |
| false | technology | active | true |
PERSISTENCE:SPEC:426 | 4 | 11 | Boolean operators use three valued logic: Table 9: Definition of the NOT Operator | true |
| false | technology | active | true |
PERSISTENCE:SPEC:427 | 4 | 12 | Two entities of the same abstract schema type are equal if and only if they have the same primary key value. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:428 | 4 | 12 | Only equality/inequality comparisons over enums are required to be supported. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:430 | 4 | 12 | Only the values of like types can be compared. There is one exception to this rule: it is valid to compare numeric values for which the rule of numeric promotion apply. Conditional expression attempting to compare non-like type values are disallowed except for this numeric case. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:842 | 5 | 1 | Both container-managed and application-managed entity managers and their persistence contexts are required to be supported in JavaEE web containers and EJB containers. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:843 | 5 | 1 | In Java SE 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:844 | 5 | 2 | A container-managed entity manager is obtained by the application through dependency injection or through JNDI lookup. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:845 | 5 | 2.1 | The PersistenceContext annotation is used for entity manager injection. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:846 | 5 | 2.1 | The unitName element may optionally be specified to designate the persistence unit whose factory is used by the container. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:847 | 5 | 2.1 | The type element specifies whether a transaction-scoped or extended persistence context is to be used. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:848 | 5 | 3 | The EntityManagerFactory interface is used to create an application-managed entity manager and manage its lifecycle. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:849 | 5 | 3 | More than one entity manager factory instance may be available simultaneously in the JVM. | true |
| false | technology | active | false |
PERSISTENCE:SPEC:850 | 5 | 3.1 | Within a JavaEE environment, an entity manager factory may be injected using the PersistenceUnit annotation or obtained through JNDI lookup. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:851 | 5 | 3.2 | Outside 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 |
| false | technology | active | false |
PERSISTENCE:SPEC:852 | 5 | 4 | The EntityManagerFactoryInterface is the interface used by the application to create a new application-managed entity
manager or to get a provider-managed entity manager that is bound to the current JTA transaction context. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:853 | 5 | 4 | When the application has finished using the entity manager factory, and/or at application shutdown, the application should close the entity manager factory. | true |
| false | technology | active | false |
PERSISTENCE:SPEC:854 | 5 | 4 | Any number of vendor-specific properties may be included in the map passed to createEntityManager. Properties not recognized by a vendor must be ignored. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:855 | 5 | 5 | An 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:856 | 5 | 5 | Both JTA entity managers and resource-local entity managers are required to be supported in JavaEE web and EJB containers. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:857 | 5 | 5 | In general, in JavaSE environments, only resource-local entity managers are supported. | true |
| false | technology | active | false |
PERSISTENCE:SPEC:858 | 5 | 5 | Container-managed entity managers must be a JTA entity manager. JTA entity managers are only specified for use in JavaEE containers. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:859 | 5 | 5.1 | Application-managed entity managers may either be JTA or resource-local entity managers. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:860 | 5 | 5.2.1 | An entity manager whose transactions are controlled by the application through the EntityTransaction API is a resource-local entity manager.
The EntityManager.getTransaction() method returns the EntityTransaction Interface. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:861 | 5 | 6 | When 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:862 | 5 | 6.1 | Container-managed Transaction-scoped Persistence Context: A new persistence context begins when a 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 then associated with the
current JTA transaction. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:863 | 5 | 6.1 | Container-managed Transaction-scoped Persistence Context: The persistent context ends when the associated JTA transaction completes and al entites that were
managed by the EntityManager become detached. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:864 | 5 | 6.1 | Container-managed Transaction-scoped Persistence Context: If the entity manager is invoked outside the scope of a transaction, a persistence context is
created and destroyed to service the method call only and any entities loaded from the database will immediately become detached at the end of the method call. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:865 | 5 | 6.2 | Container-managed Extended Persistence Context: An extended persistence context exists from the point at which the stateful session bean declares a dependency on an entity manager of type PersistenceContextType.EXTENDED is created and bound to the stateful session bean. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:866 | 5 | 6.2 | Container-managed Extended Persistence Context: The dependency on the extended persistence context is declared by means of the PersistenceContext annoation or the persistence-context-ref deployment descriptor element. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:867 | 5 | 6.2 | Container-managed Extended Persistence Context can only be initiated within the scope of a stateful
session bean. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:868 | 5 | 6.2.1 | If a stateful session bean with an extended persistence context instantiates another stateful session bean with an
extended persistence context, the extended persistence context 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:869 | 5 | 6.2.1 | IIf 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:870 | 5 | 6.3 | The 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:871 | 5 | 6.3.1 | If a component is called and there is no JTA transaction or the JTA transaction is not propagated, the
persistence context is not propagated. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:872 | 5 | 6.3.1 | If an entity manager is invoked from within the component: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:873 | 5 | 6.3.1 | Invocation of an entity manager defined with PersistsenceContextType.TRANSACTION will result in use of a new
persistence context. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:874 | 5 | 6.3.1 | Invocation 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:875 | 5 | 6.3.1 | If the entity manager is invoked within a JTA transaction the persistence context will be boud to the JTA transaction. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:876 | 5 | 6.3.1 | If a component is called and the JTA transaction is propagated into that component: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:877 | 5 | 6.3.1 | If 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:878 | 5 | 6.3.1 | Otherwise, if there is a persistence context bound to the JTA transaction, that persistence context is propagated and used. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:879 | 5 | 7 | Application-managedPersistence Context: When an applicatio-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 may span multiple transactions. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:880 | 5 | 7 | The EntityManager close and isOpen methods are used to manage the lifecycle of an application-managed entity manager and its associated persistence context. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:881 | 5 | 7 | The EntityManager.close() closes the entity manager to release its persistence context and any other resources. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:882 | 5 | 7 | After calling close, the application must not invoke
any further methods on the EntityManager instance except for getTransaction or IsOpen or the IllegalStateException will be thrown. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:883 | 5 | 7 | If the close method is invoked when a transaction is active, the persistence context remains managed until the transaction completes. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:884 | 5 | 4 | The EntityManager.isOpen() method will return true unless the entity manager has been closed. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:885 | 5 | 7 | Application-managed Extended Persistence Context: The extended persistence context exists from the point at which the entity manager hs been created
using EntityManagerFactory.createEntityManager until the entity manager is closed by the means of EntityManager.close. The extended persistence context obtained from the application-managed entity manager is a stand-alone persistence context - it is not propagated with the transaction. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:886 | 5 | 7 | When 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 associate
the entity manager with the transaction, if desired, by calling EntityManager.joinTransaction. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:887 | 5 | 8 | Requirements on the Container | true |
| false | technology | active | true |
PERSISTENCE:SPEC:888 | 5 | 8.1 | Application Managed Persistence Contexts | true |
| false | technology | active | true |
PERSISTENCE:SPEC:889 | 5 | 8.2 | Container Managed Persistence Contexts | true |
| false | technology | active | true |
PERSISTENCE:SPEC:890 | 5 | 9 |
Runtime Contracts between the Container and Persistence Provider | true |
| false | technology | active | true |
PERSISTENCE:SPEC:891 | 5 | 9.1 | Container Responsibilities | true |
| false | technology | active | true |
PERSISTENCE:SPEC:892 | 5 | 9.2 | Provider Responsibilities | true |
| true | technology | active | true |
PERSISTENCE:SPEC:893 | 6 | 2 | Within JavaEE environments, an EJB-JAR, WAR, or EAR can define a persistence unit. Any number of persistence archives may be deployed within an EJB-JAR, WAR, or EAR. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:894 | 6 | 2 | A persistence unit may be packaged: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:895 | 6 | 2 | within one or more jar files contained within a WAR | true |
| false | technology | active | true |
PERSISTENCE:SPEC:896 | 6 | 2 | one or more jar files contained within an EAR | true |
| false | technology | active | true |
PERSISTENCE:SPEC:897 | 6 | 2 | as a set of classes within an EJB-JAR file | true |
| false | technology | active | true |
PERSISTENCE:SPEC:898 | 6 | 2 | a set of classes in the WAR classes directory | true |
| false | technology | active | true |
PERSISTENCE:SPEC:899 | 6 | 2 | as a combination of these | true |
| false | technology | active | true |
PERSISTENCE:SPEC:900 | 6 | 2 | A persistence unit is defined by a persistence.xml file. The jar file or directory whose META-INF directory contains the persistence.xml is termed the root of the persistence unit.
In Java EE, the root of a persistence unit may be one of the following: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:901 | 6 | 2 | an EJB-JAR file | true |
| false | technology | active | true |
PERSISTENCE:SPEC:902 | 6 | 2 | the 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:903 | 6 | 2 | a jar file in the WEB-INF/lib directory of a WAR file | true |
| false | technology | active | true |
PERSISTENCE:SPEC:904 | 6 | 2 | a jar file in the root of the EAR | true |
| false | technology | active | true |
PERSISTENCE:SPEC:905 | 6 | 2 | a jar file in the EAR lib directory | true |
| false | technology | active | true |
PERSISTENCE:SPEC:906 | 6 | 2 | an application client jar file | true |
| false | technology | active | true |
PERSISTENCE:SPEC:907 | 6 | 2 | It is not required that na EJB-JAR or WAR 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:908 | 6 | 2 | A persistence unit must have a name. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:909 | 6 | 2 | Only one persistence unit of any given name may be defined: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:910 | 6 | 2 | within a single EJB-JAR file | true |
| false | technology | active | true |
PERSISTENCE:SPEC:911 | 6 | 2 | within a single WAR file | true |
| false | technology | active | true |
PERSISTENCE:SPEC:912 | 6 | 2 | within a single application client jar | true |
| false | technology | active | true |
PERSISTENCE:SPEC:913 | 6 | 2 | within an EAR in the EAR root | true |
| false | technology | active | true |
PERSISTENCE:SPEC:914 | 6 | 2 | within an EAR in the lib directory | true |
| false | technology | active | true |
PERSISTENCE:SPEC:915 | 6 | 2 | The persistence.xml file may be used to designate more thanone persistnece unit within the same scope. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:916 | 6 | 2 | All persistence classes defined at the level of the Java EE EAR must be accessible to all other J2EE components in the application 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:917 | 6 | 2 | In 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 inclulded in the persistence unit. | true |
| false | technology | active | false |
PERSISTENCE:SPEC:918 | 6 | 2 | The persistence.xml file defines a persistence unit. It may be used to specify managed persistence classes included in the
persistence unit, and the o/r mapping information for those classes, and other configuration information for the persistence unit
and entity manager(s) and the entity manager factory for the persistence unit. The persistence.xml file is located in the META-INF
directory of the root of the persistence unit. This information may be defined by containment or by reference. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:919 | 6 | 2.1 | The o/r mapping information may take the form of: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:920 | 6 | 2.1 | annotations on the managed persistence classes included in the persistence unit | true |
| false | technology | active | true |
PERSISTENCE:SPEC:921 | 6 | 2.1 | one or more XML files contained in the root of the persistence unit | true |
| false | technology | active | true |
PERSISTENCE:SPEC:922 | 6 | 2.1 | one or more XML files outside the persistence archive on the classpath and referenced from the persistence.xml | true |
| false | technology | active | true |
PERSISTENCE:SPEC:923 | 6 | 2.1 | a combination of above | true |
| false | technology | active | true |
PERSISTENCE:SPEC:924 | 6 | 2.1 | The managed persistence classes may either be: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:925 | 6 | 2.1 | contained within the persistence archive | true |
| false | technology | active | true |
PERSISTENCE:SPEC:926 | 6 | 2.1 | specified by reference that are accessible on the application classpath | true |
| false | technology | active | true |
PERSISTENCE:SPEC:927 | 6 | 2.1 | specified by come combination of above | true |
| false | technology | active | true |
PERSISTENCE:SPEC:928 | 6 | 2.1 | The persistence element consists of one or more persistence-unit elements. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:929 | 6 | 2.1 | The persistence-unit element consists of the following sub-elements and attributes: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:930 | 6 | 2.1.1 | The name attribute is required; the other attributes and elements are optional. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:931 | 6 | 2.1.1 | The description element provides optional descriptive information about the persistence unit. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:932 | 6 | 2.1.2 | The 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:933 | 6 | 2.1.3 | The provider element specifies the name of the persistence provider's jakarta.persistence.spi.PersistenceProvider class. | true |
| false | technology | active | false |
PERSISTENCE:SPEC:934 | 6 | 2.1.3 | The provider element must be specified if a third-party provider implementation is used. | true |
| false | technology | active | false |
PERSISTENCE:SPEC:935 | 6 | 2.1.3 | In J2SE environments, the persistence provider must be specified [either by this means or vendor-specific-means]. | true |
| false | technology | active | false |
PERSISTENCE:SPEC:936 | 6 | 2.1.4 | The 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:937 | 6 | 2.1.4 | The value of this element is JTA or RESOURCE_LOCAL. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:938 | 6 | 2.1.4 | IIf this element is not specified, the default is JTA. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:939 | 6 | 2.1.5 | In Java EE environments, the jta-data-source and non-jta-data-source elements is used to specify the global JNDI name of the JTA and/or non-JTA data source
to be used by the persistence provider. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:940 | 6 | 2.1.5 | If neither is specified, the deployer must specify a JTA datasource at deployment or a JTA data source must be provided by the container and
a JTA EntityManagerFactory will be created to correspond to it. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:941 | 6 | 2.1.5 | These 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 |
| true | technology | active | false |
PERSISTENCE:SPEC:942 | 6 | 2.1.5 | In Java SE environments, these elements may be used or the datasource information may be specified by other means -
depending upon the requirements of the provider. | true |
| false | technology | active | false |
PERSISTENCE:SPEC:943 | 6 | 2.1.6 | The 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. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:944 | 6 | 2.1.6 | The set of classes that are managed by a persistence unit is defined by using one or more of the following: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:945 | 6 | 2.1.6 | One or more o/r mapping XML file | true |
| false | technology | active | true |
PERSISTENCE:SPEC:946 | 6 | 2.1.6 | One or more jar files that will be searched for classes | true |
| false | technology | active | true |
PERSISTENCE:SPEC:947 | 6 | 2.1.6 | An explicit list of the classes | true |
| false | technology | active | true |
PERSISTENCE:SPEC:948 | 6 | 2.1.6 | The annotated managed persistence classes contained in the root of the persistence unit
(unless the exclude-unlisted-classes element is specified) | true |
| false | technology | active | true |
PERSISTENCE:SPEC:949 | 6 | 2.1.6 | An orm.xml file: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:950 | 6 | 2.1.6 | may be specified in the META-INF directory in the root of the persistence unit | true |
| false | technology | active | true |
PERSISTENCE:SPEC:951 | 6 | 2.1.6 | or in the META-INF directory of any jar file referenced by the persistence.xml | true |
| false | technology | active | true |
PERSISTENCE:SPEC:952 | 6 | 2.1.6 | and/or one or more mapping files may be referenced by the mapping-file elements of the persistence-unit element [of the persistence.xml file] | true |
| false | technology | active | true |
PERSISTENCE:SPEC:953 | 6 | 2.1.6 | If a mapping file is specified, the classes and mapping information specified in the mapping file will be used. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:954 | 6 | 2.1.6 | If 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:955 | 6 | 2.1.6 | The result is undefined if multiple mappings referenced within a single persistence unit contain overlapping mapping information for any given class. | false |
| true | technology | active | false |
PERSISTENCE:SPEC:956 | 6 | 2.1.6 | The o/r mapping information contained in any mapping file referenced within the persistence unit must be disjoint at the class level from o/r mapping information contained in any other such mappings. | true |
| false | technology | active | false |
PERSISTENCE:SPEC:957 | 6 | 2.1.6 | One 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 root of the persistence unit. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:958 | 6 | 2.1.6 | A list of named managed persistence classes may also be specified instead of, or in addition to, the JAR files and mapping files. Any mapping
metadata annotations found on them will be processed or they will be mapped using the mapping annotation defaults defined by this specification. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:959 | 6 | 2.1.6 | The class element is used to list a managed persistence class. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:960 | 6 | 2.1.6 | A 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 my also 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 |
| false | technology | active | false |
PERSISTENCE:SPEC:961 | 6 | 2.1.6 | All classes contained in the persistence unit are also searched for annotated managed persistence classes and any mapping metadata annotations found
on them will be processed, or they will be mapped using the mapping annotation defaults. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:962 | 6 | 2.1.6 | If it is not intended that the annoted persistence classes contained in the root of the persistence unit be included in the persistence unit,
the exclude-unlisted-classes should be used. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:963 | 6 | 2.1.6 | The exclude-unlisted-classes element is not intended for use in Java SE environments. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:964 | 6 | 2.1.6 | The resulting set of entities managed by the persistence unit is the union of these four 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:966 | 6 | 2.1.6 | All classes and/or jars that are named as part of a persistence unit must be on the classpath; referencing them from the persistence.xml does not cause them
to be placed on the classpath. | true |
| false | technology | active | false |
PERSISTENCE:SPEC:967 | 6 | 2.1.6 | All 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 |
| false | technology | active | false |
PERSISTENCE:SPEC:968 | 6 | 2.1.7 | The properties element is used to specify vendor-specific properties that apply to the persistence unit and its entity manager factory configurations. | true |
| true | technology | active | false |
PERSISTENCE:SPEC:969 | 6 | 2.1.7 | If a persistence provider does not recognize properties (other than those defined by this specification), the provider must ignore those properties. | true |
| true | technology | active | true |
PERSISTENCE:SPEC:970 | 6 | 2.2 | An EJB-JAR, WAR, application client or EAR can define a persistence unit. The visibility of the persistence unit is determined by its point of definition. | true |
| true | technology | active | true |
PERSISTENCE:SPEC:971 | 6 | 2.2 | A 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-client jar
respectively. It is visible to the components defined in that jar or war, but is not visible as a persistence unit to other parts of the application. | true |
| true | technology | active | true |
PERSISTENCE:SPEC:972 | 6 | 2.2 | A persistence unit that is to be visible to the application as whole must be defined at EAR level (in EAR root or in the lib directory). | true |
| true | technology | active | true |
PERSISTENCE:SPEC:973 | 6 | 2.2 | A 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 defiend by an EJB-JAR, WAR or
application client 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. | true |
| true | technology | active | true |
PERSISTENCE:SPEC:974 | 7 | 1 | Each 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:975 | 7 | 1.1 | At deployment time the container is responsible for scanning locations specified in 6.2 and discovering the persistence.xml files and processing them. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:976 | 7 | 1.1 | When the container finds a persistence.xml file, it processes the persistence unit definitions that it contains. Provider or data source information not specified in the persistence.xml file must be provided
at deployment or defaulted by the container. | true |
| true | technology | active | true |
PERSISTENCE:SPEC:977 | 7 | 1 | The container may optionally add its own container-specific properties to be passed to the provider when creating the entity manager factory for the persistence unit. | false |
| true | technology | active | false |
PERSISTENCE:SPEC:978 | 7 | 1 | When a persistence unit is redeployed the container must call the createContainerEntityManagerFactory method again, with the required PersistenceUnitInfo metadata, to indicate the redeployment. | true |
| false | technology | active | false |
PERSISTENCE:SPEC:979 | 7 | 1.2 | The persistence provider must implement the PersistenceProvider SPI and be able to process the metadata that is passed to it at the time createContainerEntityManagerFactory method is called. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:980 | 7 | 1.2 | An instance of EntityManagerFactory is created and the metadata for the named EntityManager is associated with the factory. The factory is then returned to the container. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:981 | 7 | 1.3 | The interface jakarta.persistence.spi.PersistenceProvider is implemented by the persistence provider. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:982 | 7 | 1.3 | It is invoked by the container in Java EE environments. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:983 | 7 | 1.3 | It is invoked by the jakarta.persistence.Persistence class in Java SE environments. | true |
| false | technology | active | false |
PERSISTENCE:SPEC:984 | 7 | 1.3 | It is not intended to be used by the application. | true |
| false | technology | active | false |
PERSISTENCE:SPEC:985 | 7 | 1.3 | The PersistenceProvider class must have a public no-arg constructor. | true |
| false | technology | active | false |
PERSISTENCE:SPEC:986 | 7 | 1..3.1 | Persistence unit properties may be passed to persistence providers in the Map parameter of the createEntityManagerFactory(String, Map) method.
These properties correspond to the elements of 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 persistene unit. They also override any defaults
that the provider may have applied. | true |
| false | technology | active | false |
PERSISTENCE:SPEC:987 | 7 | 1.3.1 | The properties listed below are defined by this specification. | true |
| false | technology | active | false |
PERSISTENCE:SPEC:988 | 7 | 1.3.1 | jakarta.persistence.provider - corresponds to the provider element in the persistence.xml | true |
| false | technology | active | false |
PERSISTENCE:SPEC:989 | 7 | 1.3.1 | jakarta.persistence.transactionType - corresponds to the transaction-type attribute of the persistence-unit element in the persistence.xml | true |
| false | technology | active | false |
PERSISTENCE:SPEC:990 | 7 | 1.3.1 | jakarta.persistence.jtaDataSource - corresponds to the jta-data-source element in the persistence.xml | true |
| false | technology | active | false |
PERSISTENCE:SPEC:991 | 7 | 1.3.1 | jakarta.persistence.nonJtaDataSource - corresponds to the jnon-ta-data-source element in the persistence.xml | true |
| false | technology | active | false |
PERSISTENCE:SPEC:992 | 7 | 2 | BootStrapping in Java SE Environments | true |
| true | technology | active | true |
PERSISTENCE:SPEC:993 | 8 | 1 | Entity Annotation | true |
| false | technology | active | true |
PERSISTENCE:SPEC:994 | 8 | 1 | The name annotation element defaults to the unqualified name of the entity class. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:995 | 8 | 1 | This name [annotation element] is used to refer to the entity in queries. The name must not be a reserved literal in the query. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:997 | 8 | 2 | Callback Annotations | true |
| false | technology | active | true |
PERSISTENCE:SPEC:998 | 8 | 2 | The EntityListener annotation specifies the callback listener class to be used for an entity. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:999 | 8 | 2 | The callback annotations [see Persistence JavaDoc assertion list] are used to specify callbackmethods for the corresponding lifecycle events. These annotations may be applied to methods on the entity class or methods of the EntityListener class. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1004 | 8 | 3.2 | The NamedQuery annotation is used to specify a named query. The name element is used to refer to the query when using the EntityManager methods that create query objects. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1005 | 8 | 3.2 | The NamedNativeQuery annotation is used to specify a native SQL query. The name element is used to refer to the query when using the EntityManager methods that create query objects. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1006 | 8 | 3.2 | The [NamedNativeQuery] resultClass element refers to the class of the result. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1007 | 8 | 3.2 | The value of the [NamedNativeQuery] resultSetMapping element is the name of a SQLResultSetMapping as defined in the metadata. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1008 | 8 | 3.4 | Annotations for SQL Query Result Set Mappings | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1009 | 8 | 3.4 | The SqlResultSetMapping is used to specify the mapping of the result of a native SQL query. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1010 | 8 | 3.4 | The name element is the name given to the result set mapping and used to refer to it in the methods of the Query API. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1011 | 8 | 3.4 | The entities and columns elements are used to specify the mapping to entities and to scalar values respectively. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1012 | 8 | 3.4 | The entityClass element specified the class of the result. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1013 | 8 | 3.4 | The 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:1014 | 8 | 3.4 | The 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:1015 | 8 | 3.4 | The name element [of FieldResult] is the name of the persistent field or property of the class. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1016 | 8 | 3.4 | The column element [of FieldResult] is the column name (or alias) as specified in the SELECT list. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1018 | 8 | 4 | References to EntityManager and EntityManagerFactory | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1019 | 8 | 4 | The PersistenceContext annotation is used to express a dependency on an EntityManager persistence context. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1020 | 8 | 4 | The [PersistenceContext] name element refers to the name by which the EntityManager is to be known in the environment referencing context and is not needed when dependency injection is used. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1021 | 8 | 4 | The [PersistenceContext] unitName element refers to the name of the persistence unit. It must be specified if there is more than one persistence unit. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1022 | 8 | 4 | The [PersistenceContext] type element specifies whether a transaction-scoped or extended persistence context is to be used. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1023 | 8 | 4 | The PersistenceUnit annotation is used to express a dependency on an EntityManagerFactory. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1024 | 8 | 4 | The [PersistenceUnit] name element refers to the name by which the EntityManagerFactory is to be known in the environment referencing context and is not needed when dependency injection is used. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1025 | 8 | 4 | The [PersistenceUnit unitName element refers to the name of the persistence unit. It must be specified if there is more thatn one persistence unit. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1026 | 9 | 1 | The implementation of this specification must assume the application logic to be dependent upon the object/relational mapping expressed in metadata. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1027 | 9 | 1 | It is permitted, but not required, that DDL generation be supported by an implementation of this specification. The annotation elements that specify such DDL are intended as hints to the implementation for DDL generation. Use of such hings is not portable. | false |
| true | technology | active | true |
PERSISTENCE:SPEC:1028 | 9 | 1.1 | The Table annotation specifies the primary table for the annotated entity. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1028.1 | 9 | 1.1 | If no Table annotation is specified for an entity, all of the default values defined by the Table annotation will apply to the entity. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1029 | 9 | 1.2 | Specifying one or more secondary tables indicates that the entity data is stored across multiple tables. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1030 | 9 | 1.2 | If no SecondaryTable is specified, it is assumed that all properties of the entity are mapped to the primary table. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1031 | 9 | 1.2 | If no join column is specified, the join columns are assumed to reference the primary key columns of the primary table and have the same names as the referenced columns. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1032 | 9 | 1.2 | If there is a single secondary table, the join column or columns may be specified outside the SecondaryTable annotation. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1033 | 9 | 1.2 | If there are multiple secondary tables and the join columns are not uniformly named, then the nested JoinColumn annotation will be required. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1034 | 9 | 1.2 | Note that the secondaryTable element of the JoinColumn annotation will be ignored whtn the JoinColumn element is used to join a primary table to a secondary table. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1035 | 9 | 1.3 | An entity may have multiple secondary tables. In this case, they must be enclosed within a SecondaryTables annotation. A SecondaryTables annotation takes an array of SecondaryTable annotations as its single annotation element. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1036 | 9 | 1.4 | The UniqueConstraint annotation is used to specify that a unique constraint should be included in the generated DDL for a primary or secondary table. It is only specified as a nested annotation within the Table or SecondaryTable annotation. | false |
| true | technology | active | true |
PERSISTENCE:SPEC:1037 | 9 | 1.5 | Column annotation is used to specify a mapped column for a persistent property or field. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1037.1 | 9 | 1.5 | If a Column annotation is not specified, or the name annotation element is missing, the column name defaults to the persistent property or field name. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1038 | 9 | 1.6 | The JoinColumn annotation is used to specify a mapped column for joining an entity association or a secondary table. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1039 | 9 | 1.6 | The name annotation element defines the name of the foreign key column. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1040 | 9 | 1.6 | If the referencedColumnName element is missing, the foreign key is assumed to refer to the primary key of the referenced table. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1041 | 9 | 1.6 | If 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:1042 | 9 | 1.6 | If no JoinColumn annotation is specified, a single join column is assumed. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1043 | 9 | 1.6 | If there is a single join column, then: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1044 | 9 | 1.6 | If the name annotation element is missing, the join column name is formed as 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:1045 | 9 | 1.6 | If the referencedColumnName element is missing, the foreign key is assumed to refer t the primary key of the referenced table. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1046 | 9 | 1.6 | If there is more than one join column, a JoinColumn annotation myust be specified for each join column. Both the name and referencedColumnName elements must be specified in each such JoinColumn annotation. | false |
| true | technology | active | true |
PERSISTENCE:SPEC:1047 | 9 | 1.6 | Support for referenced columns that are not the primary key of the referenced table is optional in this release, but will be required in the next. | false |
| true | technology | active | true |
PERSISTENCE:SPEC:1048 | 9 | 1.7 | Composite keys are supported via the JoinColumns annotation. This allows grouping a number of JoinColumn specifications for the same relationship or table association. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1049 | 9 | 1.8 | The Id annotation specifies the primary key property or field of an entity. The Id annotatoin may be applied in an entity or mapped superclass. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1050 | 9 | 1.8 | By default, the 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:1051 | 9 | 1.9 | The types of the primary key generation are defined by the GenerationType enum. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1052 | 9 | 1.9 | The 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:1053 | 9 | 1.9 | The SEQUENCE and IDENTITY values specify the use of a database sequence or identity column, respectively. | true |
| true | technology | active | true |
PERSISTENCE:SPEC:1055 | 9 | 1.9 | AUTO indicates that the persistence provider should pick an appropriate strategy for the particular database. | true |
| true | technology | active | true |
PERSISTENCE:SPEC:1057 | 9 | 1.9 | The 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 field of an entity or mapped superclass in conjunction with the Id annotation. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1059 | 9 | 1.10 | The AttributeOverride annotation is used to override mappings of a Basic property or field or Id property or field. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1060 | 9 | 1.10 | Columns in the overrides apply to the current primary table for the class that contains the annotation. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1061 | 9 | 1.10 | The AttributeOverride annotation may be used on an entity that extends a mapped superclass or on an embeddable class. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1062 | 9 | 1.11 | The mappings of multiple properties or fields may be overridden. The AttributesOverrides annotation is used for this purpose. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1062.0 | 9 | 1.11 | The AssociationOverride annotation is used to override a many-to-one or one-to-one mapping of property or field for an entity relationship. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1062.1 | 9 | 1.11 | If the AssociationOverride annotation is not specified, the join column is mapped the same as in the original mapping. The joinColumns element refers to the table for the class that contains the annotation. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1063 | 9 | 1.14 | The EmbeddedId annotation is used to denote a composite primary key that is an embeddable class. It may be applied to a persistent field or property of the entity class. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1064 | 9 | 1.14 | There should only be one EmbeddedId annotation and no Id annotation when the EmbeddedId annotation is used. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1065 | 9 | 1.15 | The IdClass annotation is used to denote a composite primary key. It is applied to the entity class. The composite primary key class corresponds to multiple fields or properties of the entity class and the names of the primary key fields or properties in the primary key class and those of the entity class must correspond and their types must be the same. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1066 | 9 | 1.15 | The Id annotation must also be applied to the corresponding fields or properties of the entity. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1067 | 9 | 1.16 | The Transient annotation is used to annotate a property or field of the entity class. It specifies the property or field is not persistent. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1068 | 9 | 1.17 | The Version annotation is a marker annotation that keeps track of the version property (optimistic lock value) of an entity class. This is used to ensure integrity when reattaching and for overall optimistic concurrency control. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1069 | 9 | 1.18 | The Basic annotation is the simplest type of mapping to a database column. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1070 | 9 | 1.18 | The Basic annotation can optionally be applied to any persistent property or instance variable of the following type: Java primitive types | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1071 | 9 | 1.18 | The Basic annotation can optionally be applied to any persistent property or instance variable of the following type: java.lang.String | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1072 | 9 | 1.18 | The Basic annotation can optionally be applied to any persistent property or instance variable of the following types: wrappers of the primitive types | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1073 | 9 | 1.18 | The Basic annotation can optionally be applied to any persistent property or instance variable of the following type: byte[] | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1074 | 9 | 1.18 | The Basic annotation can optionally be applied to any persistent property or instance variable of the following type: Byte[] | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1075 | 9 | 1.18 | The Basic annotation can optionally be applied to any persistent property or instance variable of the following type: char[] | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1076 | 9 | 1.18 | The Basic annotation can optionally be applied to any persistent property or instance variable of the following type: Character[] | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1077 | 9 | 1.18 | The Basic annotation can optionally be applied to any persistent property or instance variable of the following type: java.math.BigInteger | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1078 | 9 | 1.18 | The Basic annotation can optionally be applied to any persistent property or instance variable of the following type: java.math.BigDecimal | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1079 | 9 | 1.18 | The Basic annotation can optionally be applied to any persistent property or instance variable of the following type: java.util.Date | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1080 | 9 | 1.18 | The Basic annotation can optionally be applied to any persistent property or instance variable of the following type: java.util.Calendar | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1081 | 9 | 1.18 | The Basic annotation can optionally be applied to any persistent property or instance variable of the following type: java.sql.Date | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1082 | 9 | 1.18 | The Basic annotation can optionally be applied to any persistent property or instance variable of the following type: java.sql.Time | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1083 | 9 | 1.18 | The Basic annotation can optionally be applied to any persistent property or instance variable of the following type: java.sql.TimeStamp | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1084 | 9 | 1.18 | The [FetchType] LAZY strategy is a hint to the persistence provider runtime that data should be fetched lazily when it is first accessed. | true |
| true | technology | active | true |
PERSISTENCE:SPEC:1085 | 9 | 1.18 | The implementation is permitted to eagerly fetch data for which the LAZY strategy hint hasd been specified. | true |
| true | technology | active | true |
PERSISTENCE:SPEC:1086 | 9 | 1.18 | For Basic properties, lazy fetching might only be available for properties which are always accessed via the get/set pair. | true |
| true | technology | active | true |
PERSISTENCE:SPEC:1087 | 9 | 1.18 | The optional element can be used a a hint as to whether the value of the field or property may be null. | true |
| true | technology | active | false |
PERSISTENCE:SPEC:1088 | 9 | 1.18 | [The optional element] is disregarded for primitive types, which are considered non-optional. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1089 | 9 | 1.19 | A Lob annotation specifies that a persistent property or field should be persisted as a large object to a database-supported large object type. | true |
| true | technology | active | true |
PERSISTENCE:SPEC:1090.0 | 9 | 1.20 | The Temporal annotation must be specified for persistent fields or properties of type java.util.Date and java.util.Calendar. It may only be specified for fields or properties of those types. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1090.1 | 9 | 1.21 | The Enumerated annotation specifies that a persistent property or field should be persisted as enumerated type. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1090.2 | 9 | 1.21 | An enum can be mapped as either string or integer. The EnumType enum defines the mapping for enumerated types. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1090.3 | 9 | 1.21 | If the enumerated type is not specified or the Enumerated annotation is not used, the enumerated type is assumed to be ORDINAL. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1090 | 9 | 1.22 | The 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:1091 | 9 | 1.22 | The cascade set will cause the specified cascadable operations to be propagated to the associated entity. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1092 | 9 | 1.22 | Multiple operations may be included in the [cascade] set. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1093 | 9 | 1.22 | The value cascade=ALL is equivalent to cascade={PERSIST, MERGE, REMOVE, REFRESH}. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1094 | 9 | 1.23 | The OneToOne annotation defines a single-valued association to another entity class that ha s a one-to-one multiplicity. It is not normally necessary to specify the name of the associated target entity explicitly since it can usually b e inferred from the type of the object being referenced. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1095 | 9 | 1.24 | The 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 type need not be specified. If a regular Collection or Set is used then the target entity of the class must be included. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1096 | 9 | 1.24 | Unidirectional one-to-many relationships may be implemented using one-to-many foreign key mappings, however, such support is not required in this release. Applications that want to use a foreign key mapping strategy for one-to-many relationships should make these relationships bidirectional to ensure portability. | false |
| true | technology | active | true |
PERSISTENCE:SPEC:1097 | 9 | 1.25 | A JoinTable annotation s used in the mapping of associations. A JoinTable annotation is specified on the owning side of a many-to-many association, or in a uni-directional one-to-many association. The JoinTable annotation is missing, 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:1098 | 9 | 1.26 | The ManyToMany annotation defines a many-valued association with many-to-many multiplicity. If the Collection is defined using generics to specify the element type then the associated target entity type need not be specified. If a regular Collection or Set is used then the target entity of the class must be included. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1099 | 9 | 1.26 | Every many-to-many association has two sides, the owning side and the non-owning or inverse side. The association table is specified on the owning side. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1100 | 9 | 1.27 | The MapKey annotation is used to specify the map key for associations of type java.util.Map. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1101 | 9 | 1.27 | The name element [of the MapKey annotation] designates the name of the persistent field or property of the associated entity that is used as the map key.
If name is not specified, by default the primary key is used as the map key. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1102 | 9 | 1.27 | If 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:1103 | 9 | 1.28 | The OrderyBy annnotation specifies the ordering of the elements of a collection valued associate at the point when the association is retrieved. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1104 | 9 | 1.28 | The syntax of the ordering element is as follows: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1105 | 9 | 1.28 | ORDER BY orderby_list | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1106 | 9 | 1.28 | orderby_list::=orderby_item[,orderby_item]* | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1107 | 9 | 1.28 | orderby_item::=property_or_field_name[ASC|DESC] | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1108 | 9 | 1.28 | If ASC or DESC is not specified, ASC (ascending order) is assumed. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1109 | 9 | 1.28 | The property or field name must correspond to that of a persistent property or field of the associated class. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1110 | 9 | 1.28 | The properties or fields used in the ordering must correspond to columns for which comparison operators are supported. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1111 | 9 | 1.28 | The OrderyBy annnotation specifies the ordering of the elements of a collection valued associate at the point when the association is retrieved. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1112 | 9 | 1.29 | The Inheritance annotation defines the inheritance strategy to be used for an entity class hierarchy. The three inheritance mapping strategies are: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1113 | 9 | 1.29 | Single Table per Class Hierarchy | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1114 | 9 | 1.29 | Table per Class [NOTE: Support for TABLE_PER_CLASS mapping strategy is optional in this release but will be required in the next.] | false |
| true | technology | active | true |
PERSISTENCE:SPEC:1115 | 9 | 1.29 | Joined Subclass | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1116 | 9 | 1.29 | For the SINGLE_TABLE mapping strategy, the persistence provider will use a discriminator column. The supported discriminator types are defined by the DiscriminatorType enum: STRING, CHAR, INTEGER. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1118 | 9 | 1.30 | The strategy and discriminatorType are only specified once per class hierarchy (in the root class), while the discriminatorValue should be specified for each class in the hierarchy. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1119 | 9 | 1.29 | If no inheritance type is specified for a class hierarchy, the single table per class hierarchy strategy is used. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1126 | 9 | 1.30 | The DiscriminatorColumn annotation is used to define the discriminator column for SINGLE_TABLE and JOINED inheritance mapping strategies. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1126.1 | 9 | 1.30 | The DiscriminatorColumn annotation can be specified on an entity class (including on an abstract entity class). | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1126.2 | 9 | 1.30 | If 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:1126.3 | 9 | 1.31 | The 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. If 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:1126.4 | 9 | 1.31 | If 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 |
| true | technology | active | true |
PERSISTENCE:SPEC:1120 | 9 | 1.32 | The PrimaryKeyJoinColumn annotation specifies the primary key columns that are used as a foreign key to join to another table. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1121 | 9 | 1.32 | The PrimaryKeyJoinColumn annotated is used: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1122 | 9 | 1.32 | to join the primary table of an entity subclass in the JOINED mapping strategy to the primary table of its superclass | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1123 | 9 | 1.32 | in a OneToOne mapping in which the primary key of the referencing entity is used as a foreign key to the referenced entity. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1124 | 9 | 1.32 | If no PrimaryKeyJoinColumn annotation is specified, the foreign key columns are assumed to have the same names as the primary key columns of the primary table of the superclass. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1125 | 9 | 1.33 | Composite keys are supported via the PrimaryKeyJoinColumns annotation. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1127 | 9 | 1.34 | The Embeddable annotation is used to mark an object that is stored as an intrinisic part of an owning entity and shares the identify of that entity. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1128 | 9 | 1.34 | Each 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:1129 | 9 | 1.35 | The 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:1130 | 9 | 1.36 | The MappedSuperclass annotation designates an embedded superclass A class designated as an embedded superclass has no separate table defined for it. Its mapping
informationis applied to the entities that inherit from it. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1131 | 9 | 1.36 | A class designated as MappedSuperclass can be mapped in the same way as an entity except that the mappings will apply only to its subcllesses since not table exits for the embedded superclass. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1132 | 9 | 1.36 | When applied to the subclasses the inherited mappings will apply in the context of the subclass tables. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1133 | 9 | 1.36 | Mapping information may be overridden in such subclasses by using the AttributreOverride annotation. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1134 | 9 | 1.37 | The SequenceGenerator annotation defines a primary key or id generator which may be referenced by name when annotation the id attribute. | true |
| true | technology | active | false |
PERSISTENCE:SPEC:1135 | 9 | 1.37 | A 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 |
| true | technology | active | false |
PERSISTENCE:SPEC:1136 | 9 | 1.38 | The TableGenerator annotation defines a primary key or id generator which may be referenced by name when annotation the id attribute. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1137 | 9 | 1.38 | A 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 |
| false | technology | active | true |
PERSISTENCE:SPEC:1138 | 10 | 1 | XML Overriding Rules | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1139 | 10 | 1.1 | persistent-unit-defaults Subelements | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1140 | 10 | 1.2 | Other Subelements of the entity-mapping element | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1141 | 10 | 1.3 | Entity Subelements | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1142 | 10 | 1.4 | mapped-superclass Subelements | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1143 | 10 | 1.5 | Embeddable Subelements | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1144 | 10 | 2 | XML Schema | true |
| false | technology | active | true |