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 XML 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:1318 | 2 | 1 | The entity class must be a top-level class
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1145 | 2 | 1 | An enum or interface must not be designated as an
entity.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:506 | 2 | 1 | If an entity instance is to be passed by value as a
detached object (e.g., through a remote
interface), the entity class must implement the Serializable
interface.
| true |
| 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:1146 | 2 | 1 | An instance variable must be directly accessed only
from within the methods of the entity by
the entity instance itself.
| true |
| false | technology | active | false |
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 methods—i.e.,
accessor methods (getter/setter methods) or
other business methods.
| 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
property-based access is used.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:512 | 2 | 2 | Instance variables of a class must be private,
protected, or package visibility independent of
whether field access or property access is used.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:515 | 2 | 2 | When property access is used, the property accessor
methods must be public or protected.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1319 | 2 | 2 | for every persistent property property of type T of the
entity, there is a getter method,
getProperty, and setter method setProperty.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1320 | 2 | 2 | For boolean properties, isProperty may be used as an
alternative name for the getter method
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:517 | 2 | 2 | Collection-valued persistent fields and properties must
be defined in terms of one of the
following collection-valued interfaces regardless of whether the
entity class otherwise adheres to the
JavaBeans method conventions noted above and whether field or
property access is used
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:518 | 2 | 2 | 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:1321 | 2 | 2 | The collection implementation type may be used by the
application to initialize fields or
properties before the entity is made persistent.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1322 | 2 | 2 | Once the entity becomes managed (or detached),
subsequent access must be through the
interface type.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:519 | 2 | 2 | For collection-valued persistent properties, type T
must be one of these collection interface
types in the method signatures above. Use of the generic
variants of these collection types is
encouraged
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:520 | 2 | 2 | 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 | 2 | If a persistence context is joined to a transaction,
runtime exceptions thrown by
property accessor methods cause the current transaction to be
rolled back.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:522 | 2 | 2 | Exceptions thrown by such methods when used by the
persistence runtime to load or store
persistent state cause the persistence runtime to mark the
current transaction for rollback and to throw
a PersistenceException that wraps the application exception.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:523 | 2 | 2 | Entity subclasses may override the property accessor
methods. However, portable applications
must not override the object/relational mapping metadata that
applies to the persistent fields or
properties of
entity superclasses.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:524 | 2 | 2 | The persistent fields or properties of an entity may be
one of the following types:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:525 | 2 | 2 | Java primitive types | true |
| false | technology | active | true |
PERSISTENCE:SPEC:526 | 2 | 2 | java.lang.String | true |
| false | technology | active | true |
PERSISTENCE:SPEC:527 | 2 | 2 | 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 | 2 | user-defined serializable types, byte[],
Byte[], char[], and Character[]
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:529 | 2 | 2 | enums | true |
| false | technology | active | true |
PERSISTENCE:SPEC:530 | 2 | 2 | entity types | true |
| false | technology | active | true |
PERSISTENCE:SPEC:531 | 2 | 2 | collection of entity types | true |
| false | technology | active | true |
PERSISTENCE:SPEC:532 | 2 | 2 | embeddable classes | true |
| false | technology | active | true |
PERSISTENCE:SPEC:524.1 | 2 | 2 | collections of basic types | true |
| false | technology | active | true |
PERSISTENCE:SPEC:524.2 | 2 | 2 | collections of embeddable types | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1149 | 2 | 3.1 | By default, a single access type(field or property
access) applies to an entity hierarchy.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1323 | 2 | 3.1 | The default
access type of an entity hierarchy is determined by the
placement of mapping annotations on the
attributes of the entity classes and mapped superclasses of the
entity hierarchy that do not explicitly
specify an access type.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1324 | 2 | 3.1 | An access type is explicitly specified by means of the
Access annotation
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:513 | 2 | 3.1 | When field-based access is used, the object/relational
mapping annotations for the entity class
annotate the instance variables, and the persistence provider
runtime accesses instance variables
directly. All non-transient instance variables that are not
annotated with the Transient
annotation are persistent.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:514 | 2 | 3.1 | When property-based access is used, the
object/relational mapping annotations for the entity
class annotate the getter property accessors, and the
persistence provider runtime accesses persistent
state via the property accessor methods. All properties not
annotated with the
Transient annotation are persistent.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1150 | 2 | 3.1 | Mapping annotations must not be applied to fields or
properties that are transient or
Transient.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1325 | 2 | 3.1 | All such classes in the entity hierarchy whose access
type is defaulted in this way must be
consistent in
their placement of annotations on either fields or properties,
such that a single, consistent default
access type applies within the hierarchy. Any embeddable classes
used by such classes will have the same
access type as the default access type of the hierarchy unless
the Access annotation is specified as
defined below.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1326 | 2 | 3.2 | An access type for an individual entity class, mapped
superclass, or embeddable class can be
specified for that class independent of the default for the
entity hierarchy by means of the Access
annotation applied to the class.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1327 | 2 | 3.2 | This explicit access type specification does not affect
the access type of other entity
classes or mapped superclasses in the entity hierarchy. The
following rules apply:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1327.1 | 2 | 3.2 | When Access(FIELD) is applied to an entity
class, mapped superclass, or embeddable
class, mapping annotations may be placed on the instance
variables of that class, and the
persistence
provider runtime accesses persistent state via the
instance variables defined by the
class.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1327.2 | 2 | 3.2 | All non-transient instance variables that are
not annotated with the Transient
annotation
are persistent.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1327.3 | 2 | 3.2 | When Access(FIELD) is applied to such a class,
it is possible to
selectively designate individual attributes within the
class for property access.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1153 | 2 | 3.2 | To specify a persistent property for access by
the persistence provider runtime,
that
property
must be designated Access(PROPERTY.)
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1327.4 | 2 | 3.2 | It is permitted (but redundant) to place
Access(FIELD) on a persistent field whose
class has field access type or Access(PROPERTY)
on a persistent property whose class has property access
type
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1327.5 | 2 | 3.2 | It is not permitted to specify a field as
Access(PROPERTY) or a property as
Access(FIELD)
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1327.6 | 2 | 3.2 | Note that Access(PROPERTY) must not be placed
on the setter methods.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1154 | 2 | 3.2 | The behavior is undefined if mapping
annotations are placed on any properties
defined
by the
class for which Access(PROPERTY) is not specified.
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:1327.7 | 2 | 3.2 | Persistent state inherited from superclasses is
accessed in accordance with the
access
types of those superclasses.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1327.8 | 2 | 3.2 | When Access(PROPERTY) is applied to an entity
class, mapped superclass, or
embeddable
class, mapping annotations may be placed on the
properties of that class, and the
persistence
provider runtime accesses persistent state via the
properties defined by that class.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1327.9 | 2 | 3.2 | All properties that are not annotated with the
Transient annotation are persistent.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1327.10 | 2 | 3.2 | When Access(PROPERTY) is applied to such a
class, it is possible to selectively
designate individual attributes within the class for
instance variable access.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1155 | 2 | 3.2 | To specify a persistent instance variable for
access by the persistence provider
runtime, that
instance variable must be designated Access(FIELD)
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1156 | 2 | 3.2 | The behavior is undefined if mapping
annotations are placed on any instance
variables
defined
by the class for which Access(FIELD) is not specified.
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:1327.11 | 2 | 3.2 | Persistent state inherited from superclasses is
accessed in accordance with the
access
types of those superclasses.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1328 | 2 | 3.3 | The access type of an embeddable class is determined by
the access type of the entity class,
mapped superclass, or embeddable class in which it is embedded
(including as a member of an element
collection) independent of whether the access type of the
containing class has been explicitly specified
or defaulted.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1329 | 2 | 3.3 | A different access type for an embeddable class can be
specified for that embeddable class
by means of the Access annotation as described above.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:533 | 2 | 4 | Every entity must have a primary key. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1158 | 2 | 4 | The primary key must be defined on the entity class
that is the root of the entity hierarchy or
on a mapped superclass that is a (direct or indirect) superclass
of all entity classes in the entity
hierarchy.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1159 | 2 | 4 | The primary key must be defined exactly once in an
entity hierarchy.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:534 | 2 | 4 | A simple (i.e., non-composite) primary key must
correspond to a single persistent field or
property of the entity class. The Id annotation or id XML
element must be used to denote a simple
primary key.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:535 | 2 | 4 | 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:1162 | 2 | 4 | A primary key class must be defined to represent a
composite primary key.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1330 | 2 | 4 | The EmbeddedId or IdClass annotation is used to denote
a composite primary key
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:536 | 2 | 4 | A simple primary key or a field or property of a
composite primary key should be one of the
following types:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:537 | 2 | 4 | any Java primitive type | true |
| false | technology | active | true |
PERSISTENCE:SPEC:538 | 2 | 4 | any primitive wrapper type | true |
| false | technology | active | true |
PERSISTENCE:SPEC:539 | 2 | 4 | java.lang.String | true |
| false | technology | active | true |
PERSISTENCE:SPEC:540 | 2 | 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 | 4 | java.sql.Date | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1169 | 2 | 4 | java.math.BigDecimal | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1170 | 2 | 4 | java.math.BigInteger | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1331 | 2 | 4 | If the primary key is a composite primary key derived
from the primary key of another entity,
the primary key may contain an attribute whose type is that of
the primary key of the referenced entity
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:1172 | 2 | 4 | If generated primary keys are used, only integral types
will be portable.
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:543 | 2 | 4 | The following rules apply for composite primary keys:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:544 | 2 | 4 | The primary key class must be public and must
have a public no-arg constructor.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:542 | 2 | 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 unless the primary key is a
embedded id and a different access type is specified.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:546 | 2 | 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:545 | 2 | 4 | The primary key class must be serializable.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:547 | 2 | 4 | The primary key class must define equals and
hashCode methods.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:548 | 2 | 4 | A composite primary key must either be
represented and mapped as an embeddable
class
(EmbeddedId annotation) or must be represented as an id
class and mapped to multiple fields
or
properties of the entity class (IdClass annotation).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:549 | 2 | 4 | If the composite primary key class is
represented as an id class, the names of
primary
key fields or properties in the primary key class and
those of the entity class to which the
id
class is mapped must correspond and their types must be
the same.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1177 | 2 | 4 | A primary key that corresponds to a derived
identity must conform to the rules
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:550 | 2 | 4 | The application must not change the value of the
primary key. The behavior is undefined
if this occurs.
| false |
| true | technology | active | false |
PERSISTENCE:SPEC:1179 | 2 | 4.1 | The identity of an entity may be derived from the
identity of another entity (the "parent"
entity) when the former entity (the "dependent" entity) is the
owner of a many-to-one or one-to-one
relationship to the parent entity and a foreign key maps the
relationship from dependent to parent.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1332 | 2 | 4.1 | If a many-to-one or one-to-one entity relationship
corresponds to a primary key attribute, the
entity containing this relationship cannot be persisted without
the relationship having been assigned an
entity
since the identity of the entity containing the relationship is
derived from the referenced entity.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1333 | 2 | 4.1 | Derived identities may be captured by means of simple
primary keys or by means of composite
primary keys
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1180 | 2 | 4.1 | If the dependent entity class has primary key
attributes in addition to those of the parent's
primary key or if the parent has a composite primary key, an
embedded id or id class must be used to
specify the primary key of the dependent entity.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1334 | 2 | 4.1 | It is not necessary that parent entity and dependent
entity both use embedded ids or both use
id classes to represent composite primary keys when the parent
has a composite key.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1181 | 2 | 4.1 | A dependent entity may have more than one parent
entity.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1182 | 2 | 4.1.1 | If the dependent entity uses an id class to represent
its primary key, one of the two following
rules must be observed: The names of the attributes of the id
class and the Id attributes of the
dependent entity class
must correspond as follows:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1183 | 2 | 4.1.1 | The Id attribute in the entity class and the
corresponding attribute in the id
class
must have
the same name.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1184 | 2 | 4.1.1 | If an Id attribute in the entity class is of
basic type, the corresponding
attribute in
the id
class must have the same type.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1185 | 2 | 4.1.1 | If an Id attribute in the entity is a
many-to-one or one-to-one reference to a
parent
entity,
the type of the corresponding attribute in the id class
must be the same Java type as the id
class or
embedded id of the parent entity (if the parent entity
has a composite primary key) or the
type
of the
Id attribute of the parent entity (if the parent entity
has a simple primary key).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1182.1 | 2 | 4.1.1 | If the dependent entity has a single primary
key attribute (i.e., the relationship
attribute), the id class specified by the dependent
entity must be the same as the primary
key
class of the parent entity. The Id annotation is applied
to the relationship to the parent
entity.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1335 | 2 | 4.1.1 | If the dependent entity uses an embedded id to
represent its primary key, the attribute in the
embedded
id corresponding to the relationship attribute must be of the
same type as the primary key of the parent
entity and must be designated by the MapsId annotation applied
to the relationship attribute.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1336 | 2 | 4.1.1 | The
value element of the MapsId annotation must be used to specify
the name of the attribute within the
embedded id to which the relationship attribute corresponds.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1337 | 2 | 4.1.1 | If the embedded id of the dependent entity
is of the same Java type as the primary key of the parent
entity, the relationship attribute maps both
the
relationship to the parent and the primary key of the dependent
entity, and in this case the MapsId
annotation is specified without the value element
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1338 | 2 | 4.1.1 | Note that the parent’s primary key might be represented
as either an embedded id or as an id
class.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1339 | 2 | 4.1.1 | If the dependent entity has a single primary key
attribute (i.e, the relationship attribute or
an attribute
that corresponds to the relationship attribute) and the primary
key of the parent entity is a simple
primary
key, the primary key of the dependent entity is a simple primary
key of the same type as that of the
parent entity (and neither EmbeddedId nor IdClass is specified).
In this case, either (1) the
relationship
attribute is annotated Id, or (2) a separate Id attribute is
specified and the relationship attribute
is annotated MapsId (and the value element of the MapsId
annotation is not specified).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1340 | 2 | 4.1.2 | A primary key attribute that is derived from the
identity of a parent entity is mapped by the
corresponding relationship attribute.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1341 | 2 | 4.1.2 | The default mapping for this relationship is as
specified in section 2.10. In
the case where a default mapping does not apply or where a
default mapping is to be overridden, the
JoinColumn or JoinColumns annotation is used on the relationship
attribute.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1342 | 2 | 4.1.2 | If the dependent entity uses an embedded id to
represent its primary key, the AttributeOverride
annotation may be used to override the default mapping of
embedded id attributes that do not correspond
to the relationship attributes mapping the derived identity.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1343 | 2 | 4.1.2 | The embedded id attributes that correspond to the
relationship are treated by the provider as
“read only”—that is, any updates to them on the part of the
application are not propagated to the
database.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1344 | 2 | 4.1.2 | If the dependent uses an id class, the Column
annotation may be used to override the default
mapping of Id attributes that are not relationship attributes.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1188 | 2 | 5 | An entity may have collections of embeddables as well
as single-valued embeddable attributes.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1189 | 2 | 5 | Embeddable may be used as map keys and map values.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:551 | 2 | 5 | 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:553 | 2 | 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:1190 | 2 | 5 | Embeddable classes must be annotated as Embeddable or
denoted in XML descriptors.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1191 | 2 | 5 | An embeddable class may be used to represent the state
of another embeddable class.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1192 | 2 | 5 | An embeddable class (including an embeddable class
within another embeddable class) may contain
a collection of a basic type or other embeddable class. Direct
or indirect circular containment
dependencies among embeddable classes are not permitted.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1193 | 2 | 5 | An embeddable class may contain a relationship to an
entity or collection of entities.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1194 | 2 | 5 | Since instances of
embeddable classes themselves have no persistent identity, the
relationship from the referenced entity
is to the entity that contains the embeddable instance(s) and
not to the embeddable itself. An
embeddable
class that is used as an embedded id or as map key must not
contain such a relationship. An entity
cannot have a unidirectional relationship to the embeddable
class of another entity (or itself).
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1195 | 2 | 6 | A persistent field or property of an entity or
embeddable class may correspond to a collection
of a basic type or embeddable class (“element collection”). Such
a collection, when specified as such by
the ElementCollection annotation, is mapped by means of a
collection table
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1195 | 2 | 6 | If the ElementCollection annotation (or XML equivalent)
is not specified for the
collection-valued
field or property, the rules of Section 2.8 apply.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1196 | 2 | 6 | An embeddable class (including an embeddable class
within another embeddable class) that is
contained within an element collection must not contain an
element collection, nor may it contain a
relationship
to an entity other than a many-to-one or one-to-one
relationship.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1197 | 2 | 6 | The embeddable class must be on the owning side of the
relationship and the relationship must
be mapped by a foreign key mapping.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1198 | 2 | 7 | Collections of elements and entity relationships can be
represented as java.util.Map
collections.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1199 | 2 | 7 | The map key type and the map value independently can
each be a basic type, embeddable class,
or an entity.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1200 | 2 | 7 | The ElementCollection, OneToMany, and ManyToMany
annotations are used to specify the
map as an element collection or entity relationship as follows:
when the map value is a basic type or
embeddable class, the ElementCollection annotation is used; when
the map value is an entity, the
OneToMany or ManyToMany annotation is used.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1201 | 2 | 7 | Bidirectional relationships represented as
java.util.Map collections support the use of the Map
datatype on one side of the relationship only.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1202 | 2 | 7.1 | If the map key type is a basic type, the MapKeyColumn
annotation is used to specify the column
mapping for the map key. If the MapKeyColumn annotation is not
specified, the default values of the
MapKeyColumn annotation apply.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1203 | 2 | 7.1 | If the map key type is an embeddable class, the
mappings for the map key columns are defaulted
according to the default column mappings for the embeddable
class. The AttributeOverride and
AttributeOverrides annotations can be used to override these
mappings
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1345 | 2 | 7.1 | If an embeddable class is used as a map key, the
embeddable class must implement the hashCode
and equals methods consistently with the database columns to
which the embeddable is mapped
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1204 | 2 | 7.1 | If the map key type is an entity, the MapKeyJoinColumn
and MapKeyJoinColumns annotations are
used to specify the column mappings for the map key. If the
primary key of the referenced entity is a
simple primary key and the MapKeyJoinColumn annotation is not
specified, the default values of the
MapKeyJoinColumn annotation apply.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1205 | 2 | 7.1 | If Java generic types are not used in the declaration
of a relationship attribute of type
java.util.Map, the MapKeyClass annotation must be used to
specify the type of the key of the map.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1346 | 2 | 7.1 | The MapKey annotation is used to specify the special
case where the map key is itself the
primary key or a persistent field or property of the entity that
is the value of the map. The
MapKeyClass annotation is not used when MapKey is specified.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1347 | 2 | 7.2 | When the value type of the map is a basic type or an
embeddable class, a collection table is
used to map the map.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1206 | 2 | 7.2 | If Java generic types are not used, the targetClass
element of the ElementCollection annotation
must be used to specify the value type for the map. The default
column mappings for the map value are
derived according to the default mapping rules for the
CollectionTable annotation. The Column annotation
is used to override these defaults for a map value
of basic type.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1348 | 2 | 7.2 | The AttributeOverride(s) and AssociationOverride(s)
annotations are used to override the
mappings for a map value that is an embeddable class.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1207 | 2 | 7.2 | When the value type of the map is an entity, a join
table is used to map for a many-to-many
relationship or, by default, for a one-to-many unidirectional
relationship.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1208 | 2 | 7.2 | If the relationship is a bidirectional
one-to-many/many-to-one relationship, by default the map
is mapped in the table of the entity that is the value of the
map.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1209 | 2 | 7.2 | If Java generic types are not used, the targetEntity
element of the OneToMany or ManyToMany
annotation must be used to specify the value type for the map.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:555 | 2 | 8 | 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 in order
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:557 | 2 | 8 | If the type is a class that is annotated with
the @Embeddable annotation, it is
mapped
as if the field or property were annotated with the
Embedded annotation.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:556 | 2 | 8 | If the type of the field or property is one of
the following, it is mapped in the
same
way as it would if it were annotated as Basic:
Java primitive types, wrappers of primitive types,
java.lang.String, java.math.BigInteger,
java.math.BigDecimal, java.util.Date,
java.util.Calendar,java.sql.Date, java.sql.Time,
java.sql.TimeStamp, byte[], Byte[], char[], Character[],
enums, any other types that
implement
Serializable.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:560 | 2 | 8 | 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 | 9 | If there is an association between two entities, one of
the following relationship modeling
annotations must be applied to the corresponding property or
field of the referencing entity:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:562 | 2 | 9 | OneToOne | true |
| false | technology | active | true |
PERSISTENCE:SPEC:563 | 2 | 9 | OneToMany | true |
| false | technology | active | true |
PERSISTENCE:SPEC:564 | 2 | 9 | ManyToOne | true |
| false | technology | active | true |
PERSISTENCE:SPEC:565 | 2 | 9 | ManyToMany | true |
| false | technology | active | true |
PERSISTENCE:SPEC:566 | 2 | 9 | 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:1210 | 2 | 9 | Relationships may be bidirectional or unidirectional.
| false |
| false | technology | active | true |
PERSISTENCE:SPEC:567 | 2 | 9 | A bidirectional relationship has both an owning side
and an inverse (non-owning)side
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:568 | 2 | 9 | A unidirectional relationship has only an owning
side.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:569 | 2 | 9 | The following rules apply to bidirectional
relationships:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:570 | 2 | 9 | 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 | 9 | 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 | 9 | 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 | 9 | 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 | 9 | For many-to-many bidirectional relationships,
either side may be the owning side.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:575 | 2 | 9 | 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 | 9 | Applications that apply cascade=REMOVE to other
assocations are not portable.
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:1349 | 2 | 9 | Associations that are specified as OneToOne or
OneToMany support use of the orphanRemoval
option. The following behaviors apply when orphanRemoval is in
effect:
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1349.1 | 2 | 9 | If an entity that is the target of the
relationship is removed from the
relationship
(by setting the relationship to null or removing the
entity from the relationship
collection),
the remove operation will be applied to the entity being
orphaned. The remove operation is
applied at the time of the flush operation. The
orphanRemoval functionality is intended for
entities that are privately "owned" by their parent
entity.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1349.2 | 2 | 9 | If the entity being orphaned is a detached,
new, or removed entity, the semantics
of
orphanRemoval do not apply.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1349.3 | 2 | 9 | If the remove operation is applied to a managed
source entity, the remove operation
will be cascaded to the relationship target in
accordance with the rules of section 3.2.3,
(and
hence it is not necessary to specify cascade=REMOVE for
the relationship). If the parent is
detached or new or was previously removed before the
orphan was associated with it, the
remove
operation is not
applied to the entity being orphaned.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1211 | 2 | 9 | In addition, this specification also requires support
for the following alternative mapping
strategies:
| false |
| false | technology | active | false |
PERSISTENCE:SPEC:1212 | 2 | 9 | The mapping of unidirectional one-to-many
relationships by means of foreign key
mappings.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1214 | 2 | 9 | The JoinColumn annotation or corresponding XML
element must be used to specify such
non-default
mappings.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1213 | 2 | 9 | The mapping of unidirectional and bidirectional
one-to-one relationships and
bidirectional
many-to-one/one-to-many relationships by means of join
table mappings.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1211.1 | 2 | 9 | The JoinTable annotation or corresponding XML
element must be used to specify such
non-default mappings
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:577 | 2 | 9 | Such mapping annotations must be specified on the
owning side of the relationship.
Any overriding of mapping defaults must be consistent with the
relationship modeling annotation that is
specified.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1350 | 2 | 9 | If there are no associated entities for a multi-valued
relationship of an entity fetched from
the database, the persistence provider is responsible for
returning an empty collection as the value of
the relationship.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:578 | 2 | 10.1 | Assuming that:
Entity A references a single instance of Entity B.
Entity B references a single instance of Entity A.
Entity A is specified as the owner of the relationship.
The following mapping defaults apply:
Entity A is mapped to a table named A.
Entity B is mapped to a table named B.
Table A contains a foreign key to table B. The foreign key
column name is formed as the concatenation
of the following: the name of the relationship property or field
of entity A; "_"; the
name of the primary key column in table B. The foreign key
column has the same type as the
primary key of table B and there is a unique key constraint on
it.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:579 | 2 | 10.2 | Assuming that:
Entity A references a single instance of Entity B.
Entity B references a collection of Entity A.
Entity A must be the owner of the relationship.
The following mapping defaults apply:
Entity A is mapped to a table named A.
Entity B is mapped to a table named B.
Table A contains a foreign key to table B. The foreign key
column name is formed as the concatenation
of the following: the name of the relationship property or field
of entity A; "_"; the name of the
primary key column in table B. The foreign key column has the
same type as the
primary key of table B.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1351 | 2 | 10.2 | When the relationship is modeled as a java.util.Map,
“Entity B references a collection of
Entity A” means that Entity B references a map collection in
which the type of the Map value is Entity
A. The map key may be a basic type, embeddable class, or an
entity.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:580 | 2 | 10.3 | Assuming that:
Entity A references a single instance of Entity B.
Entity B does not reference Entity A.
A unidirectional relationship has only an owning side, which in
this case must be Entity A.
The unidirectional single-valued relationship modeling case can
be specified as either a unidirectional
OneToOne or as a unidirectional ManyToOne relationship.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:581 | 2 | 10.3.1 | The following mapping defaults apply:
Entity A is mapped to a table named A.
Entity B is mapped to a table named B.
Table A contains a foreign key to table B. The foreign key
column name is formed as the concatenation
of the following: the name of the relationship property or field
of entity A; "_"; the
name of the primary key column in table B. The foreign key
column has the same type as the
primary key of table B and there is a unique key constraint on
it.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:582 | 2 | 10.3.2 | The following mapping defaults apply:
Entity A is mapped to a table named A.
Entity B is mapped to a table named B.
Table A contains a foreign key to table B. The foreign key
column name is formed as the concatenation
of the following: the name of the relationship property or field
of entity A; "_"; the
name of the primary key column in table B. The foreign key
column has the same type as the
primary key of table B.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:583 | 2 | 10.4 | Assuming that:
Entity A references a collection of Entity B.
Entity B references a collection of Entity A.
Entity A is the owner of the relationship.
The following mapping defaults apply:
Entity A is mapped to a table named A.
Entity B is mapped to a table named B.
There is a join table that is named A_B (owner name first). This
join table has two foreign key
columns. One foreign key column refers to table A and has the
same type as the primary key of
table A. The name of this foreign key column is formed as the
concatenation of the following:
the name of the relationship property or field of entity B; "_";
the name of the primary key column
in table A. The other foreign key column refers to table B and
has the same type as the primary
key of table B. The name of this foreign key column is formed as
the concatenation of the
following: the name of the relationship property or field of
entity A; "_"; the name of the primary
key column in table B.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:584 | 2 | 10.5 | Assuming that:
Entity A references a collection of Entity B.
Entity B does not reference Entity A.
A unidirectional relationship has only an owning side, which in
this case must be Entity A.
The unidirectional multi-valued relationship modeling case can
be
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:585 | 2 | 10.5.1 | The following mapping defaults apply:
Entity A is mapped to a table named A.
Entity B is mapped to a table named B.
There is a join table that is named A_B (owner name first). This
join table has two foreign key
columns. One foreign key column refers to table A and has the
same type as the primary key of
table A. The name of this foreign key column is formed as the
concatenation of the following:
the name of entity A; "_"; the name of the primary key column in
table A. The other foreign
key column refers to table B and has the same type as the
primary key of table B and there is a
unique key constraint on it. The name of this foreign key column
is formed as the concatenation
of the following: the name of the relationship property or field
of entity A; "_"; the name
of the primary key column in table B.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:586 | 2 | 10.5.2 | Entity A is mapped to a table named A.
Entity B is mapped to a table named B.
There is a join table that is named A_B (owner name first). This
join table has two foreign key
columns. One foreign key column refers to table A and has the
same type as the primary key of
table A. The name of this foreign key column is formed as the
concatenation of the following:
the name of entity A; "_"; the name of the primary key column in
table A. The other foreign
key column refers to table B and has the same type as the
primary key of table B. The name of
this foreign key column is formed as the concatenation of the
following: the name of the relationship
property or field of entity A; "_"; the name of the primary key
column in table B.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1217 | 2 | 11 | An entity may inherit from another entity class.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1218 | 2 | 11 | Entities support inheritance,polymorphic associations,
and polymorphic queries.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1219 | 2 | 11 | Both abstract and concrete classes can be entities.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1352 | 2 | 11 | Both abstract and concrete classes can be annotated
with the Entity annotation, mapped as
entities, and queried for as entities.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1220 | 2 | 11 | Entities can extend non-entity classes and non-entity
classes can extend entity classes.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1353 | 2 | 11.1 | An abstract class can be specified as an entity. An
abstract entity differs from a concrete
entity only in that it cannot be directly instantiated.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:588 | 2 | 11.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:588.1 | 2 | 11.1 | An abstract entity is mapped as an entity and can be
the target of queries (which will operate
over and/or retrieve instances of its concrete subclass).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:593 | 2 | 11.2 | An entity may inherit from a superclass that provides
persistent entity state and mapping
information, but which is not itself an entity.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:594 | 2 | 11.2 | A mapped superclass, unlike an entity, is not queryable
and must not be passed as an argument
to
EntityManager or Query operations.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1354 | 2 | 11.2 | Persistent relationships defined by a mapped superclass
must be unidirectional.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:595 | 2 | 11.2 | An mapped superclass cannot be the target of a
persistent relationship.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:596 | 2 | 11.2 | Both abstract or concrete classes may be specified as
mapped superclasses.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:597 | 2 | 11.2 | 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 | 11.2 | 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 | 11.2 | A classes designated as mapped superclass can be mapped
in the same way as an entity except
that
the mapping will only apply to its subclesses since no table
exists for the mapped superclass. When
applied to the subclasses the inherited mappings will apply in
the context of the subclass tables.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:600 | 2 | 11.2 | Mapping information may be overridden in such
subclasses by using the AttributeOverride and
AssociationOverride annotations or corresponding XML elements.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:601 | 2 | 11.2 | All other entity mapping defaults apply equally to a
class designated as mapped superclass.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:589 | 2 | 11.3 | An entity can have a non-entity superclass, which may
be either a concrete or abstract class.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:589 | 2 | 11.3 | The superclass must not be an embeddable class
or id class.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:590 | 2 | 11.3 | The state of a non-entity superclass is not
persistent.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:591 | 2 | 11.3 | Any state inherited from non-entity superclasses is
non-persistent in an inheriting entity
class. This non-persistent state is not managed by the entity
manager.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1355 | 2 | 11.3 | Any annotations on such superclasses are ignored.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:592 | 2 | 11.3 | 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 | true |
PERSISTENCE:SPEC:592.1 | 2 | 11.3 | This includes instances of a non-entity class
that extends an entity class.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:602 | 2 | 12 | 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 | 12 | a single table per class hierarchy
| false |
| false | technology | active | true |
PERSISTENCE:SPEC:605 | 2 | 12 | a joined subclass strategy, in which fields
that are specific to a subclass are
mapped
to a separate table than the fields that are common to
the parent class, and a join is
performed
to instantiate
the subclass.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:604 | 2 | 12 | a table per concrete entity class | true |
| true | technology | active | true |
PERSISTENCE:SPEC:1356 | 2 | 12 |
An implementation is required to support the single table per
class hierarchy inheritance mapping
strategy and the joined subclass strategy.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1357 | 2 | 12.1 |
all the classes in a hierarchy are mapped to a single table. The
table has a column that
serves as a “discriminator column”, that is, a column whose
value identifies the specific subclass to
which the instance that is represented by the row belongs.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1358 | 2 | 12.1 |
It has the drawback, however, that it requires that the columns
that correspond to state specific to the
subclasses be nullable.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1359 | 2 | 12.2 | In the joined subclass strategy, the root of the class
hierarchy is represented by a single
table. Each subclass
is represented by a separate table that contains those fields
that are specific to the subclass (not
inherited from its superclass), as well as the column(s) that
represent its primary key. The primary key
column(s) of the subclass table serves as a foreign key to the
primary key of the superclass table.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1360 | 2 | 12.2 | It has the drawback that it requires that one or more
join operations be performed to
instantiate instances of a subclass. In deep class hierarchies,
this may lead to unacceptable
performance. Queries that range over the class hierarchy
likewise require joins.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1361 | 2 | 12.3 |
each class is mapped to a separate table. All properties of the
class, including inherited properties,
are mapped to columns of the table for the class.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1362 | 2 | 13 | This specification requires the following with regard
to the interpretation of the names
referencing database
objects. These names include the names of tables, columns, and
other database elements. Such
names also include names that result from defaulting (e.g., a
table name that is defaulted from an
entity
name or a column name that is defaulted from a field or property
name).
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1363 | 2 | 13 |
By default, the names of database objects must be treated as
undelimited identifiers and passed to the
database as such.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1369 | 2 | 13 |
To specify delimited identifiers, one of the following
approaches must be used:
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1369.1 | 2 | 13 |
It is possible to specify that all database identifiers
in use for a persistence unit be
treated
as
delimited identifiers by specifying the
element within the
persistence-unit-defaults element of the
object/relational xml mapping file.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1369.2 | 2 | 13 |
If the
element is specified, it cannot be overridden.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1369.3 | 2 | 13 |
It is possible to specify on a per-name basis that a
name for a database object is to be
interpreted
as a delimited identifier as follows: Using annotations,
a name is specified as a delimited
identifier by enclosing the name within double quotes,
whereby the inner quotes are escaped
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1369.4 | 2 | 13 |
It is possible to specify on a per-name basis that a
name for a database object is to be
interpreted
as a delimited identifier as follows: When using XML, a
name is specified as a delimited
identifier by use of double quotes
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1370 | 2 | 13 |
The following annotations contain elements whose values
correspond to names of database identifiers
and for which the above rules apply, including when their use is
nested within that of other
annotations:
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1370.1 | 2 | 13 |
EntityResult (discriminatorColumn element)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1370.2 | 2 | 13 | FieldResult (column element)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1370.3 | 2 | 13 | ColumnResult (name element)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1370.4 | 2 | 13 | CollectionTable (name, catalog, schema
elements)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1370.5 | 2 | 13 | Column (name, columnDefinition, table elements)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1370.6 | 2 | 13 | DiscriminatorColumn (name, columnDefinition
elements)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1370.7 | 2 | 13 | ForeignKey (name, foreignKeyDefinition
elements)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1370.8 | 2 | 13 | Index (name, columnList elements)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1370.9 | 2 | 13 | JoinColumn (name, referencedColumnName,
columnDefinition, table elements)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1370.10 | 2 | 13 | JoinTable (name, catalog, schema elements)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1370.11 | 2 | 13 | MapKeyColumn (name, columnDefinition, table
elements)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1370.12 | 2 | 13 | MapKeyJoinColumn (name, referencedColumnName,
columnDefinition, table elements)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1370.13 | 2 | 13 | NamedStoredProcedureQuery (procedureName
element)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1370.14 | 2 | 13 | OrderColumn (name, columnDefinition elements)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1370.15 | 2 | 13 | PrimaryKeyJoinColumn (name,
referencedColumnName, columnDefinition elements)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1370.16 | 2 | 13 |
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1370.17 | 2 | 13 | SecondaryTable (name, catalog, schema elements)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1370.18 | 2 | 13 | SequenceGenerator (sequenceName, catalog,
schema elements)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1370.19 | 2 | 13 | StoredProcedureParameter (name element)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1370.20 | 2 | 13 | Table (name, catalog, schema elements)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1370.21 | 2 | 13 | TableGenerator (table, catalog, schema,
pkColumnName, valueColumnName elements)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1370.22 | 2 | 13 | UniqueConstraint (name, columnNames elements)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1371 | 2 | 13 |
The following XML elements and types contain elements or
attributes whose values correspond to
names of database identifiers and for which the above rules
apply:
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1371.1 | 2 | 13 | entity-mappings (schema, catalog elements)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1371.2 | 2 | 13 | persistence-unit-defaults (schema, catalog
elements)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1371.3 | 2 | 13 | collection-table (name, catalog, schema
attributes)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1371.4 | 2 | 13 | column (name, table, column-definition
attributes)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1371.5 | 2 | 13 | column-result (name attribute)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1371.6 | 2 | 13 | discriminator-column (name, column-definition
attributes)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1371.7 | 2 | 13 | entity-result (discriminator-column attribute)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1371.8 | 2 | 13 | field-result (column attribute)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1371.9 | 2 | 13 | foreign-key (name, foreign-key-definition
attributes)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1371.10 | 2 | 13 | index (name attribute, column-list element)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1371.11 | 2 | 13 | join-column (name, referenced-column-name,
column-definition, table attributes)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1371.12 | 2 | 13 | join-table (name, catalog, schema attributes)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1371.13 | 2 | 13 | map-key-column (name, column-definition, table
attributes)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1371.14 | 2 | 13 | map-key-join-column (name,
referenced-column-name, column-definition, table
attributes)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1371.15 | 2 | 13 | named-stored-procedure-query (procedure-name
attribute)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1371.16 | 2 | 13 | order-column (name, column-definition
attributes)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1371.17 | 2 | 13 | primary-key-join-column (name,
referenced-column-name, column-definition
attributes)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1371.18 | 2 | 13 | secondary-table (name, catalog, schema
attributes)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1371.19 | 2 | 13 | sequence-generator (sequence-name, catalog,
schema attributes)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1371.20 | 2 | 13 | stored-procedure-parameter (name attribute)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1371.21 | 2 | 13 | table (name, catalog, schema attributes)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1371.22 | 2 | 13 | table-generator (table, catalog, schema,
pk-column-name, value-column-name
attributes)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1371.23 | 2 | 13 | unique-constraint (name attribute, column-name
element)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:606 | 3 | 1.1 | The persist, merge, remove, and refresh methods must be
invoked within a transaction
context when an entity manager with a transaction-scoped
persistence context is used. If there is no
transaction context, the
javax.persistence.TransactionRequiredException is thrown.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1313 | 3 | 1.1 | Methods that specify a lock mode other than
LockModeType.NONE must be invoked within a
transaction. If there is no transaction or if the entity manager
has not been joined to the transaction,
the javax.persistence.TransactionRequiredException is thrown.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:607 | 3 | 1.1 | The find method (provided it is invoked without a lock
or invoked with LockModeType.NONE)
and the getReference method are not required to be invoked
within a transaction. If an entity manager
with transaction-scoped persistence context is in use, the
resulting entities will be detached; if an
entity manager with an extended persistence context is used,
they will be managed.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:608 | 3 | 1.1 | The Query, TypedQuery, CriteriaBuilder, Metamodel, 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 Java Persistence query string or a
valid
CriteriaQuery object, the IllegalArgumentException may be thrown
or the query execution
will fail and a PersistenceException will be thrown.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1372 | 3 | 1.1 |
If the result class specification of a Java Persistence query
language query is incompatible with the
result
of the query, the IllegalArgumentException may be thrown when
the createQuery method is invoked or the
query
execution will fail and a PersistenceException will be thrown
when the query is executed.
| true |
| 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 other than the Lock-
TimeoutException will cause the current transaction to be marked
for rollback if the persistence
context is joined to that transaction.
| true |
| 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:1373 | 3 | 1.1 | A property defined by this specification must be
observed by the provider unless otherwise
explicitly stated.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1374 | 3 | 1.1 | A hint specifies a preference on the part of the
application. While a hint defined by this
specification should be observed by the provider if possible, a
hint may or may not always be observed.
A portable application must not depend on the observance of a
hint.
| false |
| 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 will be removed from the
database.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1375 | 3 | 2.1 | Entity instances are created by means of the new
operation. An entity instance, when first
created by new is not yet persistent.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:618 | 3 | 2.2 | A 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.2 | If X is a new entity, it becomes managed.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:620 | 3 | 2.2 | 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.2 | If X is a preexisting managed entity, it is
ignored by the persist operation.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:622 | 3 | 2.2 | However, the persist operation is cascaded to
entities referenced by X, if the
relationships from X to these other entities are
annotated with the cascade=PERSIST
annotation
element value or specified with the equivalent XML
descriptor element.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:623 | 3 | 2.2 | However, the persist operation is cascaded to
entities referenced by X, if the
relationships from X to these other entities are
annotated with the cascade=ALL annotation
element value or specified with the equivalent XML
descriptor element.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:624 | 3 | 2.2 | If X is a removed entity, it becomes managed.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:625 | 3 | 2.2 | If X is a detached object, an
IllegalArgumentException will be thrown by the
persist
operation (or the transaction comit will fail).
| true |
| true | technology | removed | true |
PERSISTENCE:SPEC:618.1 | 3 | 2.2 | If X is a detached object, the
EntityExistsException may be thrown when the persist
operation is invoked
| true |
| true | technology | removed | true |
PERSISTENCE:SPEC:618.2 | 3 | 2.2 | If X is a detached object, the
EntityExistsException or another
PersistenceException
may be thrown at flush or commit time.
| true |
| true | technology | removed | true |
PERSISTENCE:SPEC:626 | 3 | 2.2 | 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.2 | 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.3 | 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.3 | If X is a new entity, it is ignored by the
remove operation.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:630 | 3 | 2.3 | 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.3 | 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.3 | If X is a managed entity, the remove operation
causes it to become removed.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:633 | 3 | 2.3 | 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 value.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:634 | 3 | 2.3 | 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 value.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:635 | 3 | 2.3 | 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.3 | If X is a removed entity, it is ignored by the
remove operation.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:637 | 3 | 2.3 | 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:1376 | 3 | 2.3 | After an entity has been removed, its state (except for
generated state) will be that of the
entity at the point at which the remove operation was called.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1275 | 3 | 2.4 | a persistence context of type
SynchronizationType.UNSYNCHRONIZED or an application-managed
persistence context that has been created outside the scope of
the current transaction will only be
synchronized to the database if it has been joined to the
current transaction by the application’s use
of the EntityManager joinTransaction method.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:639 | 3 | 2.4 | The state of persistent entities is synchronized with
the database at transaction commit.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1377 | 3 | 2.4 |
An update to the state of an entity includes both the assignment
of a new value to a persistent property
or field of the entity as well as the modification of a mutable
value of a persistent property or field.
This includes, for example. modifications to persistent
attributes of type char[] and byte[].
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1378 | 3 | 2.4 | Synchronization to the database does not involve a
refresh of any managed entities unless the
refresh operation is explicitly invoked on those entities or
cascaded to them as a result of the
specification of the cascade=REFRESH annotation element value.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1379 | 3 | 2.4 | Synchronization to the database does not involve a
refresh of any managed entities unless the
refresh operation is explicitly invoked on those entities or
cascaded to them as a result of the
specification of the cascade=ALL annotation element value.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:640 | 3 | 2.4 | The persistence provider runtime is permitted to
perform synchronization to the database at
other times as well when a transaction is active and the
persistence context is joined to the
transaction.
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:1380 | 3 | 2.4 | The flush method can be used by the application to
force synchronization. It applies to
entities associated with the persistence context.
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:1314 | 3 | 2.4 | The setFlushMode methods of the Entity-
Manager, Query, TypedQuery, and StoredProcedureQuery interfaces can be
used to
control synchronization semantics. If FlushModeType.COMMIT is
specified, flushing will occur at
transaction commit; the persistence provider is permitted, but
not required, to perform to flush at
other times. If there is no transaction active or if the
persistence context has not been joined to the
current transaction, the persistence provider must not flush to
the database.
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:641 | 3 | 2.4 | The semantics of the flush operation, applied to entity
X are as follows:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:642 | 3 | 2.4 | If X is a managed entity, it is synchronized to
the database.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:643 | 3 | 2.4 | 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.4 | 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.4 | For any entity Y referenced by a relationship
from X, where the relationship to Y
has
not been annotated with the cascade element value
cascade=PERSIST or cascade=ALL
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:646 | 3 | 2.4 | If Y is new or removed, an
IllegalStateException will be thrown by the flush
operation
(and the transaction marked for rollback) or the
transaction commit will fail.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:647 | 3 | 2.4 | If Y is detached, the semantics depend upon the
ownership of the relationship. If X
owns the relationship, any changes to the relationship
are synchronized with the database;
otherwise, if Y owns the relationships, the behavior is
undefined.
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:648 | 3 | 2.4 | If X is a removed entity, it is removed from
the database. No cascade options are
relevant
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1222 | 3 | 2.5 | The state of a managed entity instance is refreshed
from the database by invoking the refresh
method on it or by cascading the refresh operation. The
semantics of the refresh operation, applied to
an entity X are as follows:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1223 | 3 | 2.5 | If X is a managed entity, the state of X is
refreshed from the database,
overwriting
changes made to the entity, if any. The refresh
operation is cascaded to entities referenced
by
X, if the relationship from X to these other entities is
annotated with the cascade=REFRESH
annotation element value.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1222.1 | 3 | 2.5 | If X is a managed entity, the state of X is
refreshed from the database,
overwriting
changes made to the entity, if any. The refresh
operation is cascaded to entities referenced
by
X, if the relationship from X to these other entities is
annotated with the cascade=ALL
annotation element value.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1222.2 | 3 | 2.5 | If X is a new, detached, or removed entity, the
IllegalArgumentException is thrown
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1224 | 3 | 2.6 | An entity instance is removed from the persistence
context by invoking the detach method on it
or cascading the detach operation.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1225 | 3 | 2.6 | Changes made to the entity, if any (including removal
of the entity), will not be synchronized
to the database after such eviction has taken place.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1226 | 3 | 2.6 | Applications must use the flush method prior to the
detach method to ensure portable semantics
if changes have been made to the entity (including removal of
the entity).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1227 | 3 | 2.6 | portable applications must not assume that changes have
not been written to the database if the
flush method has not been called prior to detach.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1227 | 3 | 2.6 | The semantics of the detach operation, applied to an
entity X are as follows:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1228 | 3 | 2.6 | If X is a managed entity, the detach operation
causes it to become detached. The
detach
operation
is cascaded to entities referenced by X, if the
relationships from X to these other entities
is
annotated with the cascade=DETACH annotation element
value. Entities which
previously
referenced X will continue to reference X.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1227.1 | 3 | 2.6 | If X is a managed entity, the detach operation
causes it to become detached. The
detach
operation
is cascaded to entities referenced by X, if the
relationships from X to these other entities
is
annotated with the cascade=ALL annotation element value.
Entities which
previously
referenced X will continue to reference X.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1229 | 3 | 2.6 | If X is a new or detached entity,it is ignored
by the detach operation.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1230 | 3 | 2.6 | If X is a removed entity, the detach operation
is cascaded to entities referenced
by X,
if the
relationships from X to these other entities is
annotated with the cascade=DETACH annotation
element value. Entities which previously referenced X
will continue to reference X.
Portable
applications should not pass removed entities that have
been detached from the persistence
context to
further EntityManager operations.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1230 | 3 | 2.6 | If X is a removed entity, the detach operation
is cascaded to entities referenced
by X,
if the
relationships from X to these other entities is
annotated with the cascade=ALL
annotation element value. Entities which previously
referenced X will continue to reference
X.
Portable
applications should not pass removed entities that have
been detached from the persistence
context to
further EntityManager operations.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1381 | 3 | 2.7 |
A detached entity results from transaction commit if a
transaction-scoped persistence context is used;
from transaction rollback; from detaching the entity from the
persistence context; from
clearing the persistence context; from closing an entity manager
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:657 | 3 | 2.7 | A detached entity results
from serializing an entity or otherwise passing an entity by
value—e.g., to a separate application tier,
through a remote interface, etc.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1382 | 3 | 2.7 |
Detached entity instances continue to live outside of the
persistence context in which they were
persisted
or retrieved. Their state is no longer guaranteed to be
synchronized with the database state.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:649 | 3 | 2.7 | The application may access the 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.7 | Any persistent field or property not marked
fetch=LAZY
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:651 | 3 | 2.7 | Any persistent field or property that was
accessed by the application.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:652 | 3 | 2.7 | If the persistent field or property is an association,
the available state of an associated
instance may only be safely accessed if the associated instance
is available. The available instances
include:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:653 | 3 | 2.7 | All entity instances retrieved using find().
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:654 | 3 | 2.7 | Any entity instances retrieved using a query or
explictly requested ina fetch join
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:655 | 3 | 2.7 | 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.7 | Any entity instance that may be reached from
another available instance by
navigating
associations marked fetch=EAGER.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:658 | 3 | 2.7.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.7.1 | If X is a detached entity, the state of X is
copied onto a pre-existing managed
entity
instance X' of the same identity or a new managed copy
X' of X is created.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:660 | 3 | 2.7.1 | If X is a new entity instance, a new managed
entity instance X' is created and the
state of X is copied into the new managed entity
instance X'.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:661 | 3 | 2.7.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.7.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.7.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.7.1 | For all entities Y referenced by relationships
from X having the cascade element
value
cascade=MERGE, Y is merged recursively as Y'. For all
such Y referenced by X, X' is set to
reference Y'.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:665 | 3 | 2.7.1 | For all entities Y referenced by relationships
from X having the cascade element
value
cascade=ALL, Y is merged recursively as Y'. For all such
Y referenced by X, X' is set to
reference Y'.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:658.1 | 3 | 2.7.1 | If X is an entity merged to X', with a
reference to another entity Y, where
cascade=MERGE
is not specified, then navigation of the same
association from X' yields a
reference to a managed object Y' with the same
persistent identity as Y.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:658.2 | 3 | 2.7.1 | If X is an entity merged to X', with a
reference to another entity Y, where
cascade=ALL
is not specified, then navigation of the same
association from X' yields a
reference to a managed object Y' with the same
persistent identity as Y.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1383 | 3 | 2.7.1 | The persistence provider must not merge fields marked
LAZY that have not been fetched: it must
ignore such fields when merging.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:666 | 3 | 2.7.1 | Any Version columns used by the entity must be checked
by the persistence runtime
implementation during the merge operation and/or at flush or
commit time
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1231 | 3 | 2.7.2 | Serializing entities and merging those entities back
into a persistence context may not be
interoperable across vendors when lazy properties or fields
and/or relationships are used.
| false |
| false | technology | active | false |
PERSISTENCE:SPEC:1384 | 3 | 2.7.2 | A vendor is required to support the serialization and
subsequent deserialization and merging of
detached entity instances (which may contain lazy properties or
fields and/or relationships that have
not been
fetched) back into a separate JVM instance of that vendor's
runtime, where both runtime instances have
access to the entity classes and any required vendor persistence
implementation classes.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1232 | 3 | 2.7.2 | When interoperability across vendors is required, the
application must not use lazy loading.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:667 | 3 | 2.8 | The contains method returns true:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:668 | 3 | 2.8 | If the entity has been retrieved from the
database or has returned by the
getReference,and has not been removed or detached.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:669 | 3 | 2.8 | 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.8 | 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.8 | The contains method returns false:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:672 | 3 | 2.8 | If the instance is detached. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:673 | 3 | 2.8 | If the remove method has been called on the
entity.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:674 | 3 | 2.8 | If the remove operation has been cascaded to
it.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:675 | 3 | 2.8 | 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.8 | 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.8 | Not that the effect of cascading
persist,merge,remove,or detach is immediately visible to the
contains method, whereas, the actual
insertion, modification, or deletion of the database
representation for the entity may be deferred until
the end of the transaction.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1385 | 3 | 2.9 | An entity is considered to be loaded if all attributes
with FetchType.EAGER—whether explictly
specified or by default—(including relationship and other
collection-valued attributes) have been
loaded from the database or assigned by the application.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1386 | 3 | 2.9 | An attribute that is an embeddable is considered to be
loaded if the embeddable attribute was
loaded from the database or assigned by the application, and, if
the attribute references an embeddable
instance
(i.e., is not null), the embeddable instance state is known to
be loaded (i.e., all attributes of the
embeddable with FetchType.EAGER have been loaded from the
database or assigned by the application).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1387 | 3 | 2.9 | A collection-valued attribute is considered to be
loaded if the collection was loaded from the
database or the value of the attribute was assigned by the
application, and, if the attribute references
a collection
instance (i.e., is not null), each element of the collection
(e.g. entity or embeddable) is considered
to be
loaded.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1388 | 3 | 2.9 | A single-valued relationship attribute is considered to
be loaded if the relationship attribute
was loaded from the database or assigned by the application,
and, if the attribute references an entity
instance (i.e.,
is not null), the entity instance state is known to be loaded.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1389 | 3 | 2.9 | A basic attribute is considered to be loaded if its
state has been loaded from the database or
assigned by the application.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1390 | 3 | 2.9 | The PersistenceUtil.isLoaded methods can be used to
determine the load state of an entity
and its attributes regardless of the persistence unit with which
the entity is associated. The
PersistenceUtil.
isLoaded methods return true if the above conditions hold
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1391 | 3 | 2.9 | The PersistenceUtil.isLoaded methods return false
otherwise
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1392 | 3 | 2.9 | If the persistence unit is known, the
PersistenceUnitUtil.isLoaded methods can be used instead.
| 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, the lifetime of the persistence context of
a container-managed entity manager
corresponds to the scope of a transaction (i.e., it is of type
PersistenceContextType.TRANSACTION)
| true |
| 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:1394 | 3 | 3 | Note that when a new transaction is begun, the managed
objects in an extended persistence
context are not reloaded from the database.
| 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:1276 | 3 | 3.1 | By default, a container-managed persistence context is
of SynchronizationType.SYNCHRONIZED
and is automatically joined to the current transaction. A
persistence context of SynchronizationType.
UNSYNCHRONIZED will not be enlisted in the current transaction,
unless the
EntityManager joinTransaction method is invoked.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1315 | 3 | 3.1 | By default, an application-managed persistence context
that is associated with a JTA entity
manager and
that is created within the scope of an active transaction is
automatically joined to that transaction.
An
application-managed JTA persistence context that is created
outside the scope of a transaction or an
application-managed persistence context of type
SynchronizationType.UNSYNCHRONIZED
will not be joined to that transaction unless the EntityManager
joinTransaction method is
invoked.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1316 | 3 | 3.1 | An application-managed persistence context associated
with a resource-local entity manager is
always automatically joined to any resource-local transaction
that is begun for that entity manager.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:685 | 3 | 3.2 | 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.2 | The managed entities of an extended persistence context
remain managed.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:687 | 3 | 3.3 | For both transaction-scoped persistence contexts and
for extended persistence contexts that are
joined to the current transaction, transaction rollback causes
all pre-existing managed instances and
removed instances to become detached.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1317 | 3 | 3.3 | Because a transaction-scoped persistence context’s
lifetime is scoped to a transaction
regardless of whether it is joined to that transaction, the
container closes the persistence context
upon transaction rollback. However, an extended persistence
context that is not joined to a
transaction is unaffected by transaction rollback
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1395 | 3 | 4.1 | Optimistic locking is a technique that is used to
insure that updates to the database data
corresponding to the state of an entity are made only when no
intervening transaction has updated that
data since the
entity state was read. This insures that updates or deletes to
that data are consistent with the current
state of the database and that intervening updates are not lost.
Transactions that would cause this
constraint
to be violated result in an OptimisticLockException being thrown
and the transaction
marked for rollback.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:1396 | 3 | 4.1 | Portable applications that wish to enable optimistic
locking for entities must specify Version
attributes for those entities—i.e., persistent properties or
fields annotated with the Version
annotation
or specified in the XML descriptor as version attributes.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:690 | 3 | 4.2 | The Version field or property is used by the
persistence provider to perform optimistic
locking. It is accessed and/or set by the persistence provider
in the course of performing lifecycle
operations on the
entity instance.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1397 | 3 | 4.2 | The Version field or property is used by the
persistence provider to perform optimistic
locking. It is accessed and/or set by the persistence provider
in the course of performing lifecycle
operations on the
entity instance.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1398 | 3 | 4.2 | An entity may access the state of its version field or
property or export a method for use by
the application to access the version, but must not modify the
version value. Bulk update statements,
however, are permitted to set the value of version attributes
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1399 | 3 | 4.2 | With the exception noted in section 4.10, only the
persistence provider is permitted to set or
update the value of the version attribute in the object.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1400 | 3 | 4.2 | The version attribute is updated by the persistence
provider runtime when the object is written
to the database. All non-relationship fields and properties and
all relationships owned by the entity
are
included in version checks. This includes owned relationships
maintained in join tables
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1401 | 3 | 4.2 |
The persistence provider's implementation of the merge operation
must examine the version attribute
when an entity is being merged and throw an
OptimisticLockException if it is discovered that
the object being merged is a stale copy of the entity—i.e. that
the entity has been updated since the
entity became detached. Depending on the implementation strategy
used, it is possible that this
exception
may not be thrown until flush is called or commit time,
whichever happens first.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1402 | 3 | 4.2 |
The persistence provider runtime is required to use only the
version attribute when performing
optimistic
lock checking.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1403 | 3 | 4.2 |
Persistence provider implementations may provide additional
mechanisms beside
version attributes to enable optimistic lock checking. However,
support for such mechanisms is not
required of an implementation of this specification.
| false |
| true | technology | active | true |
PERSISTENCE:SPEC:1404 | 3 | 4.2 |
If only some entities contain version attributes, the
persistence provider runtime is required to check
those entities for which version attributes have been specified.
The consistency of the object graph is
not guaranteed, but the absence of version attributes on some of
the entities will not stop operations
from completing.
| false |
| true | technology | active | true |
PERSISTENCE:SPEC:1405 | 3 | 4.3 |
Pessimistic locking guarantees that once a transaction has
obtained a pessimistic lock on an entity
instance:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1405.1 | 3 | 4.3 |
no other transaction (whether a transaction of an
application using the Java Persistence API
or
any other transaction using the underlying resource) may
successfully modify or delete that
instance until the transaction holding the lock has
ended.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1405.2 | 3 | 4.3 |
if the pessimistic lock is an exclusive lock, that same
transaction may modify or delete
that
entity instance.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1406 | 3 | 4.3 |
When an entity instance is locked using pessimistic locking, the
persistence provider must lock the
database
row(s) that correspond to the non-collection-valued persistent
state of that instance.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1407 | 3 | 4.3 |
If a joined inheritance strategy is used, or if the entity is
otherwise mapped to a secondary table,
this entails locking
the row(s) for the entity instance in the additional table(s).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1408 | 3 | 4.3 |
Entity relationships for which the locked entity contains the
foreign key will also be locked, but not
the state of the referenced entities (unless those entities are
explicitly locked).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1409 | 3 | 4.3 |
Element collections and relationships for which the entity does
not
contain the foreign key (such as relationships that are mapped
to join tables or unidirectional
one-to-many relationships for which the target entity contains
the foreign key) will not be locked by
default.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1410 | 3 | 4.3 |
Element collections and relationships owned by the entity that
are contained in join tables will be
locked if the javax.persistence.lock.scope property is specified
with a value of
PessimisticLockScope.EXTENDED.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1411 | 3 | 4.3 |
The state of entities referenced by such relationships will not
be locked (unless those entities are
explicitly locked).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1412 | 3 | 4.3 |
Locking such a relationship or element collection generally
locks only the rows in the join table or
collection
table for that relationship or collection. This means that
phantoms will be possible.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1413 | 3 | 4.3 |
This specification does not define the mechanisms a persistence
provider uses to obtain database locks,
and a portable application should not rely on how pessimistic
locking is achieved on the database.[39]
In
particular, a persistence provider or the underlying database
management system may lock more rows
than the ones selected by the application.
| false |
| true | technology | active | true |
PERSISTENCE:SPEC:1414 | 3 | 4.3 |
Whenever a pessimistically locked entity containing a version
attribute is updated on the database, the
persistence provider must also update (increment) the entity's
version column to enable correct
interaction
with applications using optimistic locking.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1415 | 3 | 4.3 |
Pessimistic locking may be applied to entities that do not
contain version attributes. However, in this
case correct interaction with applications using optimistic
locking cannot be ensured.
| false |
| false | technology | active | true |
PERSISTENCE:SPEC:691 | 3 | 4.4 | Lock Modes | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1416 | 3 | 4.4.1 |
If transaction T1 calls lock(entity, LockModeType.OPTIMISTIC) on
a versioned object, the
entity manager must ensure that neither of the following
phenomena can occur:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1416.1 | 3 | 4.4.1 |
P1 (Dirty read): Transaction T1 modifies a row. Another
transaction T2 then reads that row
and
obtains the modified value, before T1 has committed.
Transaction T2 eventually
commits successfully; it does not matter whether T1
commits or rolls back and whether it
does
so before or after T2 commits.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1416.2 | 3 | 4.4.1 |
P1 (Dirty read): Transaction T1 modifies a row. Another
transaction T2 then reads that row
and
obtains the modified value, before T1 has rolled back.
Transaction T2 eventually
commits successfully; it does not matter whether T1
commits or rolls back and whether it
does
so before or after T2 commits.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1416.3 | 3 | 4.4.1 |
P2 (Non-repeatable read): Transaction T1 reads a row.
Another transaction T2 then modifies
that
row, before T1 has committed. Both transactions
eventually commit successfully.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1416.4 | 3 | 4.4.1 |
P2 (Non-repeatable read): Transaction T1 reads a row.
Another transaction T2 then deletes
that
row, before T1 has committed. Both transactions
eventually commit successfully.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1417 | 3 | 4.4.1 |
While with optimistic concurrency concurrency, long-term
database read locks are typically not
obtained immediately, a compliant implementation is permitted to
obtain an immediate lock (so long as
it is retained until commit completes).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1418 | 3 | 4.4.1 |
If the lock is deferred until commit time, it must be retained
until the commit completes.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1419 | 3 | 4.4.1 |
The persistence implementation is not required to support
calling lock(entity, LockModeType.OPTIMISTIC)
on a non-versioned object.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1420 | 3 | 4.4.1 |
When it cannot support such a lock call, it must throw the
PersistenceException.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1421 | 3 | 4.4.1 |
When supported, whether for versioned or non-versioned objects,
LockModeType.OPTIMISTIC must always
prevent the phenomena P1 and P2.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1422 | 3 | 4.4.1 |
Applications that call lock(entity, LockModeType.OPTIMISTIC) on
non-versioned objects will not be
portable.
| false |
| false | technology | active | true |
PERSISTENCE:SPEC:1423 | 3 | 4.4.1 |
If transaction T1 calls lock(entity,
LockModeType.OPTIMISTIC_FORCE_INCREMENT) on a versioned object,
the
entity manager must avoid the phenomena P1 and P2 (as with
LockModeType.OPTIMISTIC) and must also force
an update (increment) to the entity's version column.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1234 | 3 | 4.4.1 | A forced version update may be performed immediately,
or may be deferred until a flush or
commit.
| false |
| false | technology | active | true |
PERSISTENCE:SPEC:1424 | 3 | 4.4.1 |
If an entity is removed before a deferred version update was to
have been applied, the forced version
update is omitted.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1425 | 3 | 4.4.1 |
The persistence implementation is not required to support
calling lock(entity,
LockModeType.OPTIMISTIC_FORCE_INCREMENT) on a non-versioned
object.
| false |
| false | technology | active | true |
PERSISTENCE:SPEC:1426 | 3 | 4.4.1 |
When it cannot support such a lock call, it must throw the
PersistenceException.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1427 | 3 | 4.4.1 |
When supported, whether for versioned or non-versioned objects,
LockModeType.OPTIMISTIC_FORCE_INCREMENT
must always prevent the phenomena P1 and P2.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1428 | 3 | 4.4.1 |
For non-versioned objects, whether or not
LockModeType.OPTIMISTIC_FORCE_INCREMENT has any additional
behavior is vendor-specific.
| false |
| true | technology | active | true |
PERSISTENCE:SPEC:1429 | 3 | 4.4.1 |
Applications that call lock(entity,
LockModeType.OPTIMISTIC_FORCE_INCREMENT) on non-versioned
objects
will not be portable.
| false |
| true | technology | active | true |
PERSISTENCE:SPEC:1430 | 3 | 4.4.1 |
For versioned objects, it is permissible for an implementation
to use
LockModeType.OPTIMISTIC_FORCE_INCREMENT where
LockModeType.OPTIMISTIC was requested, but not vice versa.
| true |
| false | technology | removed | false |
PERSISTENCE:SPEC:1431 | 3 | 4.4.1 |
If a versioned object is otherwise updated or removed, then the
implementation must ensure that the
requirements of LockModeType.OPTIMISTIC_FORCE_INCREMENT are met,
even if no explicit
call to EntityManager.lock was made.
| true |
| false | technology | removed | false |
PERSISTENCE:SPEC:1236 | 3 | 4.4.1 | For portability, an application should not depend on
vendor-specific hints or configuration to
ensure repeatable read for objects that are not updated or
removed via any mechanism other than the use
of version attributes and the EntityManager lock method.
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:1237 | 3 | 4.4.1 | It should be noted that if an implementation has
acquired upfront pessimistic locks on some
database rows, then it is free to ignore lock(entity,
LockModeType.OPTIMISTIC)) calls on the entity
objects representing those rows.
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:1432 | 3 | 4.4.2 |
If transaction T1 calls lock(entity,
LockModeType.PESSIMISTIC_READ) or lock(entity,
LockModeType.PESSIMISTIC_WRITE)on an object, the entity manager
must ensure that neither of the
following phenomena can occur:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1432.1 | 3 | 4.4.2 |
P1 (Dirty read): Transaction T1 modifies a row. Another
transaction T2 then reads that row
and
obtains the modified value, before T1 has committed.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1432.2 | 3 | 4.4.2 |
P1 (Dirty read): Transaction T1 modifies a row. Another
transaction T2 then reads that row
and
obtains the modified value, before T1 has rolled back.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1432.3 | 3 | 4.4.2 |
P2 (Non-repeatable read): Transaction T1 reads a row.
Another transaction T2 then modifies
or
deletes that row, before T1 has committed.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1432.4 | 3 | 4.4.2 |
P2 (Non-repeatable read): Transaction T1 reads a row.
Another transaction T2 then modifies
or
deletes that row, before T1 has rolled back.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1433 | 3 | 4.4.2 |
Any such lock must be obtained immediately and retained until
transaction T1 completes (commits or rolls
back).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1434 | 3 | 4.4.2 |
The persistence implementation must support calling lock(entity,
LockModeType.PESSIMISTIC_READ) and
lock(entity, LockModeType.PESSIMISTIC_WRITE)on a non-versioned
entity as well as on a versioned entity.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1435 | 3 | 4.4.2 |
It is permissible for an implementation to use
LockModeType.PESSIMISTIC_WRITE where
LockModeType.PESSIMISTIC_READ was requested, but not vice versa.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1436 | 3 | 4.4.2 |
When the lock cannot be obtained, and the database locking
failure results in transaction-level
rollback, the provider must throw the PessimisticLockException
and ensure that the JTA transaction or
EntityTransaction has been marked for rollback.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1437 | 3 | 4.4.2 |
When the lock cannot be obtained, and the database locking
failure results in only statement-level
rollback, the provider must throw the LockTimeoutException (and
must not mark the transaction for
rollback).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1438 | 3 | 4.4.2 |
When an application locks an entity with
LockModeType.PESSIMISTIC_READ and later updates
that entity, the lock must be converted to an exclusive lock
when the entity is flushed to the database.
If the lock conversion fails, and the database locking failure
results in transaction-level rollback,
the
provider must throw the PessimisticLockException and ensure that
the JTA transaction or
EntityTransaction has been marked for rollback. When the lock
conversion fails, and the database locking
failure results in only statement-level rollback, the provider
must throw the LockTimeoutException
(and must not mark the transaction for rollback).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1439 | 3 | 4.4.2 |
When lock(entity, LockModeType.PESSIMISTIC_READ), lock(entity,
LockModeType.PESSIMISTIC_WRITE), or
lock(entity, LockModeType.PESSIMISTIC_FORCE_INCREMENT)is invoked
on a versioned entity that is already
in the persistence context, the
provider must also perform optimistic version checks when
obtaining the lock. An OptimisticLockException
must be thrown if the version checks fail. Depending on the
implementation strategy
used by the provider, it is possible that this exception may not
be thrown until flush is called or
commit time, whichever occurs first.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1440 | 3 | 4.4.2 |
The persistence implementation is not required to support
calling lock(entity,
LockModeType.PESSIMISTIC_FORCE_INCREMENT) on a non-versioned
object. When it cannot support such a lock
call, it must throw the PersistenceException.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1441 | 3 | 4.4.2 |
When supported, whether for versioned or non-versioned objects,
LockModeType.PESSIMISTIC_FORCE_INCREMENT
must always prevent the phenomena P1 and P2.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1442 | 3 | 4.4.2 |
For non-versioned objects, whether or not
LockModeType.PESSIMISTIC_FORCE_INCREMENT has any additional
behavior is vendor-specific.
| false |
| true | technology | active | true |
PERSISTENCE:SPEC:1443 | 3 | 4.4.2 |
Applications that call lock(entity,
LockModeType.PESSIMISTIC_FORCE_INCREMENT) on non-versioned
objects
will not be portable.
| false |
| false | technology | active | true |
PERSISTENCE:SPEC:1444 | 3 | 4.4.2 |
For versioned objects, it is permissible for an implementation
to use
LockModeType.PESSIMISTIC_FORCE_INCREMENT where
LockModeType.PESSIMISTIC_READ or
LockModeType.PESSIMISTIC_WRITE was requested, but not vice
versa.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1445 | 3 | 4.4.2 |
If a versioned object locked with LockModeType.PESSIMISTIC_READ
or LockModeType.PESSIMISTIC_WRITE is
updated, then the implementation must ensure that the
requirements of
LockModeType.PESSIMISTIC_FORCE_INCREMENT are met.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1446 | 3 | 4.4.3 |
javax.persistence.lock.scope
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1446.1 | 3 | 4.4.3 |
This property may be used with the methods of the
EntityManager interface that allow lock
modes
to be specified, the Query.setLockMode method and the
NamedQuery annotation. When specified,
this property must be observed.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1446.2 | 3 | 4.4.3 |
The provider is permitted to lock more (but not fewer)
rows than requested.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1447 | 3 | 4.4.3 |
javax.persistence.lock.timeout
| false |
| false | technology | active | true |
PERSISTENCE:SPEC:1447.1 | 3 | 4.4.3 |
This hint may be used with the methods of the
EntityManager interface that allow lock modes
to
be
specified, the Query.setLockMode method and the
NamedQuery annotation. It may also be
passed as a property to the
Persistence.createEntityManagerFactory method and used
in the properties element of the persistence.xml file.
| false |
| false | technology | active | true |
PERSISTENCE:SPEC:1447.2 | 3 | 4.4.3 |
When used in the createEntityManagerFactory method, the
persistence.
xml file, and the NamedQuery annotation, the timeout
hint serves as a default value which
can be selectively overridden by use in the methods of
the EntityManager,
Query, and TypedQuery
interfaces as
specified above.
| false |
| false | technology | active | true |
PERSISTENCE:SPEC:1447.3 | 3 | 4.4.3 |
A timeout value of 0 is used to specify “no wait”
locking
| false |
| false | technology | active | true |
PERSISTENCE:SPEC:1447.4 | 3 | 4.4.3 |
Portable applications should not rely on this hint.
Depending on the database in use and the
locking
mechanisms used by the persistence provider, the hint
may or may not be observed.
| false |
| false | technology | active | true |
PERSISTENCE:SPEC:1447.5 | 3 | 4.4.3 |
Vendors are permitted to support the use of additional,
vendor-specific locking hints.
Vendor-specific
hints must not use the javax.persistence namespace.
Vendor-specific hints must be ignored if
they are not understood.
| false |
| false | technology | active | true |
PERSISTENCE:SPEC:1447.6 | 3 | 4.4.3 |
If the same property or hint is specified more than
once, the following order of overriding
applies, in
order of decreasing precedence:
• argument to method of EntityManager EntityManager, Query, or TypedQuery interface
• specification to NamedQuery (annotation or XML)
• argument to createEntityManagerFactory method
• specification in persistence.xml
| false |
| false | technology | active | true |
PERSISTENCE:SPEC:1448 | 3 | 4.5 |
Provider implementations may defer writing to the database until
the end of the transaction, when
consistent
with the lock mode and flush mode settings in effect. In this
case, an optimistic lock check may
not occur until commit time, and the OptimisticLockException may
be thrown in the "before
completion" phase of the commit. If the OptimisticLockException
must be caught or handled
by the application, the flush method should be used by the
application to force the database writes to
occur. This will allow the application to catch and handle
optimistic lock exceptions.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1449 | 3 | 4.5 |
The OptimisticLockException provides an API to return the object
that caused the exception to
be thrown. The object reference is not guaranteed to be present
every time the exception is thrown but
should be provided whenever the persistence provider can supply
it. Applications cannot rely upon this
object being available.
| false |
| false | technology | active | true |
PERSISTENCE:SPEC:692 | 3 | 4.5 | OptimisticLockException | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1450 | 3 | 4.5 |
In some cases an OptimisticLockException will be thrown and
wrapped by another exception,
such as a RemoteException, when VM boundaries are crossed.
Entities that may be referenced in
wrapped exceptions should implement Serializable so that
marshalling will not fail.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:693 | 3 | 4.5 | An OptimisticLockException always causes the
transaction to be marked for roll back.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1316 | 3 | 5 | A lifecycle callback method can be defined on an entity
class, a mapped superclass, or an
entity
listener class associated with an entity or mapped superclass
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1451 | 3 | 5 |
An entity listener class is a class whose methods are invoked in
response to lifecycle events on an
entity. Any number of entity listener classes can be defined for
an entity class or mapped superclass.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1317 | 3 | 5 | Default entity listeners—entity listener classes whose
callback methods apply to all entities
in the persistenceunit—can be specified by means of the XML
descriptor
| true |
| 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.1 | The entity listener class must have a public no-arg
constructor.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1318 | 3 | 5.1 | Entity listener classes in Java EE environments support
dependency injection through the
Contexts and
Dependency Injection API (CDI) when the CDI is enabled. An entity listener
class that makes use of CDI injection may also define lifecycle
callback methods annotated with the
PostConstruct and PreDestroy annotations. These methods will be
invoked after injection has
taken place and before the entity listener instance is destroyed
respectively.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1452 | 3 | 5.1 | The persistence provider is responsible for using the
CDI SPI to create instances of the entity
listener
class; to perform injection upon such instances; to invoke their
PostConstruct and PreDestroy
methods, if any; and to dispose of the entity listener
instances.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1453 | 3 | 5.1 | The persistence provider is only required to support
CDI injection into entity listeners in
Java EE container
environments. If the CDI is not enabled,
the persistence provider must not invoke entity
listeners that depend upon CDI injection.
If the containing archive CDI is not a bean archive,
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1454 | 3 | 5.1 | An entity listener is a noncontextual object. In
supporting injection into entity listeners,
the persistence
provider must behave as if it carries out the following steps
involving the use of the CDI SPI.
| false |
| true | technology | active | false |
PERSISTENCE:SPEC:1454.1 | 3 | 5.1 | Obtain a BeanManager instance. | false |
| true | technology | active | false |
PERSISTENCE:SPEC:1454.2 | 3 | 5.1 | Create an AnnotatedType instance for the entity
listener class.
| false |
| true | technology | active | false |
PERSISTENCE:SPEC:1454.3 | 3 | 5.1 | Create an InjectionTarget instance for the
annotated type.
| false |
| true | technology | active | false |
PERSISTENCE:SPEC:1454.4 | 3 | 5.1 | Create a Creational Context. | false |
| true | technology | active | false |
PERSISTENCE:SPEC:1454.5 | 3 | 5.1 | Instantiate the listener by calling the
InjectionTarget produce method.
| false |
| true | technology | active | false |
PERSISTENCE:SPEC:1454.6 | 3 | 5.1 | Inject the listener instance by calling the
InjectionTarget inject method on the
instance.
| false |
| true | technology | active | false |
PERSISTENCE:SPEC:1454.7 | 3 | 5.1 | Invoke the PostConstruct callback, if any, by
calling the InjectionTarget
postConstruct
method on the instance.
| false |
| true | technology | active | false |
PERSISTENCE:SPEC:1455 | 3 | 5.1 | When the listener instance is to be destroyed, the
persistence provider must behave as if it
carries out the following steps.
| false |
| true | technology | active | false |
PERSISTENCE:SPEC:1455.1 | 3 | 5.1 | Call the InjectionTarget preDestroy method on
the instance.
| false |
| true | technology | active | false |
PERSISTENCE:SPEC:1455.2 | 3 | 5.1 | Call the InjectionTarget dispose method on the
instance.
| false |
| true | technology | active | false |
PERSISTENCE:SPEC:1455.3 | 3 | 5.1 | Call the CreationalContext release method..
| false |
| true | technology | active | false |
PERSISTENCE:SPEC:1456 | 3 | 5.1 | Persistence providers may optimize the steps above,
e.g. by avoiding calls to the actual CDI
SPI and
relying on container-specific interfaces instead, as long as the
outcome is the same.
| false |
| true | technology | active | false |
PERSISTENCE:SPEC:1457 | 3 | 5.1 | Entity listeners that do not make use of CDI injection
are stateless. The lifecycle of such
entity listeners
is unspecified.
| false |
| true | technology | active | false |
PERSISTENCE:SPEC:707 | 3 | 5.1 | 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:1277 | 3 | 5.2 | Entity lifecycle callback methods can be defined on an
entity listener class and/or directly on
an entity class or mapped superclass.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1278 | 3 | 5.2 | Lifecycle callback methods are annotated with
annotations designating the callback events for
which they are invoked or are mapped to the callback event using
the XML descriptor.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1279 | 3 | 5.2 | The annotations (and XML elements) used for callback
methods on the entity class or mapped
superclass and for callback methods on the entity listener class
are the same. The signatures of
individual
methods, however, differ.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1280 | 3 | 5.2 | Callback methods defined on an entity class or mapped
superclass have the following signature:
void <METHOD>()
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1281 | 3 | 5.2 | Callback methods defined on an entity listener class
have the following signature: void <METHOD>(Object)
The Object argument is the entity instance for which the
callback method is invoked. It may be declared
as the actual entity type.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1282 | 3 | 5.2 | The callback methods can have public, private,
protected, or package level access, but must not
be static or final.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:702 | 3 | 5.2 | The following rules apply to lifecycle event callback
methods:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:703 | 3 | 5.2 | Lifecycle callback methods may throw
unchecked/runtime exceptions.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:704 | 3 | 5.2 | A runtime exception thrown by a callback method
that executes within a transaction
causes that transaction to be marked for rollback if the
persistence context is joined to
the
transaction.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:705 | 3 | 5.2 | Lifecycle callbacks can invoke JNDI, JDBC, JMS,
and enterprise beans.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:706 | 3 | 5.2 | In general, the lifecycle method of a portable
application should not invoke
EntityManager or query operations, access other entity
instances, or modify relationships
within
the same persistence context.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:702.1 | 3 | 5.2 |
A lifecycle callback method may modify the
non-relationship state of the entity on which it
is
invoked.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:708 | 3 | 5.3 | 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
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:710 | 3 | 5.3 | For entities to which the merge operation has been
applied and causes the creation of newly
managed instances, the PrePersist callback methods will be
invoked for the managed instance after the
entity state has been copied to it.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:709 | 3 | 5.3 | These PrePersist and PreRemove callbacks will also be
invoked on all entities
to which these operations are cascaded
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:711 | 3 | 5.3 | 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.3 | 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.3 | 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.3 | 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.3 | Generated primary key values are available in the
PostPersist method.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:716 | 3 | 5.3 | 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.3 | These database operations may occur at the time the
entity state is updated or they may occur
at the time state is flushed to the database (which may be at
the end of the transaction).
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:718 | 3 | 5.3 | Note that it is implementation-dependent as to whether
PreUpdate and PostUpdate callbacks occur
when an entity is persisted and subsequently modified in a
single transaction or when an entity is
modified and subsequently removed within a single transaction.
Portable applications should not rely on
such behavior.
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:719 | 3 | 5.3 | The PostLoad method for an entity is invoked after the
entity has been loaded into the current
persistence context from the database
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:720 | 3 | 5.3 | The 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.3 | 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.
| false |
| true | technology | active | false |
PERSISTENCE:SPEC:1458 | 3 | 5.5 | If multiple callback methods are defined for an entity
lifecycle event, the ordering of the
invocation of these methods is as follows.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:722 | 3 | 5.5 | 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.5 | 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.5 | 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.5 | 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 by the
entity
listener classes for the
superclasses of the entity or mapped supeclass. The
excluded listeners are excluded from the
class to
which the
ExcludeSuperclassListeners annotation is specified and
its subclasses.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:726 | 3 | 5.5 | 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.5 | The ExcludeSuperclassListeners annotation 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:1458.1 | 3 | 5.5 | If a lifecycle callback method for the same
lifecycle event is also specified on
the
entity class and/or one
or more of its entity or mapped superclasses, the
callback methods on the entity class
and/or
superclasses
are invoked after the other lifecycle callback methods,
most general superclass first.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1458.2 | 3 | 5.5 | A class is
permitted to override an inherited callback method of
the same callback type, and in this
case,
the overridden
method is not invoked. If a method overrides an
inherited callback method but specifies a
different lifecycle event or is not a lifecycle callback
method,
the overridden method will not be invoked
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1459 | 3 | 5.5 |
Callback methods are invoked by the persistence provider runtime
in the order specified. If the callback
method execution terminates normally, the persistence provider
runtime then invokes the next callback
method, if any.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1460 | 3 | 5.5 |
The XML descriptor may be used to override the lifecycle
callback method invocation order specified in
annotations.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1461 | 3 | 5.7 | Lifecycle callback methods may throw runtime
exceptions. A runtime exception thrown by a
callback
method that executes within a transaction causes that
transaction to be marked for rollback if the
persistence
context is joined to the transaction.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1462 | 3 | 5.7 | No further lifecycle callback methods will be invoked
after a runtime exception is thrown.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1463 | 3 | 5.8 | The XML descriptor can be used as an alternative to
metadata annotations to specify entity
listener
classes and their binding to entities or to override the
invocation order of lifecycle callback methods
as
specified in annotations.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1464 | 3 | 5.8.1 | The entity-listener XML descriptor element is used to
specify the lifecycle listener methods of
an entity listener class. The lifecycle listener methods are
specified by using the pre-persist,
post-persist, pre-remove, post-remove, pre-update, post-update,
and/or
post-load elements.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1465 | 3 | 5.8.1 | An entity listener class can define multiple callback
methods. However, at most one method of
an entity
listener class can be designated as a pre-persist method,
post-persist method, pre-remove method,
post-remove method, pre-update method, post-update method,
and/or post-load method, regardless of
whether the XML descriptor is used to define entity listeners or
whether some combination of annotations
and XML descriptor elements is used.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1466 | 3 | 5.8.2 | The entity-listeners subelement of the
persistence-unit-defaults element is used to
specify the default entity listeners for the persistence unit.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1467 | 3 | 5.8.2 | The entity-listeners subelement of the entity or
mapped-superclass element is used to
specify the entity listener classes for the respective entity or
mapped superclass and its subclasses.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1468 | 3 | 5.8.2 | The binding of entity listeners to entity classes is
additive. The entity listener classes
bound to the
superclasses of an entity or mapped superclass are applied to it
as well.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1469 | 3 | 5.8.2 | The exclude-superclass-listeners element specifies that
the listener methods for superclasses
are not to be invoked for an entity class (or mapped superclass)
and its subclasses.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1470 | 3 | 5.8.2 | The exclude-default-listeners element specifies that
default entity listeners are not to be
invoked for an entity class (or mapped superclass) and its
subclasses.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1471 | 3 | 5.8.2 | Explicitly listing an excluded default or superclass
listener for a given entity class or
mapped superclass
causes it to be applied to that entity or mapped superclass and
its subclasses.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1472 | 3 | 5.8.2 | In the case of multiple callback methods for a single
lifecycle event, the invocation order
rules
described in section 3.5.5 apply.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1283 | 3 | 6 | Managed classes (entities, mapped superclasses, and
embeddable classes) may be configured to
include Bean Validation constraints. Automatic validation using
these constraints is achieved by
specifying that Java Persistence delegate validation to the Bean
Validation implementation upon the
pre-persist, pre-update, and pre-remove
entity lifecycle events
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1284 | 3 | 6 | Validation can also be achieved by the application
calling the validate method of a Validator
instance upon an instance of a managed class, as described in
the Bean Validation specification
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1285 | 3 | 6.1 | This specification supports the use of bean validation
for the automatic validation of entities
upon the
pre-persist, pre-update, and pre-remove lifecycle validation
events.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1285.1 | 3 | 6.1 | These lifecycle validation events
occur immediately after the point at which all the
PrePersist, PreUpdate, and PreRemove
lifecycle
callback method invocations respectively have been
completed
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1285.2 | 3 | 6.1 | or immediately after the point at
which such lifecycle callback methods would have been
completed (in the event that such
callback
methods are not present).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1473 | 3 | 6.1 | In the case where an entity is persisted and
subsequently modified in a single transaction or
when an entity is modified and subsequently removed in a single
transaction, it is implementation
dependent as to whether the pre-update validation event occurs.
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:1286 | 3 | 6.1.1 | The validation-mode element of the persistence.xml file
determines whether the automatic
lifecycle event validation is in effect. The values of the
validation-mode element are AUTO,
CALLBACK, NONE. The default validation mode is AUTO.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1287 | 3 | 6.1.1 | If the application creates the entity manager factory
using the
Persistence.createEntityManagerFactory
method, the validation mode can be specified using the
javax.persistence.
validation.mode map key, which will override the value specified
(or defaulted) in the
persistence.xml file.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1474 | 3 | 6.1.1 | The map values for this key are "auto", "callback",
"none".
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1288 | 3 | 6.1.1 | If the auto validation mode is specified by the
validation-mode element or the
javax.persistence.
validation.mode property, or if neither the validation-mode
element nor the
javax.persistence.validation.mode property is specified, and a
Bean Validation provider
is present in the environment, the persistence provider must
perform the automatic validation of
entities
as described in section 3.6.1.2.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1289 | 3 | 6.1.1 | If no Bean Validation provider is present in the
environment, no lifecycle
event validation takes place.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1290 | 3 | 6.1.1 | If the callback validation mode is specified by the
validation-mode element or the
javax.persistence.
validation.mode property, the persistence provider must perform
the lifecycle event
validation as described in section 3.6.1.2.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1291 | 3 | 6.1.1 | It is an error if there is no Bean Validation provider
present in
the environment, and the provider must throw the
PersistenceException if the javax.persistence.
validation.mode property value "callback" has been passed to the
Persistence.
createEntityManagerFactory method.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1292 | 3 | 6.1.1 | If the none validation mode is specified by the
validation-mode element or the
javax.persistence.
validation.mode property, the persistence provider must not
perform lifecycle event
validation.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1293 | 3 | 6.1.2 | the default Bean Validation group (the group Default)
will be validated upon
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1293.1 | 3 | 6.1.2 | pre-persist lifecycle validation event
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1293.2 | 3 | 6.1.2 | pre-update lifecycle validation event
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1293.3 | 3 | 6.1.2 | no group will be validated upon the pre-remove
event
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1294 | 3 | 6.1.2 | This default validation behavior can be overridden by
specifying the target groups using the
following
validation properties in the persistence.xml file or by passing
these properties in the configuration
of the entity manager factory through the
createEntityManagerFactory method:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1294.1 | 3 | 6.1.2 |
javax.persistence.validation.group.pre-persist
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1294.2 | 3 | 6.1.2 | javax.persistence.validation.group.pre-update
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1294.3 | 3 | 6.1.2 | javax.persistence.validation.group.pre-remove
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1295 | 3 | 6.1.2 | The value of a validation property must be a list of
the targeted groups.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1475 | 3 | 6.1.2 | A targeted group must be specified by its fully
qualified class name.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1476 | 3 | 6.1.2 | Names must be separated by a comma.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1296 | 3 | 6.1.2 | When one of the above events occurs for an entity, the
persistence provider must validate that
entity by
obtaining a Validator instance from the validator factory in use
(see section 3.6.2) and invoking its
validate method with the targeted groups.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1477 | 3 | 6.1.2 | If the list of targeted groups is empty, no validation
is performed.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1297 | 3 | 6.1.2 | If the set of ConstraintViolation objects returned by
the validate method is not
empty, the persistence provider must throw the
javax.validation.ConstraintViolation-
Exception containing a reference to the returned set of
ConstraintViolation objects, and
must mark the transaction for rollback if the persistence
context is joined to the transaction.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1298 | 3 | 6.1.2 | The validator instance that is used for automatic
validation upon lifecycle events must use a
TraversableResolver that has the following behavior:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1298.1 | 3 | 6.1.2 | Attributes that have not been loaded must not
be loaded.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1298.2 | 3 | 6.1.2 | Validation cascade (@Valid) must not occur for
entity associations (single- or
multi-valued).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1299 | 3 | 6.1.2 | Embeddable attributes must be validated only if the
Valid annotation has been specified on
them.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1300 | 3 | 6.1.2 | It is the responsibility of the persistence provider to
pass an instance implementing the
javax.validation. TraversableResolver interface to the Bean
Validation provider by calling
ValidatorFactory.
usingContext().traversableResolver(tr).getValidator(), where
tr is the resolver having the behavior described above.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1300 | 3 | 6.2 | In Java EE environments, a ValidatorFactory instance is
made available by the Java EE
container.
The container is responsible for passing this validator factory
to the persistence provider via the
map that is passed as an argument to the
createContainerEntityManagerFactory call.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1478 | 3 | 6.2 | The map key used by the container must be the standard
property name
javax.persistence.validation.
factory.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1301 | 3 | 6.2 | In Java SE environments, the application can pass the
ValidatorFactory instance via the map
that
is passed as an argument to the
Persistence.createEntityManagerFactory call.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1479 | 3 | 6.2 | The map key used must be the standard property name
javax.persistence.validation.factory
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1480 | 3 | 6.2 | If no ValidatorFactory instance is provided by the
application, and if a Bean Validation
provider is
present in the classpath, the persistence provider must
instantiate the ValidatorFactory using the
default bootstrapping approach defined by the Bean Validation
specification [8], namely
Validation.buildDefaultValidatorFactory().
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2425 | 3 | 7 | Entity graphs are used in the specification of “fetch
plans” for query operations
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2426 | 3 | 7 | Entity graphs are used in the specification of “fetch
plans” for find operations
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2427 | 3 | 7 | Entity graphs are used in the specification of “fetch
plans” as specifications
for the boundaries of merge operations
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:2429 | 3 | 7 | The named-entity-graph XML element and its subelements
may be used to override these
annotations
or to define additional named entity graphs.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2430 | 3 | 7.4 | An entity graph can be used with the find method
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2431 | 3 | 7.4 | An entity graph can be used as a query hint to override
or augment FetchType semantics
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2432 | 3 | 7.4 | The standard properties javax.persistence.fetchgraph
and javax.persistence.
loadgraph are used to specify such graphs to queries and find
operations.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2433 | 3 | 7.4 | The default fetch graph for an entity or embeddable is
defined to consist of the transitive
closure of all
of its attributes that are specified as FetchType.EAGER (or
defaulted as such)
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2434 | 3 | 7.4 | The persistence provider is permitted to fetch
additional entity state beyond that specified by
a fetch
graph or load graph.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:2435 | 3 | 7.4 | It is required, however, that the persistence provider
fetch all state specified by the
fetch or load graph.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2436 | 3 | 7.4.1 | When the javax.persistence.fetchgraph property is used
to specify an entity graph,
attributes that are specified by attribute nodes of the entity
graph are treated as FetchType.EAGER
and attributes that are not specified are treated as
FetchType.LAZY.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2437 | 3 | 7.4.1 | A primary key or version attribute never needs to be
specified in an attribute node of a fetch
graph.
(This applies to composite primary keys as well, including
embedded id primary keys.)
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2438 | 3 | 7.4.1 | When an entity
is fetched, its primary key and version attributes are always
fetched. It is not incorrect, however, to
specify primary key attributes or version attributes
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2439 | 3 | 7.4.1 | Attributes other than primary key and version
attributes are assumed not to be fetched unless
the
attribute is specified.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2440 | 3 | 7.4.1 | The following rules apply to the specification of
attributes.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2440.1 | 3 | 7.4.1 | If the attribute is an embedded attribute, and
the attribute is specified in an
attribute node, but a
subgraph is not specified for the attribute, the default
fetch graph for the embeddable is
fetched. If a subgraph is specified for the attribute,
the attributes of the embeddable are
fetched
according to their specification in the corresponding
subgraph.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2440.2 | 3 | 7.4.1 | If the attribute is an element collection of
basic type, and the attribute is specified
in an
attribute node, the element collection together with its
basic elements is fetched.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2440.3 | 3 | 7.4.1 | If the attribute is an element collection of
embeddables, and the attribute is
specified in an
attribute node, but a subgraph is not specified for the
attribute, the element collection
together
with the default fetch graph of its embeddable elements
is fetched. If a subgraph is specified
for the attribute, the attributes of the embeddable
elements are fetched according to the
corresponding
subgraph specification.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2440.4 | 3 | 7.4.1 | If the attribute is a one-to-one or many-to-one
relationship, and the attribute is
specified in an
attribute node, but a subgraph is not specified for the
attribute, the default fetch graph of
the
target entity is fetched. If a subgraph is specified for
the attribute, the attributes of the
target
entity are fetched according to the corresponding
subgraph specification.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2440.5 | 3 | 7.4.1 | If the attribute is a one-to-many or
many-to-many relationship, and the attribute is
specified in
an attribute node, but a subgraph is not specified, the
collection is fetched and the default
fetch
graphs of the referenced entities are fetched. If a
subgraph is specified for the attribute, the
entities in the collection are fetched according to the
corresponding subgraph specification.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2440.6 | 3 | 7.4.1 | If the key of a map which has been specified in
an attribute node is a basic type, it
is fetched. If
the key of a map which has been specified in an
attribute node is an embedded type, the default
fetch graph is fetched for the embeddable. Otherwise, if
the key of the map is an entity, and a
map key subgraph is not specified for the attribute
node, the map key is fetched according to
its
default fetch graph. If a key subgraph is specified for
the map key attribute, the map key
attribute is fetched according to the map key subgraph
specification.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2441 | 3 | 7.4.2 | When the javax.persistence.loadgraph property is used
to specify an entity graph, attributes
that are specified by attribute nodes of the entity graph are
treated as FetchType.EAGER and
attributes that are not specified are treated according to their
specified or default FetchType.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2442 | 3 | 7.4.2 | The following rules apply. The rules of this section
are applied recursively.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2442.1 | 3 | 7.4.2 | A primary key or version attribute never needs
to be specified in an attribute node of
a load
graph. (This applies to composite primary keys as well,
including embedded id primary keys.)
When an entity is fetched, its primary key and version
attributes are always fetched. It is not
incorrect, however, to specify primary key attributes or
version attributes.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2442.2 | 3 | 7.4.2 | If the attribute is an embedded attribute, and
the attribute is specified in an
attribute node, but a
subgraph is not specified for the attribute, the default
fetch graph for the embeddable is
fetched. If a subgraph is specified for the attribute,
attributes that are specified by the
subgraph
are also fetched.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2442.3 | 3 | 7.4.2 | If the attribute is an element collection of
basic type, and the attribute is specified
in an
attribute node, the element collection together with its
basic elements is fetched.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2442.4 | 3 | 7.4.2 | If the attribute is an element collection of
embeddables, and the attribute is
specified in an
attribute node, the element collection together with the
default fetch graph of its embeddable
elements is fetched. If a subgraph is specified for the
attribute, attributes that are specified
by
the subgraph are also fetched.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2442.5 | 3 | 7.4.2 | If the attribute is a one-to-one or many-to-one
relationship, and the attribute is
specified in an
attribute node, the default fetch graph of the target
entity is fetched. If a subgraph is
specified
for the attribute, attributes that are specified by the
subgraph are also fetched.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2442.6 | 3 | 7.4.2 | If the attribute is a one-to-many or
many-to-many relationship, and the attribute is
specified in
an attribute node, the collection is fetched and the
default fetch graphs of the referenced
entities
are fetched. If a subgraph is specified for the
attribute, attributes that are specified by the
subgraph are also fetched
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2442.7 | 3 | 7.4.2 | If the key of a map which has been specified in
an attribute node is a basic type, it
is fetched. If
the key of a map which has been specified in an
attribute node is an embedded type, the default
fetch graph is fetched for the embeddable. Otherwise, if
the key of the map is an entity, the
map key is fetched according to its default fetch graph.
If a key subgraph is specified for the
map key attribute, additional attributes are fetched as
specified in the key subgraph.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2443 | 3 | 7.5 | An entity graph may be used as a “merge graph” and
passed as an argument to the merge method.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:2444 | 3 | 7.5 | A merge graph attribute node specified within an entity
graph or subgraph specifies how an attribute is
to be merged. Primary key and version attributes do not need to
be specified in the merge graph. If
other attributes are not specified, they are not merged. Note
that cascade=MERGE specifications are
ignored.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:2445 | 3 | 7.5 | The persistence provider must observe the scope and
boundaries of a merge graph specification exactly.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:2446 | 3 | 7.5 | The following additional rules apply for attributes
that are specified in attribute nodes. These rules are
applied recursively.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:2446.1 | 3 | 7.5 | If the attribute is an embedded attribute and a
subgraph is not specified for the attribute, the
embedded attribute is merged but the attributes of the
embeddable are not merged. If a subgraph
is specified for the attribute, the attributes of the
embeddable are merged according to
their specification in the corresponding subgraph.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:2446.2 | 3 | 7.5 | If the attribute is an element collection of
basic type, the element collection is merged. The
values in the element collection are replaced.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:2446.3 | 3 | 7.5 | If the attribute is an element collection of
embeddables and a subgraph is not specified for the
attribute, the element collection is merged. The values
in the element collection are replaced
and all attributes of the embeddables are included. If a
subgraph is specified for the attribute,
the values in the element collection are replaced and
all attributes of the embeddables are
included, and the attributes specified in the subgraph
are processed according to the subgraph
specification.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:2446.4 | 3 | 7.5 | If the attribute is a one-to-one or many-to-one
relationship and a subgraph is not specified for
the attribute, the attribute is merged, but the
attributes of the target entity are not merged. If a
subgraph is specified for the attribute, the attributes
of the target entity are merged according to
the corresponding subgraph specification.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:2446.5 | 3 | 7.5 | If the attribute is a one-to-many or
many-to-many relationship and a subgraph is not
specified
for the attribute, the attribute is merged, but the
attributes of the target entity are not merged. If
a subgraph is specified for the attribute, the entities
in the collection are merged according to
the corresponding subgraph specification.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:2446.6 | 3 | 7.5 | In both of the two relationship cases above,
note that if a new entity (entity in the “new” state)
was added to the relationship and only a subset of its
attributes is specified in the subgraph,
only those specified attributes are copied.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:2446.7 | 3 | 7.5 | If the attribute is a map, the map key is
merged. If the map key is an embeddable, all attributes
of the embeddable are included. If the map key is an
entity, the attribute is merged, but the
attributes of the target entity are not merged. If a
subgraph is specified for the attribute, the target
entity is merged according to the corresponding subgraph
specification.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:2447 | 3 | 7.6 | An entity graph may be used as a “copy graph” and
passed as an argument to the copy method.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:2448 | 3 | 7.6 | When
using an entity graph in combination with the copy method, a
copy of the entity is created and the
attributes of the copied entity are populated based on copies of
the attributes listed in the entity graph.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:2449 | 3 | 7.6 | The persistence provider must observe the scope and
boundaries of a copy graph specification exactly.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:2450 | 3 | 7.6 | The following rules apply to the specification of
attributes. The rules of this section are applied recursively.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:2450.1 | 3 | 7.6 | Primary key and version attributes are always
copied. Attributes are otherwise not copied
unless they are specified.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:2450.2 | 3 | 7.6 | If the attribute is an embedded attribute and
an attribute node is specified for the attribute, but a
subgraph is not specified, a new instance of the
embeddable is inserted into the resulting copy
of the entity graph, but no state is copied. If a
subgraph is specified for the attribute, the
attributes of the embeddable are copied according to
their specification in the corresponding
subgraph.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:2450.3 | 3 | 7.6 | If the attribute is an element collection of
basic type, the element collection and its contents are
copied.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:2450.4 | 3 | 7.6 | If the attribute is an element collection of
embeddables and an attribute node is specified for
the attribute, but a subgraph is not specified, a new
collection is created and new embeddable
instances are inserted into it, but no state is copied.
If a subgraph is specified for the attribute,
the embeddables are copied according to their
specification in the subgraph.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:2450.5 | 3 | 7.6 | If the attribute is a one-to-one or many-to-one
relationship and an attribute node is specified for
the attribute, but a subgraph is not specified, a copy
of the entity is created and inserted. Only
the primary key and version attributes of the entity are
copied. If a subgraph is specified for
the attribute, a copy of the entity is created and
inserted and the attributes of the target entity
are copied according to the corresponding subgraph
specification along with the primary key
and version attributes.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:2450.6 | 3 | 7.6 | If the attribute is a one-to-many or
many-to-many relationship and an attribute node is
specified
for the attribute, but a subgraph is not specified, a
new collection is created and inserted,
and copies of the referenced entities are created and
inserted into the collection. Only the primary
key and version attributes of these entities are copied.
If a subgraph is specified for the
attribute, the entities in the collection are copied
according to the corresponding subgraph
specification along with the primary key and version
attributes.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:2450.7 | 3 | 7.6 | If the attribute is a map and an attribute node
has been specified for the attribute:
• If the map key is a basic type, it is copied.
• If the map key is an embedded attribute, a new
instance of the embeddable is inserted
but no state is copied.
• If the map key is an entity, a copy of the entity is
created, and only the primary key
and version attributes of the entity are copied.
• If a map key subgraph is specified for the embeddable
or entity, the attributes of the
target are copied according to the corresponding map key
subgraph specification.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:1481 | 3 | 8 | Converters can be used to convert basic attributes
defined by entity classes, mapped
superclasses, or embeddable classes
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1482 | 3 | 8 | An attribute converter must implement the
javax.persistence.AttributeConverter interface.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1483 | 3 | 8 | A converter implementation class must be | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1483.1 | 3 | 8 | annotated with the Converter annotation
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1483.2 | 3 | 8 | defined in the XML descriptor as a converter.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1484 | 3 | 8 |
If the value of the autoApply element of the Converter
annotation is true, the converter will be applied
to all attributes of the target type, including to basic
attribute values that are contained within
other, more complex attribute types.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1485 | 3 | 8 | The conversion of all basic types is supported except
for the following:
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1485.1 | 3 | 8 | Id attributes (including
the attributes of embedded ids and derived identities)
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1485.2 | 3 | 8 | version attributes | true |
| false | technology | active | false |
PERSISTENCE:SPEC:1485.3 | 3 | 8 | relationship attributes | true |
| false | technology | active | false |
PERSISTENCE:SPEC:1485.4 | 3 | 8 | attributes explicitly annotated as Enumerated
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1485.5 | 3 | 8 | attributes explicitly annotated as Temporal
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1485.6 | 3 | 8 |
attributes explicitly designated as such in the XML
descriptor
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1486 | 3 | 8 | Auto-apply converters will not be applied to such
attributes, and applications that apply
converters to such attributes through use of the Convert
annotation will not be portable.
| false |
| false | technology | active | false |
PERSISTENCE:SPEC:1487 | 3 | 8 | Type conversion may be specified at the level of
individual attributes by means of the Convert
annotation.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1488 | 3 | 8 | The Convert annotation may also be used to override or
disable an auto-apply conversion.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1489 | 3 | 8 | The Convert annotation may be applied directly to an
attribute of an ... to specify conversion
of the attribute or to override the use of a converter that has
been specified as autoApply=true.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1489.1 | 3 | 8 | entity | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1489.2 | 3 | 8 | mapped superclass | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1489.3 | 3 | 8 | embeddable class | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1490 | 3 | 8 | When persistent properties are used, the Convert
annotation is applied to the getter method.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1491 | 3 | 8 |
The Convert annotation may be applied to an entity that extends
a mapped superclass to specify or
override the conversion mapping for an inherited basic or
embedded attribute.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1492 | 3 | 8 |
The persistence provider runtime is responsible for invoking the
specified conversion methods for the
target attribute type when loading the entity attribute from the
database and before storing the entity
attribute state to the database.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1493 | 3 | 8 |
The persistence provider must apply any conversion methods to
instances of attribute values in path expressions used within
Java Persistence query language queries or criteria queries
(such as in comparisons, bulk updates, etc.)
before sending them to the database for the query execution.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2486 | 3 | 8 | When such converted attributes are used in comparison
operations with literals or parameters, the value of the literal
or parameter to which they are compared must also be converted
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1494 | 3 | 8 |
If the result of a Java Persistence query language query or
criteria query includes one or more entity
attributes for which conversion mappings have been specified,
the persistence provider must apply the
specified conversions to the corresponding values in the query
result before returning them to the
application.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2487 | 3 | 8 | The use of functions, including aggregates, on
converted attributes is undefined.
| false |
| false | technology | active | true |
PERSISTENCE:SPEC:1495 | 3 | 8 |
If an exception is thrown from a conversion method, the
persistence provider must wrap
the exception in a PersistenceException and, if the persistence
context is joined to a transaction, mark
the transaction for rollback.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1496 | 3 | 9.1 | A value of ALL causes all entities and entity-related
state and data to be cached.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1497 | 3 | 9.1 | A value of NONE causes caching to be disabled for the
persistence unit. Persistence providers
must not
cache if NONE is specified.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1498 | 3 | 9.1 | The values ENABLE_SELECTIVE and DISABLE_SELECTIVE are
used in conjunction with the
Cacheable annotation (or XML element). The Cacheable annotation
specifies whether an entity
should be cached if such selective caching is enabled by the
persistence.xml shared-cache-mode element.
The Cacheable element is specified on the entity class. It
applies to the given entity and its
subclasses
unless subsequently overridden by a subclass.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1498.1 | 3 | 9.1 | Cacheable(false) means that the entity and its
state must not be cached by the
provider.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1498.2 | 3 | 9.1 | A value of ENABLE_SELECTIVE enables the cache
and causes entities for which
Cacheable(
true) (or its XML equivalent) is specified to be cached.
Entities for which Cacheable(true)
is
not specified or for which Cacheable(false) is specified
must not be
cached.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1498.3 | 3 | 9.1 | A value of DISABLE_SELECTIVE enables the cache
and causes all entities to be cached
except those for which Cacheable(false) is specified.
Entities for which Cacheable(false) is
specified must not be cached.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1499 | 3 | 9.1 | If either the shared-cache-mode element is not
specified in the persistence.xml file or the
value of the shared-cache-mode element is UNSPECIFIED, and the
javax.persistence.sharedCache.mode
property is not specified, the behavior is not defined, and
provider-specific defaults may apply.
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:1500 | 3 | 9.1 | If the shared-cache-mode element and the
javax.persistence.sharedCache.mode property are not
specified, the semantics of the Cacheable annotation (and XML
equivalent) are undefined.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1501 | 3 | 9.2 | Cache retrieve mode and cache store mode properties may
be specified at the level of the
persistence
context by means of the EntityManager setProperty method.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1502 | 3 | 9.2 | These properties may be specified for
the EntityManager find and refresh methods and the Query, TypedQuery, and StoredProcedureQuery setHint methods.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1503 | 3 | 9.2 | Cache retrieve mode and/or cache store mode properties
specified for the find, refresh, and
Query and TypedQuery, and StoredProcedureQuery setHint methods override those specified
for the persistence context for the
specified find and refresh invocations, and for the execution of
the specified queries respectively.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1504 | 3 | 9.2 | If caching is disabled by the NONE value of the
shared-cache-mode element, cache retrieve mode
and cache store mode properties must be ignored.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1505 | 3 | 9.2 | if the ENABLE_SELECTIVE value is specified, but
Cacheable(true) is not specified for a
particular entity, they are ignored for that entity; if the
DISABLE_SELECTIVE value is specified, they
are ignored for any entities for which Cacheable(false) is
specified.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1506 | 3 | 9.2 | Cache retrieve mode and cache store mode properties
must be observed when caching is enabled,
regardless of whether caching is enabled due to the
specification of the shared-cache-mode element or
enabled due to provider-specific options.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1507 | 3 | 10.7 | Java Persistence query language queries are executed
using the getResultList method.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1508 | 3 | 10.7 | Java Persistence query language queries are executed
using the getSingleResult method.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1509 | 3 | 10.7 | Criteria API queries are executed using the
getResultList method.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1510 | 3 | 10.7 | Criteria API queries are executed using the
getSingleResult method.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1511 | 3 | 10.7 | native SQL select queries are executed using the
getResultList method.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1512 | 3 | 10.7 | native SQL select queries are executed using the
getSingleResult method.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1513 | 3 | 10.7 | For TypedQuery instances, the query result type is
determined in the case of criteria queries
by the type of the query specified when the CriteriaQuery object
is created,
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1514 | 3 | 10.7 | In the case of Java Persistence query language queries,
the type of the result is determined by
the
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1514.1 | 3 | 10.7 | resultClass argument to the createQuery method
and the select list of the query
must
contain only a
single item which must be assignable to the specified
type.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1514.2 | 3 | 10.7 | resultClass argument to the createNamedQuery
method and the select list of the
query
must contain only a
single item which must be assignable to the specified
type.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:728 | 3 | 10.7 | For Query instances
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:728.1 | 3 | 10.7 | the elements of a query result whose select
list consists of more than one select
expression are of type Object[].
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:728.2 | 3 | 10.7 | If the select list consists of only one select
expression, the elements of the
query
result are of type Object
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:728.3 | 3 | 10.7 | When native SQL queries are used, the SQL
result set mapping, determines how many
items
(entities, scalar values, etc.) are returned.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:728.4 | 3 | 10.7 | If multiple items are returned, the elements of
the query result are of type
Object[]
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:728.5 | 3 | 10.7 | If only a single item is returned as a result
of the SQL result set mapping, the
elements of the query result are of type Object.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:728.6 | 3 | 10.7 |
if a result class is specified, the elements of the
query result are of type Object.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1515 | 3 | 10.7 | Stored procedure queries can be executed using the
getResultList, getSingleResult, and
execute methods.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1516 | 3 | 10.7 | Stored procedures that perform only updates or deletes
can be executed using the executeUpdate
method.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:729 | 3 | 10.7 | An IllegalArgumentException is thrown if: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:730 | 3 | 10.7 | a parameter name is specified that does not
correspond to a named parameter of the
query.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:731 | 3 | 10.7 | a positional value is specified that does not
correspond to a positional parameter
of
the query.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:732 | 3 | 10.7 | If the type of the parameter is not valid for
the query.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:733 | 3 | 10.7 | 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:1517 | 3 | 10.7 | The use of setMaxResults and setFirstResult is not
supported for stored procedure queries.
| false |
| false | technology | active | false |
PERSISTENCE:SPEC:1518 | 3 | 10.7 | Query methods other than the executeUpdate method are
not required to be
invoked within a transaction context, unless a lock mode other
than LockModeType.NONE has been
specified for the query.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1519 | 3 | 10.7 | TypedQuery methods other than the executeUpdate method
are not required to be
invoked within a transaction context, unless a lock mode other
than LockModeType.NONE has been
specified for the query.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1520 | 3 | 10.7 | the getResultList method are not required to be invoked
within a transaction context unless
such a lock mode has been specified for the
query.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1521 | 3 | 10.7 | the getSingleResult method are not required to be
invoked within a transaction context unless
such a lock mode has been specified for the
query.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1522 | 3 | 10.7 | If an entity manager with transaction-scoped
persistence context is in use, the resulting
entities
will be detached
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1523 | 3 | 10.7 | if an entity manager with an extended persistence
context is used, they will be managed.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1524 | 3 | 10.7 | Runtime exceptions other than the NoResultException,
NonUniqueResultException,
QueryTimeoutException, and LockTimeoutException thrown by the
methods of the Query, TypedQuery, and
StoredProcedureQuery interfaces other than those methods
specified below cause the current transaction
to be marked for rollback if the persistence context is joined
to the transaction.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1302 | 3 | 10.7 |
Runtime exceptions thrown by the following methods of the Query,
TypedQuery, and StoredProcedureQuery
interfaces do not cause the current transaction to be marked for
rollback:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1302.1 | 3 | 10.7 | getParameters | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1302.2 | 3 | 10.7 | getParameter | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1302.3 | 3 | 10.7 | getParameterValue | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1302.4 | 3 | 10.7 | getOutputParameterValue | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1302.5 | 3 | 10.7 | getLockMode | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1303 | 3 | 10.7 | Runtime exceptions thrown by the methods of the Tuple,
TupleElement, and Parameter interfaces
do not cause the current transaction to be marked for rollback.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1525 | 3 | 10.8 | If the persistence context has not been joined to the
current transaction, the persistence
provider must
not flush to the database regardless of the flush mode setting.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1526 | 3 | 10.8 | If there is no transaction active, the persistence
provider must not flush to the database.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1527 | 3 | 10.9 | The setLockMode method of the Query or TypedQuery
interface or the lockMode element of
the NamedQuery annotation may be used to lock the results of a
query.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1528 | 3 | 10.9 | A lock is obtained for each entity specified in the
query result (including entities passed to
constructors in the query SELECT clause).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1529 | 3 | 10.9 | Note that the setLockMode method may be called more
than once (with different values) on a
Query or
TypedQuery object.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1530 | 3 | 10.9 | If the lock mode type is PESSIMISTIC_READ,
PESSIMISTIC_WRITE, or
PESSIMISTIC_FORCE_INCREMENT, and the query returns scalar data
(e.g., the values of entity
field or properties, including scalar data passed to
constructors in the query SELECT clause), the
underlying database rows will be locked[50], but the version
columns (if any) for any entities
corresponding to
such scalar data will not be updated unless the entities
themselves are also otherwise retrieved and
updated.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1531 | 3 | 10.9 | If the lock mode type is PESSIMISTIC_READ,
PESSIMISTIC_WRITE, or
PESSIMISTIC_FORCE_INCREMENT, and the query returns scalar data
(e.g., the values of entity
field or properties, including scalar data passed to
constructors in the query SELECT clause), the
underlying database rows will be locked[50], but the version
columns (if any) for any entities
corresponding to
such scalar data will not be updated unless the entities
themselves are also otherwise retrieved and
updated.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1532 | 3 | 10.9 | Note that locking will not occur for data passed to
aggregate functions.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1533 | 3 | 10.9 | queries involving aggregates with pessimistic locking
may not be supported on all database
platforms.
| false |
| false | technology | active | false |
PERSISTENCE:SPEC:1534 | 3 | 10.9 | If the lock mode type is OPTIMISTIC or
OPTIMISTIC_FORCE_INCREMENT, and the query returns
scalar data, any entities returned by the query will be locked,
but no locking will occur for scalar
data that does not correspond to the state of any entity
instance in the query result.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1535 | 3 | 10.9 | If a lock mode other than NONE is specified for a
query, the query must be executed within a
transaction (and the persistence context must be joined to the
transaction) or the
TransactionRequiredException
will be thrown.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1536 | 3 | 10.9 | Locking is supported for Java Persistence query
language queries and criteria queries only.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1537 | 3 | 10.9 | If the setLockMode or getLockMode method is invoked on
a query that is not a Java Persistence
query language select query or a criteria query, the
IllegalStateException may be thrown or the query
execution will fail.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1538 | 3 | 10.10 | This entire section is optional
| false |
| false | technology | active | false |
PERSISTENCE:SPEC:734 | 3 | 10.11 | Parameter objects can be used for criteria queries and
for Java Persistence query language
queries.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1539 | 3 | 10.11 | Implementations may support the use of Parameter
objects for native queries, however support
for
Parameter objects with native queries is not required by this
specification.
| false |
| false | technology | active | false |
PERSISTENCE:SPEC:1305 | 3 | 10.12 | Named parameters can be used for Java Persistence query
language queries, for criteria queries
(although use of Parameter objects is to be preferred), and for
stored procedure queries that support
named parameters.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1306 | 3 | 10.12 | Named parameters are case-sensitive.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1540 | 3 | 10.12 | A named parameter of a Java Persistence query language
query is an identifier that is prefixed
by the ":" symbol.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1307 | 3 | 10.12 | The parameter names passed to the setParameter methods
of the Query and TypedQuery interfaces
do not include this ":" prefix
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1308 | 3 | 10.13 | Only positional parameter binding and positional access
to result items may be portably used
for native
queries, except for stored procedure queries for which named
parameters have been defined.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1309 | 3 | 10.13 | When binding the values of positional parameters, the
numbering starts as “1”. It is assumed
that for native
queries the parameters themselves use the SQL syntax (i.e., “?”,
rather than “?1”).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1311 | 3 | 10.14 | Named queries are static queries expressed in metadata
or queries registered by means of the
EntityManagerFactory addNamedQuery method. Named queries can be
defined in the Java Persistence query
language
or in SQL.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1312 | 3 | 10.14 | Query names are scoped to the persistence unit.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:735 | 3 | 10.15 | By default, all queries are polymorphic. By default,
all queries are polymorphic. That is, the
FROM clause of a query designates not only instances of the
specific entity class(es) to which it
explicitly refers, but subclasses as well. The
instances returned by a query include instances of the
subclasses that satisfy the query conditions
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1541 | 3 | 10.15 | Entity type expressions, described in section 4.6.17.5,
as well as the use of downcasting,
described in
section 4.4.9, can be used to restrict query polymorphism.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1542 | 3 | 10.16 | Queries may be expressed in native SQL. The result of a
native SQL query may consist of
entities,
unmanaged instances created via constructors, scalar values, or
some combination of these.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:736 | 3 | 10.16 | 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:1543 | 3 | 10.16.1 | mapping includes the mapping of the attributes of any
embeddable classes that are part of the non-collection-valued
entity state and attributes corresponding
to
foreign keys contained as part of the entity state
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1544 | 3 | 10.16.1 | Support for joins is currently limited to single-valued
relationships that are mapped
directly—i.e., not via join tables.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1545 | 3 | 10.16.1 | When an entity is to be returned from a native query,
the SQL statement should select all of
the columns
that are mapped to the entity object. This should include
foreign key columns to related entities.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1546 | 3 | 10.16.1 | when the results of the query are limited to entities
of a single entity class and
the mapping information can be derived from the columns of the
SQL result and the object/relational
mapping metadata—it is sufficient to specify only the expected
class of the entity result.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1547 | 3 | 10.16.1 | When multiple entities are returned by a SQL query or
when the column names of the SQL result
do not
correspond to those of the object/relational mapping metadata, a
SqlResultSetMapping metadata
definition must be provided to specify the entity mapping.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1548 | 3 | 10.16.1 | When the column names of the SQL result do not
correspond to those of the object/relational
mapping
metadata, more explicit SQL result mapping metadata must be
provided to enable the persistence provider
runtime to map the JDBC results into the expected objects. This
might arise, for example, when
column aliases must be used in the SQL SELECT clause when the
SQL result would otherwise contain
multiple columns of the same name or when columns in the SQL
result are the results of operators or
functions. The FieldResult annotation element within the
EntityResult annotation is used to
specify the mapping of such columns to entity attributes.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1549 | 3 | 10.16.1 | When the returned entity type contains an embeddable
class, the FieldResult element must use a
dot (“.”) notation to indicate which column maps to which field
or property of the contained embeddable.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1550 | 3 | 10.16.1 | When the returned entity type is the owner of a
single-valued relationship and the foreign key
is a composite
foreign key (composed of multiple columns), a FieldResult
element should be used for each of the foreign
key columns. The FieldResult element must use the dot (“.”)
notation form to indicate the column that
maps to each property or field of the target entity primary key.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1551 | 3 | 10.16.1 | If the target entity has a primary key of type IdClass,
this specification takes the form of
the name of
the field or property for the relationship, followed by a dot
(“.”), followed by the name of the field
or property of the primary key in the target entity. The latter
will be annotated with Id, as specified
in section 11.1.19.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1552 | 3 | 10.16.1 | If the target entity has a primary key of type
EmbeddedId, this specification is composed of
the name
of the field or property for the relationship, followed by a dot
(“.”), followed by the name or the
field or
property of the primary key (i.e., the name of the field or
property annotated as EmbeddedId), followed
by the name of the corresponding field or property of the
embedded primary key class.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1553 | 3 | 10.16.1 | The FieldResult elements for the composite foreign key
are combined to form the primary key
EmbeddedId class for the target entity. This may then be used to
subsequently retrieve the entity if the
relationship is to be eagerly loaded.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1554 | 3 | 10.16.1 | The dot-notation form is not required to be supported
for any usage other than for embeddables,
composite
foreign keys, or composite primary keys.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1555 | 3 | 10.16.2 | Instances of other classes (including non-managed
entity instances) as well as scalar results
can be
returned by a native query. These can be used singly, or in
combination, including with entity results.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1556 | 3 | 10.16.2.1 | Scalar results can be included in the query result by
specifying the ColumnResult annotation
element
of the SqlResultSetMapping annotation. The intended type of the
result can be specified using the type
element of the ColumnResult annotation.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1557 | 3 | 10.16.2.2 | The mapping to constructors is specified using the
ConstructorResult annotation element of the
SqlResultSetMapping annotation. The targetClass element of the
ConstructorResult
annotation specifies the class whose constructor corresponds to
the specified columns. All columns
corresponding to arguments of the intended constructor must be
specified using the columns element of
the ConstructorResult annotation in the same order as that of
the argument list of the constructor.
Any entities returned as constructor results will be in either
the new or the detached state, depending
on whether a primary key is retrieved for the constructed
object.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1558 | 3 | 10.16.3 | When a SqlResultSetMapping specifies more than one
mapping type (i.e., more than one of
EntityResult, ConstructorResult, ColumnResult), then for each
row in the SQL result,
the query execution will result in an Object[] instance whose
elements are as follows, in order:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1558.1 | 3 | 10.16.3 | any entity results (in the order in which they
are defined in the entities
element);
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1558.2 | 3 | 10.16.3 | any instances of classes corresponding to
constructor results (in the order defined
in
the classes element);
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1558.3 | 3 | 10.16.3 | and any instances corresponding to column
results (in the order defined in the
columns
element).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1559 | 3 | 10.16.3 | If there are any columns whose result mappings have not
been specified, they are ignored.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:737 | 3 | 10.16.4 | The use of named parameters is not defined for native
SQL queries. Only positional parameter
binding for SQL queries may be used by portable applications.
| false |
| true | technology | active | true |
PERSISTENCE:SPEC:1560 | 3 | 10.17 | Stored procedures can be specified either by means of
the NamedStoredProcedureQuery annotation
or dynamically.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1561 | 3 | 10.17.1 | A stored procedure may return more than one result set.
| false |
| false | technology | active | true |
PERSISTENCE:SPEC:1562 | 3 | 10.17.1 | the mapping of result sets can be specified either in
terms of a resultClasses or as a
resultSetMappings annotation element.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1563 | 3 | 10.17.1 | If there are multiple result sets, it is assumed that
they will be mapped using the same
mechanism — e.g., all via a set of result class mappings or all
via a set of result set mappings. The
order of the specification of these mappings must be the same as
the order in which the result sets will
be returned by the stored procedure invocation.
| false |
| false | technology | active | true |
PERSISTENCE:SPEC:1564 | 3 | 10.17.1 | If the stored procedure returns one or more result sets
and no resultClasses or
resultSetMappings element has been specified, any result set
will be returned as a list of type
Object[].
| false |
| false | technology | active | true |
PERSISTENCE:SPEC:1565 | 3 | 10.17.1 | StoredProcedureParameter metadata needs to be provided
for all parameters.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1566 | 3 | 10.17.1 | Parameters must be specified in the order in which they
occur in the parameter list of the
stored procedure.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1567 | 3 | 10.17.1 | If parameter names are used, the parameter name is used
to bind the parameter value and to
extract the output value (if the parameter is an INOUT or OUT
parameter).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1568 | 3 | 10.17.1 | If parameter names are not specified, it is assumed
that positional parameters are used.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1569 | 3 | 10.17.2 | If the stored procedure is not defined using metadata,
parameter and result set information
must be provided
dynamically.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1570 | 3 | 10.17.2 | All parameters of a dynamically-specified stored
procedure query must be registered using the
registerStoredProcedureParameter method of the
StoredProcedureQuery interface.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1571 | 3 | 10.17.2 | Result set mapping information can be provided by means
of the createStoredProcedure-
Query method.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1572 | 3 | 10.17.3 | The setParameter methods are used to set the values of
all required IN and INOUT parameters. It
is not required to set the values of stored procedure parameters
for which default values have been
defined by the stored procedure.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1573 | 3 | 10.17.3 | The case where there is only a single result set (or a
single result) plus any results passed
back via
INOUT and OUT parameters is supported using the getResultList
and getSingleResult
methods.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:1574 | 3 | 10.17.3 | The case where there is only an update count plus any
results passed back via INOUT and OUT
parameters
is supported using the executeUpdate method.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:1575 | 3 | 10.17.3 | The execute method supports both the simple case where
scalar results are passed back only via
INOUT and OUT parameters as well as the most general case
(multiple result sets and/or update counts,
possibly also in combination with output parameter values).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1576 | 3 | 10.17.3 | The execute method returns true if the first result is
a result set, and false if it is an
update count
or there are no results other than through INOUT and OUT
parameters, if any.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1577 | 3 | 10.17.3 | If the execute method returns true, the pending result
set can be obtained by calling
getResultList.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2496 | 3 | 10.17.3 | If the execute method returns true, the pending result
set can be obtained by calling
getSingleResult.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1578 | 3 | 10.17.3 | The hasMoreResults method can then be used to test for
further results.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1579 | 3 | 10.17.3 | If execute or hasMoreResults returns false, the
getUpdateCount method can be called to
obtain the pending result if it is an update count.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1580 | 3 | 10.17.3 | The getUpdateCount method will return either the
update count (zero or greater) or -1 if there is no update count
(i.e., either the next result is a
result set or
there is no next update count).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2497 | 3 | 10.17.3 | For portability, results that correspond to JDBC result sets and update counts need to be processed
before the values of any INOUT or OUT parameters are extracted.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1581 | 3 | 10.17.3 | After results returned through getResultList and
getUpdateCount have been exhausted,
results returned through INOUT and OUT parameters can be
retrieved.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1582 | 3 | 10.17.3 | results that correspond to JDBC result sets and update
counts need to be processed
before the values of any INOUT or OUT parameters are extracted.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2498 | 3 | 10.17.3 | The getOutputParameterValue methods are used to retrieve the values passed back from the
procedure through INOUT and OUT parameters.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2499 | 3 | 10.17.3 | When using REF_CURSOR parameters for result sets, the update counts should be exhausted before
calling getResultList to retrieve the result set.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2500 | 3 | 10.17.3 | Alternatively, the REF_CURSOR result set can be retrieved through getOutputParameterValue.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2501 | 3 | 10.17.3 | Result set mappings will be applied to results corresponding
to REF_CURSOR parameters in the order the REF_CURSOR parameters were registered
with the query.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1583 | 3 | 10.17.3 | In the simplest case, where results are returned only
via INOUT and OUT parameters, execute can
be
followed immediately by calls to getOutputParameterValue.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:738 | 3 | 11 | Summary of Exceptions | true |
| false | technology | active | true |
PERSISTENCE:SPEC:739 | 3 | 11 | PersistenceException | true |
| false | technology | active | true |
PERSISTENCE:SPEC:740 | 3 | 11 | TransactionRequiredException | true |
| false | technology | active | true |
PERSISTENCE:SPEC:738.1 | 3 | 11 | OptimisticLockException | true |
| false | technology | active | true |
PERSISTENCE:SPEC:738.2 | 3 | 11 | PessimisticLockException | true |
| false | technology | active | true |
PERSISTENCE:SPEC:738.3 | 3 | 11 | LockTimeoutException | true |
| false | technology | active | true |
PERSISTENCE:SPEC:741 | 3 | 11 | RollbackException | true |
| false | technology | active | true |
PERSISTENCE:SPEC:742 | 3 | 11 | EntityExistsException | true |
| false | technology | active | true |
PERSISTENCE:SPEC:743 | 3 | 11 | EntityNotFoundException | true |
| false | technology | active | true |
PERSISTENCE:SPEC:744 | 3 | 11 | NoResultException | true |
| false | technology | active | true |
PERSISTENCE:SPEC:745 | 3 | 11 | NonUniqueResultException | true |
| false | technology | active | true |
PERSISTENCE:SPEC:738.4 | 3 | 11 | QueryTimeoutException | true |
| false | technology | active | true |
PERSISTENCE:SPEC:746 | 4 | 2 | A Java Persistence 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 Any Java Persistence query language statement may
be constructed dynically or may be
statically defined in a metadata annotation or XML descriptor
element.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:751 | 4 | 2 | All statement types may have parameters. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:752 | 4 | 2.1 | A 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.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1584 | 4 | 3 | The type of
an expression is derived from the structure of the expression,
the abstract schema types of the
identification
variable declarations, the types to which the persistent
attributes evaluate, and the types of literals.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:760 | 4 | 3 | The abstract schema type of an entity or embeddable is
derived from its class and the metadata
information provided by Java language annotations or in the XML
descriptor.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:761 | 4 | 3 | Abstract schema types are specific to the query
language data model. The persistence provider
is not
required to implement or otherwise materialize an abstract
schema type.
| true |
| 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 | Entities are designated in query strings by their
entity names. The entity name is defined by
the name element of the Entity annotation (or the entity-name
XML descriptor element), and defaults to
the unqualified name of the entity class
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1585 | 4 | 3.1 | Entity names are scoped within the persistence unit and
must be unique within the persistence
unit.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2451 | 4 | 4 | Identification variables designate instances of a
particular abstract schema type. The FROM clause can
contain multiple identification variable declarations separated
by a comma
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:317 | 4 | 4 | Identification variables designate instances of a
particular abstract schema type. The
FROM clause can contain multiple identification variable
declarations separated by a comma:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:317.4 | 4 | 4 | identification_variable_declaration
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:317.1 | 4 | 4 | range_variable_declaration
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:317.5 | 4 | 4 | join
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:317.6 | 4 | 4 | fetch_join
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:317.7 | 4 | 4 | join_association_path_expression
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:317.8 | 4 | 4 | join_collection_valued_path_expression
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:317.9 | 4 | 4 | join_single_valued_path_expression
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:317.10 | 4 | 4 | join_spec
| 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:1586 | 4 | 4.1 | An identifier is a character sequence of unlimited
length. The character sequence must begin
with a Java identifier start character, and all other characters
must be Java identifier part
characters.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1587 | 4 | 4.1 |
An identifier start character is any character for which the
method Character.isJavaIdentifierStart
returns true. This includes the underscore (_) character and the
dollar sign ($) character.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1588 | 4 | 4.1 |
An identifier part character is any character for which the
method Character.isJavaIdentifierPart
returns true
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:763 | 4 | 4.1 | Reserved identifiers are case insensitive. Reserved
identifiers must not be used as
identification variables or result variables
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:764 | 4 | 4.2 | All identification variables must be declared in the
FROM clause. Identification variables
cannot be declared in other clauses.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1589 | 4 | 4.2 |
An identification variable must not be a reserved identifier or
have the same name as any entity in the
same persistence unit.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:319 | 4 | 4.2 | Identification variables are case insensitive.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1590 | 4 | 4.2 |
An identification variable evaluates to a value of the type of
the expression used in declaring the
variable.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1591 | 4 | 4.2 |
An identification variable can range over an entity, embeddable,
or basic abstract schema type.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1592 | 4 | 4.2 |
Note that for identification variables referring to an instance
of an association or collection
represented
as a java.util.Map, the identification variable is of the
abstract schema type of the map value.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1593 | 4 | 4.2 |
An identification variable always designates a reference to a
single value. It is declared in one of
three
ways:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1593.1 | 4 | 4.2 | in a range variable declaration
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1593.2 | 4 | 4.2 | in a join clause
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1593.3 | 4 | 4.2 | in a collection member declaration
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1594 | 4 | 4.2 |
The identification
variable declarations are evaluated from left to right in the
FROM clause, and an identification
variable declaration can use the result of a preceding
identification variable declaration of the query
string.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1595 | 4 | 4.2 |
All identification variables used in the SELECT, WHERE, ORDER
BY, GROUP BY, or HAVING
clause of a SELECT statement must be declared in the FROM
clause.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1596 | 4 | 4.2 |
All identification variables used in the SELECT, WHERE, ORDER
BY, GROUP BY, or HAVING
clause of a DELETE statement must be declared in the FROM
clause.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1597 | 4 | 4.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:1599 | 4 | 4.2 |
An identification variable is scoped to the query (or subquery)
in which it is defined and is also
visible
to any subqueries within that query scope that do not define an
identification variable of the same
name.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1600 | 4 | 4.3 |
The syntax for declaring an identification variable as a range
variable is similar to that of SQL;
optionally,
it uses the AS keyword. A range variable designates an entity
abstract schema type. A range variable
must not designate an embeddable class abstract schema type.
| true |
| 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: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 | removed | true |
PERSISTENCE:SPEC:1601 | 4 | 4.4 |
An identification variable followed by the navigation operator
(.) and a state field or association
field is
a path expression. The type of the path expression is the type
computed as the result of navigation;
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1601.1 | 4 | 4.4 |
the type of the state field
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1601.2 | 4 | 4.4 |
association field to which the expression navigates
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1602 | 4 | 4.4 |
The type of a path
expression that navigates to an association field may be
specified as a subtype of the declared type of
the association field by means of the TREAT operator.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1603 | 4 | 4.4 |
An identification variable qualified by the KEY, VALUE, or ENTRY
operator is a path expression. The
KEY, VALUE, and ENTRY operators may only be applied to
identification variables that correspond to
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1603.1 | 4 | 4.4 |
map-valued associations
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1603.2 | 4 | 4.4 |
map-valued element collections
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1604 | 4 | 4.4 |
The type of the path expression is the type
computed as the result of the operation; that is, the abstract
schema type of the field that is the
value of
the KEY, VALUE, or ENTRY operator (the map key, map value, or
map entry respectively)
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1605 | 4 | 4.4 |
Note that use of VALUE is optional, as an identification
variable referring to an association of type
java.util.Map is of the abstract schema type of the map value.
| false |
| false | technology | active | true |
PERSISTENCE:SPEC:1606 | 4 | 4.4 |
A path expression using the KEY or VALUE operator can be further
composed.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1607 | 4 | 4.4 |
A path expression using the ENTRY operator is terminal. It
cannot be further composed and can only
appear in the
SELECT list of a query.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:326 | 4 | 4.4 | a path expression that leads to an association field or
to a field whose type is an embeddable
class may be further composed. Path expressions can be composed
from other path expressions if the
original path expression evaluates to a single-valued type (not
a collection).
| true |
| 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:1608 | 4 | 4.4.1 |
An identification variable used in a
single_valued_object_path_expression or in a
collection_valued_path_expression may be an unqualified
identification variable or an identification
variable to which the KEY or VALUE function has been applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1609 | 4 | 4.4.1 |
general_identification_variable ::= identification_variable |
map_field_identification_variable
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1610 | 4 | 4.4.1 |
The type of an entity-valued path expression or an entity-valued
subpath of a path expression used in a
WHERE clause may be specified as a subtype of the corresponding
declared type by means of the
TREAT operator.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:765 | 4 | 4.4.1 | 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.1 | single_valued_path_expression ::=
qualified_identification_variable |
TREAT(qualified_identification_variable AS subtype) |
state_field_path_expression |
single_valued_object_path_expression
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:767 | 4 | 4.4.1 | state_field_path_expression ::=
{identification_variable |
single_valued_association_path_expression}.state_field
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:768 | 4 | 4.4.1 | single_valued_association_path_expression ::=
identification_variable.{single_valued_association_field.}*single_valued_association_field
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:769 | 4 | 4.4.1 | collection_valued_path_expression ::=
identification_variable.{single_valued_association_field.}*collection_valued_association_field
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:770 | 4 | 4.4.1 | state_field := simple_state_field |
{embedded_class_state_field.}*simple_state_field
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:765.1 | 4 | 4.4.1 | general_subpath ::= simple_subpath |
treated_subpath{.single_valued_object_field}*
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:765.2 | 4 | 4.4.1 | simple_subpath ::=
general_identification_variable |
general_identification_variable{.single_valued_object_field}*
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:765.3 | 4 | 4.4.1 | treated_subpath ::= TREAT(general_subpath AS
subtype)
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:765.4 | 4 | 4.4.1 | state_field_path_expression ::=
general_subpath.state_field
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:765.5 | 4 | 4.4.1 | state_valued_path_expression ::=
state_field_path_expression
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:765.6 | 4 | 4.4.1 | single_valued_object_path_expression ::=
general_subpath.single_valued_object_field
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:765.7 | 4 | 4.4.1 | collection_valued_path_expression ::=
general_subpath.collection_valued_field
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:322 | 4 | 4.4.1 |
A single_valued_object_field is designated by the name of an
association field in a one-to-one or
many-to-one relationship or a field of embeddable class type.
The type of a
single_valued_object_field is the abstract schema type of the
related entity or embeddable class.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1611 | 4 | 4.4.1 |
A state _field is designated by the name of an entity or
embeddable class state field that corresponds
to
a basic type.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:323 | 4 | 4.4.1 |
A collection_valued_field is designated by the name of an
association field in a one-to-many or a
many-to-many relationship or by the name of an element
collection field. The type of a
collection_valued_field is a collection of values of the
abstract schema type of the related entity or
element
type.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1612 | 4 | 4.4.1 |
It is illegal to use a collection_valued_path_expression other
than in the FROM clause of a query
except
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1612.1 | 4 | 4.4.1 |
in an empty_collection_comparison_expression
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1612.2 | 4 | 4.4.1 |
in a collection_member_expression
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1612.3 | 4 | 4.4.1 |
as an argument to the SIZE operator
| 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
join_association_path_expression [AS]
identification_variable
[join_condition]
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:776 | 4 | 4.5 | fetch_join ::= join_spec FETCH
join_association_path_expression
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:777 | 4 | 4.5 | join_association_path_expression ::=
join_collection_valued_path_expression |
join_single_valued_path_expression |
TREAT(join_collection_valued_path_expression AS
subtype)
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:778 | 4 | 4.5 | join_spec::= [ LEFT [OUTER] | INNER ] JOIN
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:774.1 | 4 | 4.5 | join_condition ::= ON conditional_expression
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:779 | 4 | 4.5.1 | The syntax for the inner join operation is: [ INNER ]
JOIN join_association_path_expression
[AS] identification_variable [join_condition]
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1613 | 4 | 4.5.1 |
The keyword INNER may optionally be used
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1614 | 4 | 4.5.1 |
A join condition may be specified for an inner join. This is
equivalent to specification of the same
condition in the WHERE clause.
| true |
| 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 join_association_path_expression [AS]
identification_variable [join_condition]
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1615 | 4 | 4.5.2 |
An outer join without a specified join condition has an implicit
join condition over the foreign key
relationship corresponding to the
join_association_path_expression.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1616 | 4 | 4.5.2 |
An outer join with an explicit ON condition would cause an
additional specified join condition to be
added to the generated SQL:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:781 | 4 | 4.5.3 |
A FETCH JOIN enables the fetching of an association or element
collection as a side effect of the
execution of a query. The syntax for a fetch join is fetch_join
::= [ LEFT [OUTER] | INNER ] JOIN FETCH
join_association_path_expression
| true |
| 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 or element
collection that is referenced from an entity or embeddable that
is returned as a result of the query. It
is not permitted to specify an identification variable for the
objects referenced by the right side of
the FETCH JOIN clause, and hence references to the implicitly
fetched entities or elements cannot appear
elsewhere in the query.
| true |
| 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 or embeddable
class abstract schema type.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1617 | 4 | 4.6 |
collection_member_declaration ::= IN
(collection_valued_path_expression) [AS] identification_variable
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1618 | 4 | 4.7 |
The Java Persistence query language treats the FROM clause
similarly to SQL in that the declared
identification
variables affect the results of the query even if they are not
used in the WHERE clause.
| true |
| 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 it
explicitly refers but instances of
subclasses of those classes as well. The instances returned by a
query thus include instances of the
subclasses that satisfy the query criteria.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1619 | 4 | 4.8 |
Non-polymorphic queries or queries whose polymorphism is
restricted can be specified using entity
type expressions in the WHERE clause to restrict the domain of
the query.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1620 | 4 | 4.9 |
The use of the TREAT operator is supported for downcasting
within path expressions in the FROM and
WHERE clauses.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1621 | 4 | 4.9 |
If during query execution the first argument to the TREAT
operator is not a subtype (proper or
improper) of the target type, the path is considered to have no
value, and does not participate in the
determination of the result. That is, in the case of a join, the
referenced object does not participate
in the
result, and in the case of a restriction, the associated
predicate is false.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1622 | 4 | 4.9 |
If the target type is not a subtype (proper or improper) of the
static type of the first argument,
the query is invalid.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:785 | 4 | 5 | The WHERE clause restricts the result of a select
statement or the scope of an update or
delete operation. A WHERE clause is defined as follows:
where_clause ::= WHERE conditional_expression
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1623 | 4 | 5 |
The GROUP BY construct enables the aggregation of values
according to the properties of an entity class
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1624 | 4 | 5 |
The HAVING construct enables conditions to be specified that
further restrict the query result as
restrictions upon the groups. The syntax of the HAVING clause is
as follows: having_clause ::= HAVING
conditional_expression
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:330 | 4 | 6.1 |
A string literal is enclosed in single quotes—for example:
‘literal’. A string literal that includes a
single quote is represented by two single quotes—for example:
‘literal’’s’. String literals in queries,
like Java String literals, use unicode character encoding.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1625 | 4 | 6.1 | The use of Java escape notation is not supported in
query string literals.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1626 | 4 | 6.1 |
Exact numeric literals support the use of Java integer literal
syntax as well as SQL exact numeric
literal syntax.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1627 | 4 | 6.1 |
Approximate literals support the use Java floating point literal
syntax as well as SQL approximate
numeric literal syntax.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1628 | 4 | 6.1 |
Appropriate suffixes can be used to indicate the specific type
of a numeric literal in accordance with
the
Java Language Specification.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1629 | 4 | 6.1 |
Support for the use of hexadecimal and octal numeric literals is
not required by this specification.
| false |
| false | technology | active | true |
PERSISTENCE:SPEC:1630 | 4 | 6.1 |
Enum literals support the use of Java enum literal syntax. The
fully qualified enum class name must be
specified.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1631 | 4 | 6.1 |
The JDBC escape syntax may be used for the specification of
date, time, and timestamp literals. The
portability of this syntax for date, time, and timestamp
literals is dependent upon the JDBC driver in
use. Persistence providers are not required to translate from
this syntax into the native syntax of the
database or driver.
| false |
| false | technology | active | true |
PERSISTENCE:SPEC:334 | 4 | 6.1 | The boolean literals are TRUE and FALSE. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1632 | 4 | 6.1 | Entity type literals are specified by entity names
| 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 | removed | 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: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, in a
collection_member_expression, or as an argument to the SIZE
operator.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1634 | 4 | 6.4 | Either positional or named parameters may be used.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1635 | 4 | 6.4 | Positional and named parameters must not be mixed in a
single query.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1636 | 4 | 6.4 | Input parameters can only be used in the WHERE clause
or HAVING clause of a query or as the new
value for an update item in the SET clause of an update
statement.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:342 | 4 | 6.4 | Note that if an input parameter value is null,
comparison operations involving the input
parameter will return an unknown value.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:343 | 4 | 6.4 | Note that if an input parameter value is null,
arithmetic operations involving the input
parameter will return an unknown value.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1637 | 4 | 6.4 | All input parameters must be single-valued, except in
IN expressions
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1638 | 4 | 6.4.1 | Input parameters are designated by the question mark
(?) prefix followed by an integer.
| 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:1639 | 4 | 6.4.1 | The same parameter can be used more than once in the
query string.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1640 | 4 | 6.4.1 | The ordering of the use of parameters within the query
string need not conform to the order of
the positional parameters.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:789 | 4 | 6.4.2 | A named parameter is denoted by an identifier that is
prefixed by the ":" symbol.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1641 | 4 | 6.4.2 | Named parameters are case sensitive. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1642 | 4 | 6.4.2 | The same named parameter can be used more than once in
the query string.
| 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 and boolean input
parameters.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:347 | 4 | 6.7 |
Arithmetic expressions can be used in comparison expressions.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:1643 | 4 | 6.5 |
The scalar expressions can be used in conditional expressions
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1644 | 4 | 6.5 |
Aggregate functions can only be used in conditional expressions
in a HAVING clause.
| 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:1645 | 4 | 6.5 |
Conditional expressions are defined as follows:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1645.1 | 4 | 6.5 | conditional_expression ::= conditional_term |
conditional_expression OR
conditional_term
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1645.2 | 4 | 6.5 | conditional_term ::= conditional_factor |
conditional_term AND conditional_factor
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1645.3 | 4 | 6.5 | conditional_factor ::= [ NOT ]
conditional_primary
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1645.4 | 4 | 6.5 | conditional_primary ::= simple_cond_expression
| (conditional_expression)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1645.5 | 4 | 6.5 |
simple_cond_expression ::= comparison_expression |
between_expression | in_expression |
like_expression | null_comparison_expression |
empty_collection_comparison_expression |
collection_member_expression | exists_expression
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:348 | 4 | 6.6 |
operators are listed below in order of decreasing 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 and division
+, - addition and subtraction
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:348.3 | 4 | 6.6 | Comparison operators : =, >, >=,<,<=,
<>, (not equal), [NOT] BETWEEN, [NOT] LIKE,
[NOT] IN, IS [NOT] NULL, IS [NOT] EMPTY, [NOT] MEMBER
[OF], [NOT] EXISTS
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:348.4 | 4 | 6.6 | Logical operators: NOT AND OR | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1646 | 4 | 6.7 |
The syntax for the use of comparison expressions in a
conditional expression is as follows
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1646.1 | 4 | 6.7 |
comparison_expression ::=
string_expression comparison_operator {string_expression
| all_or_any_expression} |
boolean_expression { =|
<>
} {boolean_expression | all_or_any_expression} |
enum_expression { =|<>} {enum_expression |
all_or_any_expression} |
datetime_expression comparison_operator
{datetime_expression | all_or_any_expression} |
entity_expression { = |<>} {entity_expression |
all_or_any_expression} |
arithmetic_expression comparison_operator
{arithmetic_expression | all_or_any_expression} |
entity_type_expression { = |<>}
entity_type_expression}
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1646.2 | 4 | 6.7 |
comparison_operator ::= = | > | >= | < | <=
| <>
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:349 | 4 | 6.8 |
The syntax for the use of the comparison operator [NOT] BETWEEN
in a conditional expression is as
follows: arithmetic_expression [NOT] BETWEEN arithmetic-expr AND
arithmetic-expr
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:349.1 | 4 | 6.8 |
string_expression [NOT] BETWEEN string-expression AND
string-expression
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:349.2 | 4 | 6.8 |
datetime_expression [NOT] BETWEEN datetime-expression
AND datetime-expression
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:350 | 4 | 6.8 |
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:1647 | 4 | 6.8 |
The rules for unknown and NULL values in comparison operations
apply.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:352 | 4 | 6.9 |
in_expression ::=
{state_valued_path_expression | type_discriminator} [NOT] IN
{ ( in_item {, in_item}* ) | (subquery) |
collection_valued_input_parameter }
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1648 | 4 | 6.9 |
in_item ::= literal | single_valued_input_parameter
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1649 | 4 | 6.9 |
The state_valued_path_expression must have a string, numeric,
date, time, timestamp, or enum
value.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:352.1 | 4 | 6.9 |
The literal and/or input parameter values must be like the same
abstract schema type of the
state_valued_path_expression in type.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:352.2 | 4 | 6.9 |
The results of the subquery must be like the same abstract
schema type of the
state_valued_path_expression in type.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:353 | 4 | 6.9 |
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.9 |
The expression o.country IN ('UK', 'US', 'France') is equivalent
to the expression (o.country = 'UK') OR
(o.country = 'US') OR (o.country = 'France')
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:351 | 4 | 6.9 |
If the value of a state_valued_path_expression or in_item in an
IN or NOT IN expression is NULL or
unknown, the value of the expression is unknown.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:358 | 4 | 6.10 |
like_expression ::= string_expression [NOT] LIKE pattern_value
[ESCAPE escape_character].The
string_expression must have a string value. The pattern_value is
a string literal or a string-valued
input parameter in which an underscore (_) stands for any single
character, a percent (%) character
stands for any sequence of characters (including the empty
sequence), and all other characters stand for
themselves. The optional escape_character is a single-character
string literal or a character-valued
input parameter (i.e., char or Character) and is used to escape
the special meaning of the underscore
and percent characters in pattern_value.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:356 | 4 | 6.10 |
If the value of the string_expression or pattern_value is NULL
or unknown, the value of the LIKE
expression is unknown.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:357 | 4 | 6.10 |
If the escape_character is specified and is NULL, the value of
the LIKE expression is unknown.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:359 | 4 | 6.11 |
null_comparison_expression ::= {single_valued_path_expression |
input_parameter } IS [NOT] NULL. A null
comparison expression tests whether or not the single-valued
path expression or input parameter
is a NULL value.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1650 | 4 | 6.11 |
Null comparisons over instances of embeddable class types are
not supported.
| false |
| false | technology | active | true |
PERSISTENCE:SPEC:361 | 4 | 6.12 |
empty_collection_comparison_expression ::=
collection_valued_path_expression IS [NOT] EMPTY
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:362 | 4 | 6.12 |
If the value of the collection-valued path expression in an
empty collection comparison expression is
unknown, the value of the empty comparison expression is
unknown.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:363 | 4 | 6.13 |
collection_member_expression ::= entity_or_value_expression
[NOT] MEMBER [OF]
collection_valued_path_expression
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:363.1 | 4 | 6.13 |
entity_or_value_expression ::=
single_valued_object_path_expression |
state_valued_path_expression |
simple_entity_or_value_expression
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:363.2 | 4 | 6.13 |
simple_entity_or_value_expression ::= identification_variable |
input_parameter | literal
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1651 | 4 | 6.13 |
Expressions that evaluate to embeddable types are not supported
in collection member expressions.
| false |
| false | technology | active | true |
PERSISTENCE:SPEC:365 | 4 | 6.13 |
If the collection valued path expression designates an empty
collection, the value of the MEMBER OF
expression is FALSE and the value of the NOT MEMBER OF
expression is TRUE.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:364 | 4 | 6.13 |
if the value of the collection_valued_path_expression or
entity_or_value_expression in the collection
member expression is NULL or unknown, the value of the
collection member expression is unknown.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:791 | 4 | 6.14 | 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.14 | exists_expression::= [NOT] EXISTS (subquery)
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:793 | 4 | 6.15 | An ALL conditional expression is a predicate over a
subquery that is true if the comparison
operation is true for all values in the result of the subquery
or the result of the subquery is empty.
An ALL conditional
expression is false if the result of the comparison is false for
at least one value of the result of the
subquery, and is unknown if neither true nor false.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:794 | 4 | 6.15 | An ANY conditional expression is a predicate over a
subquery that is true if the comparison
operation is true for some value in the result of the subquery.
An ANY conditional expression is false
if the result of
the subquery is empty or if the comparison operation is false
for every value in the result of the
subquery,
and is unknown if neither true nor false.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:795 | 4 | 6.15 | The keyword SOME is synonymous with ANY. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:797 | 4 | 6.15 | 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.15 | all_or_any_expression ::= {ALL | ANY | SOME} (subquery)
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:799 | 4 | 6.16 | Subqueries may be used in the WHERE or HAVING clause.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:800 | 4 | 6.16 | The syntax for subqueries is as follows. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:801 | 4 | 6.16 | subquery ::= simple_select_clause
subquery_from_clause [where_clause]
[groupby_clause]
[having_clause]
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:802 | 4 | 6.16 | simple_select_clause ::= SELECT [DISTINCT]
simple_select_expression
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:800.1 | 4 | 6.16 |
subquery_from_clause ::= FROM
subselect_identification_variable_declaration
{,subselect_identification_variable_declaration |
collection_member_declaration }*
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:800.2 | 4 | 6.16 |
subselect_identification_variable_declaration ::=
identification_variable_declaration |
derived_path_expression [AS] identification_variable
{join}* |
derived_collection_member_declaration
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:800.3 | 4 | 6.16 |
simple_select_expression::=
single_valued_path_expression | scalar_expression |
aggregate_expression | identification_variable
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:800.4 | 4 | 6.16 |
derived_path_expression ::=
general_derived_path.single_valued_object_field |
general_derived_path.collection_valued_field
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:800.5 | 4 | 6.16 |
general_derived_path ::= simple_derived_path |
treated_derived_path{.single_valued_object_field}*
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:800.6 | 4 | 6.16 |
simple_derived_path ::=
superquery_identification_variable{.single_valued_object_field}*
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:800.7 | 4 | 6.16 | treated_derived_path ::=
TREAT(general_derived_path AS subtype)
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:800.8 | 4 | 6.16 |
derived_collection_member_declaration ::= IN
superquery_identification_variable.{single_valued_object_field.}*collection_valued_field
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:2512 | 4 | 6.17 |
scalar_expression::=
arithmetic_expression |
string_expression |
enum_expression |
datetime_expression |
boolean_expression |
case_expression |
entity_type_expression
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1652 | 4 | 6.17.1 |
+, - unary
*, / multiplication and division
+, - addition and subtraction
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:344 | 4 | 6.17.1 | Arithmetic operations use numeric promotion.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1653 | 4 | 6.17.2 |
The Java Persistence query language includes the built-in
functions which may be used in the SELECT,
WHERE or HAVING clause of a query.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:367 | 4 | 6.17.2 |
If the value of any argument to a functional expression is NULL
or UNKNOWN, the value of the functional
expression is UNKNOWN.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:369 | 4 | 6.17.2.1 | String Functions | true |
| false | technology | active | true |
PERSISTENCE:SPEC:369.1 | 4 | 6.17.2.1 |
functions_returning_strings ::=
CONCAT(string_expression, string_expression {,
string_expression}* ). The CONCAT function returns a
string that is
a
concatenation of its arguments.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:369.2 | 4 | 6.17.2.1 |
SUBSTRING(string_expression, arithmetic_expression [,
arithmetic_expression]). The second
and
third arguments of the SUBSTRING function denote the
starting position and length of the
substring to be returned. These arguments are integers.
The third argument is optional. If
it is
not specified, the substring from the start position to
the end of the string is returned.
The
first position of a string is denoted by 1. The
SUBSTRING function returns a string.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:369.9 | 4 | 6.17.2.1 | trim_specification ::= LEADING | TRAILING |
BOTH. The TRIM function trims the
specified
character from a string. If the character to be trimmed
is not
specified, it will be assumed to be space (or blank).
The optional trim_character is a
single-character
string literal or a character-valued input parameter
(i.e., char or Character). If a trim
specification
is not provided, it defaults to BOTH. The TRIM function
returns the trimmed string. Note
that
not all
databases support the use of a trim character other than
the space character;
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:369.10 | 4 | 6.17.2.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.17.2.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 | 4 | 6.17.2.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.3 | 4 | 6.17.2.1 |
LOCATE(string_expression, string_expression[,
arithmetic_expression]). The LOCATE function
returns the position of a given string within a string,
starting the search at a
specified
position. It returns the first position at which the
string was found as an integer. The
first
argument
is the string to be located; the second argument is the
string to be searched; the optional
third
argument
is an integer that represents the string position at
which the search is started (by
default,
the
beginning of
the string to be searched). The first position in a
string is denoted by 1. If the string is
not
found,
0 is
returned. Note that not all databases support the use of
the third argument to LOCATE
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:368 | 4 | 6.17.2.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:369.5 | 4 | 6.17.2.2 |
ABS(arithmetic_expression). The ABS function takes a numeric
argument and returns a number (integer,
float, double) of the same type as the argument to the function.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:369.6 | 4 | 6.17.2.2 |
SQRT(arithmetic_expression). The SQRT function takes a numeric
argument and returns a double.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:369.7 | 4 | 6.17.2.2 |
MOD(arithmetic_expression, arithmetic_expression). The MOD
function takes two integer arguments and
returns an integer.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:369.8 | 4 | 6.17.2.2 |
SIZE(collection_valued_path_expression). The SIZE function
returns an integer value, the number of
elements of the collection. If the collection is empty, the SIZE
function evaluates to zero.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1654 | 4 | 6.17.2.2 |
INDEX(identification_variable). The INDEX function returns an
integer value corresponding to the
position of its argument in an ordered list. The INDEX function
can only be applied to identification
variables denoting types for which an order column has been
specified.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1655 | 4 | 6.17.2.3 |
functions_returning_datetime:= CURRENT_DATE | CURRENT_TIME |
CURRENT_TIMESTAMP. The datetime functions
return the value of current date, time, and timestamp on the
database server.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1656 | 4 | 6.17.3 |
The invocation of functions other than the built-in functions of
the Java Persistence query language is
supported by means of the function_invocation syntax. This
includes the invocation of predefined
database
functions and user-defined database functions.
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:1656.1 | 4 | 6.17.3 |
function_invocation::= FUNCTION(function_name {,
function_arg}*)
function_arg ::= literal | state_valued_path_expression
| input_parameter |
scalar_expression
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:1656.2 | 4 | 6.17.3 |
The function_name argument is a string that denotes the
database function that is to be
invoked.
The
arguments must be suitable for the database function
that is to be invoked. The result of
the
function
must be suitable for the invocation context.
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:1656.3 | 4 | 6.17.3 |
The function may be a database-defined function or a
user-defined function. The function may
be
a scalar
function or an aggregate function.
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:1657 | 4 | 6.17.4 |
The following forms of case expressions are supported: general
case expressions, simple case
expressions,
coalesce expressions, and nullif expressions. Note that not all
databases support the use of SQL case
expressions.
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:1657.1 | 4 | 6.17.4 |
general_case_expression::=
CASE when_clause {when_clause}* ELSE scalar_expression
END
when_clause::= WHEN conditional_expression THEN
scalar_expression
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:1657.2 | 4 | 6.17.4 |
simple_case_expression::=
CASE case_operand simple_when_clause
{simple_when_clause}*
ELSE scalar_expression
END
case_operand::= state_valued_path_expression |
type_discriminator
simple_when_clause::= WHEN scalar_expression THEN
scalar_expression
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:1657.3 | 4 | 6.17.4 |
coalesce_expression::= COALESCE(scalar_expression {,
scalar_expression}+)
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:1657.4 | 4 | 6.17.4 |
nullif_expression::= NULLIF(scalar_expression,
scalar_expression)
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:1658 | 4 | 6.17.5 |
An entity type expression can be used to restrict query
polymorphism. The TYPE operator returns the
exact type of the argument.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1659 | 4 | 6.17.5 | The syntax of an entity type expression is as
follows:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1659.1 | 4 | 6.17.5 | type_discriminator.
TYPE(general_identification_variable |
single_valued_object_path_expression
| input_parameter )
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1659.2 | 4 | 6.17.5 | entity_type_literal. An entity_type_literal is
designated by the entity name.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1659.3 | 4 | 6.17.5 | input_parameter | 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 ::= single_valued_path_expression
| identification_variable
| 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 clause causes those groups to be retained that satisfy
the condition of the HAVING clause.
| true |
| false | technology | active | true |
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:1660 | 4 | 7 |
Grouping by an entity is permitted. In this case, the entity
must contain no serialized state fields or
lob-valued state fields that are eagerly fetched.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1661 | 4 | 7 |
Grouping by an entity that contains serialized state fields
or lob-valued state fields is not portable, since the
implementation is permitted to eagerly fetch
fields or
properties that have been specified as LAZY.
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:1662 | 4 | 7 | Grouping by embeddables is not supported. | true |
| true | technology | active | false |
PERSISTENCE:SPEC:1663 | 4 | 7 |
The HAVING clause is used to filter over the groups, and can
contain aggregate functions over
attributes included in the groups and/or functions or other
query language operators over the attributes
that are used for grouping. It is not required that an aggregate
function used in the HAVING clause also
be used in the SELECT clause.
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:809 | 4 | 7 | If there is no GROUP BY clause and the HAVING clause is
used, the result is treated as a single
group, and the select list can only consist of aggregate
functions. The use of HAVING in the absence of
GROUP BY is not required to be supported by an implementation of
this specification. Portable
applications should not rely on HAVING without the use of GROUP
BY
| true |
| true | technology | active | false |
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.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 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_item
{, select_item}*
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:816 | 4 | 8 | select_expression ::=
{single_valued_path_expression | scalar_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(constructor_item
{,single_valued_path_expression | scalar_expression |
aggregate_expression |
identification_variable}*)
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:814.1 | 4 | 8 | constructor_item ::=
single_valued_path_expression | scalar_expression |
aggregate_expression | identification_variable
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:818 | 4 | 8 | aggregate_expression ::= {AVG | MAX | MIN |
SUM}([DISTINCT]
state_valued_path_expression) | COUNT ([DISTINCT]
identification_variable |
state_valued_path_expression |
single_valued_object_path_expression)
| 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:1664 | 4 | 8 | If DISTINCT is not specified, duplicate values are not
eliminated.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1665 | 4 | 8 | The result of DISTINCT over embeddable objects or map
entry results is undefined.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:373 | 4 | 8 |
Standalone identification variables in the SELECT clause may
optionally be qualified by the OBJECT
operator. Note that the keyword OBJECT is not required. It is
preferred that it be omitted for new
queries.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1666 | 4 | 8 | A result_variable may be used to name a select_item in
the query result
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1667 | 4 | 8 |
The SELECT clause must not use the OBJECT operator to qualify
path expressions.
| true |
| false | technology | active | true |
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 a scalar expression, 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 type of the SELECT clause is defined by the the
result types of the select expressions
contained
in it. When multiple select expressions are used in the SELECT
clause, the elements in this result
correspond in order to the order of their specification in the
SELECT clause and in type to the result
types of each of the select expressions.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1668 | 4 | 8.1 | The type of the result of a select_expression is as
follows:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:394 | 4 | 8.1 |
The result type of an identification_variable is the
type of the entity object or embeddable
object to which the identification variable corresponds.
The type of an
identification_variable
that refers to an entity abstract schema type is the
type of the entity to which that
identification
variable corresponds or a subtype as determined by the
object/relational mapping.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:409 | 4 | 8.1 | The result type of a
single_valued_path_expression that is a
state_field_path_expression is the same type as the
corresponding state field of the entity
or
embeddable class. If the state field of the entity is a
primitive type, the result type is
the
corresponding
object type.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:410 | 4 | 8.1 |
The result type is a single_valued_path_expression that
is a
single_valued_object_path_expression is the type of the
entity object or embeddable object
to
which the
path expression corresponds. A
single_valued_object_path_expression that results in an
entity
object
will result in an entity of the type of the relationship
field or the subtype of the
relationship field
of the entity object as determined by the
object/relational mapping.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1668.1 | 4 | 8.1 |
The result type of a single_valued_path_expression that
is an identification_variable to
which the KEY or VALUE function has been applied is
determined by the type of the map key
or value respectively, as defined by the above rules.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1668.2 | 4 | 8.1 |
The result type of a single_valued_path_expression that
is an identification_variable to
which the ENTRY function has been applied is
java.util.Map.Entry, where the key
and value types of the map entry are determined by the
above rules as applied to the map key
and map value respectively.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1668.3 | 4 | 8.1 |
The result type of a scalar_expression is the type of
the scalar value to which the
expression
evaluates. The result type of a numeric
scalar_expression is defined in section 4.8.6.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1668.4 | 4 | 8.1 |
The result type of an entity_type_expression scalar
expression is the Java class to which
the
resulting abstract schema type corresponds.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1668.5 | 4 | 8.1 |
The result type of aggregate_expression is defined in
section 4.8.5.
| 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 may be used in the SELECT list to return
an instance of a Java
class. The specified class is not required to be an entity or to
be mapped to the database.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1669 | 4 | 8.2 | The constructor name must be fully qualified.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:820 | 4 | 8.2 | If an entity class name is specified as the constructor
name in the SELECT NEW clause, the
resulting entity instances will be in either the new or the
detached state, depending on whether a
primary key is retrieved for the constructed object.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1670 | 4 | 8.2 |
If a single_valued_path_expression or identification_variable
that is an argument to the constructor
references an entity, the resulting entity instance referenced
by that single_valued_path_expression
or identification_variable will be in the managed state.
| true |
| 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.3 |
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.3 |
Note, however, that state field types in terms of Java numeric
primitive types cannot produce NULL
values in the query results. An query that returns such a state
field type as a result type must not
return a null value.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1671 | 4 | 8.4 |
If the result of a query corresponds to an identification
variable or state field whose value is an
embeddable, the embeddable instance returned by the query will
not be in the managed state (i.e., it
will
not be part of the state of any managed entity).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1672 | 4 | 8.5 |
The following aggregate functions can be used in the SELECT
clause of a query:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:380 | 4 | 8.5 | AVG | true |
| false | technology | active | true |
PERSISTENCE:SPEC:384 | 4 | 8.5 | COUNT | true |
| false | technology | active | true |
PERSISTENCE:SPEC:382 | 4 | 8.5 | MAX | true |
| false | technology | active | true |
PERSISTENCE:SPEC:381 | 4 | 8.5 | MIN | true |
| false | technology | active | true |
PERSISTENCE:SPEC:383 | 4 | 8.5 | SUM | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1672.1 | 4 | 8.5 | aggregate functions defined in the database.
The invocation of aggregate database
functions, including user defined functions, is
supported by means
of the FUNCTION operator
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:1673 | 4 | 8.5 |
For all aggregate functions except COUNT, the path expression
that is the argument to the aggregate
function must terminate in a state field.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:389 | 4 | 8.5 |
The path expression argument to COUNT may terminate in a state
field.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:390 | 4 | 8.5 |
The path expression argument to COUNT may terminate in a
association field.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:391 | 4 | 8.5 |
The argument to COUNT may be an identification variable.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:821 | 4 | 8.5 | Arguments to the functions SUM and AVG must be
numeric.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:822 | 4 | 8.5 | 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.5 | The Java type that is contained in the result of a
query using an aggregate function is as
follows:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:824 | 4 | 8.5 | COUNT returns long | true |
| false | technology | active | true |
PERSISTENCE:SPEC:825 | 4 | 8.5 | MAX, MIN return the type of the state field to
which they are applied
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:826 | 4 | 8.5 | AVG returns Double | true |
| false | technology | active | true |
PERSISTENCE:SPEC:827 | 4 | 8.5 | 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:393 | 4 | 8.5 |
Null values are eliminated before the aggregate function is
applied regardless whether the keyword
DISTINCT is specified.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:828 | 4 | 8.5 | 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.5 | 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.5 |
The argument to an aggregate function may be preceded by the
keyword DISTINCT to specify that duplicate
values are to be eliminated before the aggregate function is
applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1674 | 4 | 8.5 |
It is legal to specify DISTINCT with MAX or MIN, but it does not
affect the result.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1675 | 4 | 8.5 |
The use of DISTINCT with COUNT is not supported for arguments of
embeddable types or map entry
types.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1676 | 4 | 8.6 |
An operand that corresponds to a persistent state field is of
the same type as that persistent state
field.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1677 | 4 | 8.6 |
The result of a case expression, coalesce expression, nullif
expression, or arithmetic expression
(+, -,*,/) is determined by applying the following rule to its
operands. In the case of a general or
simple case expression, these are the scalar expressions of the
THEN and ELSE clauses.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1677.1 | 4 | 8.6 | If there is an operand of type Double or
double, the result of the operation is of
type
Double;
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1677.2 | 4 | 8.6 | otherwise, if there is an operand of type Float
or float, the result of the
operation
is of type Float;
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1677.3 | 4 | 8.6 | otherwise, if there is an operand of type
BigDecimal, the result of the operation
is of
type BigDecimal;
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1677.4 | 4 | 8.6 | otherwise, if there is an operand of type
BigInteger, the result of the operation
is
of type BigInteger, unless the operator is / (division),
in which case the numeric result
type
is not further defined;
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1677.5 | 4 | 8.6 | otherwise, if there is an operand of type Long
or long, the result of the operation
is
of type Long, unless the operator is / (division), in
which case the numeric result type is
not
further defined;
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1677.6 | 4 | 8.6 | otherwise, if there is an operand of integral
type, the result of the operation is
of
type Integer, unless the operator is / (division), in
which case the numeric result type is
not
further defined.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1678 | 4 | 8.6 |
Users should note that the semantics of the SQL division
operation are not standard across
databases. In particular, when both operands are of integral
types, the result of the division
operation will be an integral type in some databases, and an
non-integral type in others. Portable
applications should not assume a particular result type.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1679 | 4 | 9 |
orderby_clause ::= ORDER BY orderby_item {, orderby_item}*
orderby_item ::= { state_field_path_expression |
general_identification_variable | result_variable }
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:399 | 4 | 9 |
An orderby_item MUST be one of the following
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:399.1 | 4 | 9 |
A state_field_path_expression that evaluates to an
orderable state field of an entity or
embeddable class abstract schema type designated in the
SELECT clause
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:399.4 | 4 | 9 | a general_identification_variable | true |
| false | technology | active | true |
PERSISTENCE:SPEC:399.5 | 4 | 9 | a single_valued_object_path_expression
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:399.3 | 4 | 9 |
A state_field_path_expression that evaluates to the same
state field of the same entity or
embeddable abstract schema type as a
state_field_path_expression in the SELECT clause
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:399.6 | 4 | 9 |
A general_identification_variable that evaluates to the
same map field of the same entity or
embeddable abstract schema type as a
general_identification_variable in the SELECT clause
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:399.7 | 4 | 9 |
A result_variable that refers to an orderable item in
the SELECT clause for which the same
result_variable has been specified. This may be the
result of an aggregate_expression, a
scalar_expression, or a state_field_path_expression in
the SELECT clause.
| true |
| 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.
Ascending ordering is the 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 after 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: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 entity_name [[AS]
identification_variable]
SET update_item {, update_item}*
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:839 | 4 | 10 | update_item
::=[identification_variable.]{single_valued_embeddable_object_field.}*
{state_field | single_valued_object_field} = new_value
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:836.1 | 4 | 10 | new_value ::= scalar_expression |
simple_entity_expression | NULL
| 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 entity_name [[AS]
identification_variable]
| 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:1680 | 4 | 10 |
The new_value specified for an update operation must be
compatible in type with the field to which it
is assigned.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1681 | 4 | 10 |
Bulk update maps directly to a database update operation,
bypassing optimistic locking checks. Portable
applications must manually update the value of the version
column, if desired, and/or manually validate
the value of the version column.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1682 | 4 | 10 |
The persistence context is not synchronized with the result of
the bulk update or delete.
| 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:415 | 4 | 11 |
Two NULL values are not considered to be equal, the comparison
yield an UNKNOWN value.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:417 | 4 | 11 |
Comparison operations with an UNKNOWN value always yield an
UNKNOWN value.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:418 | 4 | 11 |
Arithmetic operators with a NULL value always yield an UNKNOWN
value.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:419 | 4 | 11 |
Arithmetic operators with an UNKNOWN value always yield an
UNKNOWN value.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1683 | 4 | 11 |
The IS NULL operators convert a NULL state field into the
respective TRUE or FALSE value.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1684 | 4 | 11 |
The IS NULL operators convert a NULL single-valued object field
into the respective TRUE or FALSE
| 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 object
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 1: Definition of
the AND Operator
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:425 | 4 | 11 |
Boolean operators use three valued logic: Table 2: Definition of
the OR Operator
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:426 | 4 | 11 |
Boolean operators use three valued logic: Table 3: Definition of
the NOT Operator
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:430 | 4 | 12 |
Only the values of like types are permitted to be compared. A
type is like another type if they
correspond
to the same Java language type, or if one is a primitive Java
language type and the other is the
wrappered Java class type equivalent (e.g., int and Integer are
like types in this sense).
There is one exception to this rule: it is valid to compare
numeric values for which the rules of
numeric promotion apply. Conditional expressions attempting to
compare non-like type values are
disallowed except for
this numeric case.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1685 | 4 | 12 |
Note that the arithmetic operators and comparison operators are
permitted to be applied to
state fields and input parameters of the wrappered Java class
equivalents to the primitive
numeric Java types.
| true |
| 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:1686 | 6 | 2.1.1 |
For each managed class X in package p, a metamodel class X_ in
package p is created.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1687 | 6 | 2.1.1 |
The name of the metamodel class is derived from the name of the
managed class by appending "_" to the
name of the managed class.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1688 | 6 | 2.1.1 |
The metamodel class X_ must be annotated with the
javax.persistence.StaticMetamodel annotation.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1689 | 6 | 2.1.1 |
If the class was generated, the javax.annotation.Generated
annotation should be used to annotate the
class.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1690 | 6 | 2.1.1 |
If class X extends another class S, where S is the most derived
managed class (i.e., entity or
mapped superclass) extended by X, then class X_ must extend
class S_, where S_ is the metamodel
class created for S.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1691 | 6 | 2.1.1 |
For every persistent non-collection-valued attribute y declared
by class X, where the type of y
is Y, the metamodel class must contain a declaration as follows:
public static volatile SingularAttribute<X, Y> y;
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1692 | 6 | 2.1.1 |
For every persistent collection-valued attribute z declared by
class X, where the element type
of z is Z, the metamodel class must contain a declaration as
follows:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1692.1 | 6 | 2.1.1 |
if the collection type of z is java.util.Collection,
then
public static volatile CollectionAttribute<X, Z>
z;
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1692.2 | 6 | 2.1.1 |
if the collection type of z is java.util.Set, then
public static volatile SetAttribute<X, Z> z;
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1692.3 | 6 | 2.1.1 |
if the collection type of z is java.util.List, then
public static volatile ListAttribute<X, Z> z;
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1692.4 | 6 | 2.1.1 |
if the collection type of z is java.util.Map, then
public static volatile MapAttribute<X, K, Z> z;
where K is the type of the key of the map in class X
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1693 | 6 | 2.1.1 |
Import statements must be included for the needed
javax.persistence.metamodel types as
appropriate
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1693.1 | 6 | 2.1.1 |
javax.persistence.metamodel.SingularAttribute
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1693.2 | 6 | 2.1.1 |
javax.persistence.metamodel.CollectionAttribute
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1693.3 | 6 | 2.1.1 |
javax.persistence.metamodel.SetAttribute
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1693.4 | 6 | 2.1.1 |
javax.persistence.metamodel.ListAttribute
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1693.5 | 6 | 2.1.1 |
javax.persistence.metamodel.MapAttribute
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1693.6 | 6 | 2.1.1 |
all classes X, Y, Z, and K.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1694 | 6 | 2.1.1 |
Implementations of this specification are not required to
support the use of non-canonical
metamodel classes. Applications that use non-canonical metamodel
classes will not be portable.
| false |
| true | technology | active | false |
PERSISTENCE:SPEC:1695 | 6 | 2.2 |
When the entity manager factory for a persistence unit is
created, it is the responsibility of the
persistence
provider to initialize the state of the metamodel classes of the
persistence unit.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1696 | 6 | 2.2 | Persistence providers must support the use of canonical
metamodel classes.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1697 | 6 | 2.2 | Persistence providers may, but are not required to,
support the use of non-canonical metamodel
classes.
| false |
| true | technology | active | false |
PERSISTENCE:SPEC:1698 | 6 | 4 | Strings may be used as an alternative to metamodel
objects, whereby joins and navigation are
specified by use of strings that correspond to attribute names.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1700 | 6 | 5 |
A criteria query is constructed through the creation and
modification of a javax.persistence.
criteria.CriteriaQuery object.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1701 | 6 | 5 |
The CriteriaBuilder interface is used to construct
CriteriaQuery, CriteriaUpdate, and CriteriaDelete
objects.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1702 | 6 | 5 |
The CriteriaBuilder implementation is accessed through the
getCriteriaBuilder method of the
EntityManager or EntityManagerFactory interface.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1703 | 6 | 5.1 |
A CriteriaQuery object is created by means of one of the
createQuery methods or the createTupleQuery
method of the CriteriaBuilder interface.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1704 | 6 | 5.1 |
A CriteriaQuery object is typed according to its expected result
type when the CriteriaQuery object is
created.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1705 | 6 | 5.1 |
A TypedQuery instance created from the CriteriaQuery object by
means of the EntityManager createQuery
method will result in instances of this type when the resulting
query is executed.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1706 | 6 | 5.1 |
The effect of the createTupleQuery method is semantically
equivalent to invoking the createQuery method
with the Tuple.class argument.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1707 | 6 | 5.1 |
The CriteriaQuery
<Object>
createQuery() method supports both the case where the select or
multiselect method specifies only a
single selection item and where the multiselect method specifies
multiple selection items.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1708 | 6 | 5.1 |
If only a single item is specified, an instance of type Object
will be returned for each result of the
query execution.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1709 | 6 | 5.1 |
If multiple selection items are specified, an instance of type
Object[] will be instantiated and
returned for each result of the execution
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1711 | 6 | 5.2 |
A CriteriaQuery object may have more than one root. The addition
of a query root has the semantic effect
of creating a
cartesian product between the entity type referenced by the
added root and those of the other roots.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1712 | 6 | 5.3 |
Joins can be chained,
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1713 | 6 | 5.3 | By default, the join method defines an inner join.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1714 | 6 | 5.3 | Outer joins are defined by specifying a JoinType
argument.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1715 | 6 | 5.3 | Only left outer joins and left outer fetch joins are
required to be supported
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1716 | 6 | 5.3 |
Applications that make use of right outer joins or right outer
fetch joins will not be portable.
| false |
| false | technology | active | false |
PERSISTENCE:SPEC:1717 | 6 | 5.3 | On-conditions can be specified for joins. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1718 | 6 | 5.4 |
An association or attribute referenced by the fetch method must
be referenced from an entity or
embeddable that is returned as the result of the query.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1720 | 6 | 5.4 |
The fetch method must not be used in a subquery.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1721 | 6 | 5.4 |
Multiple levels of fetch joins are not required to be supported
by an implementation of this
specification.
| false |
| false | technology | active | false |
PERSISTENCE:SPEC:1722 | 6 | 5.5 | A Path instance can be | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1722.1 | 6 | 5.5 | a Root instance | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1722.2 | 6 | 5.5 | a Join instance | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1722.3 | 6 | 5.5 | a Path instance that has been derived from
another Path instance by means of the
get
navigation method
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1722.4 | 6 | 5.5 | a Path instance derived from a map-valued
association by use of the key or value
method
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1722.5 | 6 | 5.5 | a Path instance derived from a element
collection by use of the key or value
method.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1723 | 6 | 5.5 |
if the value of a non-terminal Path
instance is null, the path is considered to have no value, and
does not participate in the determination
of
the query result.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1724 | 6 | 5.5 |
The get method is used for path navigation. The argument to the
get method is specified by the
corresponding
SingularAttribute or collection-valued attribute
(CollectionAttribute,
SetAttribute, ListAttribute, or MapAttribute) of the
corresponding metamodel class. Attribute names
serve this role for string-based queries.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1725 | 6 | 5.6 |
The result of a query can be restricted by specifying one or
more predicate conditions. Restriction
predicates
are applied to the CriteriaQuery object by means of the where
method. Invocation of the
where method results in the modification of the CriteriaQuery
object with the specified restriction(
s).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1726 | 6 | 5.6 |
The argument to the where method can be either an Expression
<Boolean>
instance or zero or more Predicate instances.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1727 | 6 | 5.6 | A predicate can be either simple or compound.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1728 | 6 | 5.6 |
A simple predicate is created by invoking
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1728.1 | 6 | 5.6 | one of the conditional methods of the
CriteriaBuilder interface
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1728.2 | 6 | 5.6 | isNull method of the Expression interface
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1728.3 | 6 | 5.6 | isNotNull method of the Expression interface
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1728.4 | 6 | 5.6 | in method of the Expression interface
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1729 | 6 | 5.6 |
Compound predicates are constructed by means of the and, or, and
not methods of the CriteriaBuilder
interface.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1730 | 6 | 5.6 | The restrictions upon the types to which conditional
operations are permitted to be applied are
the same
as the respective operators of the Java Persistence query
language as described in subsections 4.6.7
through 4.6.17.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1731 | 6 | 5.6 | The same null value semantics as described in section
4.11
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1732 | 6 | 5.6 | the subsections of section 4.6 apply | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1733 | 6 | 5.6 | The equality and comparison semantics described in
section 4.12
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1734 | 6 | 5.7 |
Downcasting by means of the treat method is supported
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1734.1 | 6 | 5.7 | in joins | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1734.2 | 6 | 5.7 | in the construction of where conditions
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1735 | 6 | 5.8 | An Expression or one of its subtypes can be used in the
construction of the query’s
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1735.1 | 6 | 5.8 | select list | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1735.2 | 6 | 5.8 | in the construction of where method
conditions
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1735.3 | 6 | 5.8 | in the construction of having method
conditions
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1736 | 6 | 5.8 | Path predicates are expressions. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1737 | 6 | 5.8 | boolean predicates are expressions. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1738 | 6 | 5.8 | The type method can only be applied to a path
expression. Its result denotes the type navigated
to by the path.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1739 | 6 | 5.8 | The index method can be applied to a ListJoin object
that corresponds to a list for which an
order column has been specified. Its result denotes the position
of the item in the list.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1740 | 6 | 5.8 | The aggregation methods avg, max, min, sum, count can
only be used in the construction of the
select list
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1741 | 6 | 5.8 | The aggregation methods avg, max, min, sum, count can
only be used in having method
conditions.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1742 | 6 | 5.8 |
The size method can be applied to a path expression that
corresponds to an association collection.
Its result denotes the number of elements in the association
collection.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1744 | 6 | 5.8 | Both simple and general case expressions are
supported.
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:1745 | 6 | 5.8.1 |
For non-numerical operands, the implementation must return the
most specific common superclass of the
types of the operands used to form the result.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1746 | 6 | 5.8.1 |
In the case of the two-argument sum, prod, diff, quot, coalesce,
and nullif methods, and the
In, Case, SimpleCase, and Coalesce builder methods, the runtime
result types will differ from
the Expression type when the latter is Number. The following
rules must be observed by the
implementation
when materializing the results of numeric expressions involving
these methods.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1746.1 | 6 | 5.8.1 | If there is an operand of type Double, the
result of the operation is of type
Double;
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1746.2 | 6 | 5.8.1 | otherwise, if there is an operand of type
Float, the result of the operation is of
type
Float;
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1746.3 | 6 | 5.8.1 | otherwise, if there is an operand of type
BigDecimal, the result of the operation
is of
type BigDecimal;
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1746.4 | 6 | 5.8.1 | otherwise, if there is an operand of type
BigInteger, the result of the operation
is of
type BigInteger, unless the method is quot, in which
case the numeric result type is not
further
defined;
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1746.5 | 6 | 5.8.1 | otherwise, if there is an operand of type Long,
the result of the operation is of
type
Long, unless the method is quot, in which case the
numeric result type is not further
defined;
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1746.6 | 6 | 5.8.1 | otherwise, if there is an operand of integral
type, the result of the operation is
of
type Integer, unless the method is quot, in which case
the numeric result type is not
further
defined.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1747 | 6 | 5.8.1 |
In particular, when both operands are of integral types, the
result of the division
operation will be an integral type in some databases, and an
non-integral type in others. Portable
applications should not assume a particular result type.
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:1748 | 6 | 5.9 |
An Expression literal instance is obtained by passing a value to
the literal method of the
CriteriaBuilder
interface.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1749 | 6 | 5.9 |
An Expression instance representing a null is created by the
nullLiteral method of the CriteriaBuilder
interface.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1750 | 6 | 5.10 |
A ParameterExpression instance is an expression that corresponds
to a parameter whose value
will be supplied before the query is executed. Parameter
expressions can only be used in the
construction
of conditional predicates.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1751 | 6 | 5.11 |
The select list of a query is specified by use of the select or
multiselect methods of the CriteriaQuery
interface. The arguments to the select and multiselect methods
are Selection
instances.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1752 | 6 | 5.11 |
The select method takes a single Selection argument, which can
be either an Expression
instance or a CompoundSelection instance.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1753 | 6 | 5.11 |
The type of the Selection item must be assignable to the defined
CriteriaQuery result type,
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1754 | 6 | 5.11 |
The construct, tuple and array methods of the CriteriaBuilder
interface are used to aggregate multiple
selection items into a CompoundSelection instance.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1755 | 6 | 5.11 |
The multiselect method also supports the specification and
aggregation of multiple selection
items. When the multiselect method is used, the aggregation of
the selection items is determined
by the result type of the CriteriaQuery object
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1756 | 6 | 5.11 |
A Selection instance passed to the construct method can be one
of the following:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1756.1 | 6 | 5.11 | An Expression instance. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1756.2 | 6 | 5.11 | A Selection instance obtained as the result of
the invocation of the
CriteriaBuilder
construct method.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1757 | 6 | 5.11 |
A Selection instance passed to the tuple method can be one of
the following:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1757.1 | 6 | 5.11 | An Expression instance. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1757.2 | 6 | 5.11 | A Selection instance obtained as the result of
the invocation of the
CriteriaBuilder
construct method.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1758 | 6 | 5.11 |
A Selection instance passed to the array method can be one of
the following:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1758.1 | 6 | 5.11 | An Expression instance. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1758.2 | 6 | 5.11 | A Selection instance obtained as the result of
the invocation of the
CriteriaBuilder
construct method.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1759 | 6 | 5.11 |
A Selection instance passed to the multiselect method can be one
of the following:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1759.1 | 6 | 5.11 | An Expression instance. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1759.2 | 6 | 5.11 | A Selection instance obtained as the result of
the invocation of the
CriteriaBuilder
construct method.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1760 | 6 | 5.11 | The distinct method of the CriteriaQuery interface is
used to specify that duplicate values
must be eliminated from the query result.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1761 | 6 | 5.11 | If the distinct method is not used or distinct(
false) is invoked on the criteria query object, duplicate values
are not eliminated.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1762 | 6 | 5.11 |
When distinct(true) is used, and the select items include
embeddable objects or map entry results, the
elimination of duplicates is undefined.
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:1763 | 6 | 5.11.1 |
The alias method of the Selection interface can be used to
assign an alias to a selection item. The
alias may then later be used to extract the corresponding item
from the query result when the query is
executed. The alias method assigns the given alias to the
Selection item. Once assigned, the alias
cannot be changed.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1764 | 6 | 5.12 | Both correlated and non-correlated subqueries can be
used in restriction predicates.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1765 | 6 | 5.12 | A subquery is constructed through the creation and
modification of a Subquery object.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1766 | 6 | 5.12 | A Subquery instance can be passed as an argument to
the
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1766.1 | 6 | 5.12 | all | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1766.2 | 6 | 5.12 | any | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1766.3 | 6 | 5.12 | some | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1767 | 6 | 5.12 | A Subquery instance can be passed to the
CriteriaBuilder exists method to create a conditional
predicate.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1769 | 6 | 5.12 |
Note that joins involving the derived subquery root do not
affect the join conditions of the containing
query.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1770 | 6 | 5.13 |
The groupBy method of the CriteriaQuery interface is used to
define a partitioning of the query results
into groups.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1771 | 6 | 5.13 |
The having method of the CriteriaQuery interface can be used to
filter over the groups.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1772 | 6 | 5.13 | The arguments to the groupBy method are Expression
instances.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1773 | 6 | 5.13 |
When the groupBy method is used, each selection item that is not
the result of applying an aggregate
method must correspond to a path expression that is used for
defining the grouping.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1774 | 6 | 5.14 |
An Order instance is created by means of the asc and desc
methods of the CriteriaBuilder interface. An
argument to either of these methods must be one of the
following:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1774.1 | 6 | 5.14 |
Any Expression instance that corresponds to an orderable
state field of an entity or
embeddable class abstract schema type that is specified
as an argument to the select or
multiselect method or that is an argument to a tuple or
array constructor that is passed as
an argument to the select method.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1774.2 | 6 | 5.14 |
Any Expression instance that corresponds to the same
state field of the same entity or
embeddable abstract schema type as an Expression
instance that is specified as an argument
to the select or multiselect method or that is an
argument to a tuple or array constructor
that is passed as an argument to the select method.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1774.3 | 6 | 5.14 |
An Expression instance that is specified as an argument
to the select or multiselect
method or that is an argument to a tuple or array
constructor that is passed as an argument
to
the select method or that is semantically equivalent to
such an Expression instance.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1775 | 6 | 5.14 |
If more than one Order instance is specified, the order in which
they appear in the argument list of the
orderBy method determines the precedence, whereby the first item
has highest precedence.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1776 | 6 | 5.14 | SQL rules for the ordering of null values apply,
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1777 | 6 | 5.15 |
A bulk update query is constructed through the creation and
modification of a
javax.persistence.criteria.CriteriaUpdate object.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1778 | 6 | 5.15 |
A CriteriaUpdate object is typed according to the entity type
that is the target of the update.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1779 | 6 | 5.15 |
A CriteriaUpdate object has a single root, the entity that is
being updated.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1780 | 6 | 5.15 |
A bulk delete query is constructed through the creation and
modification of a
javax.persistence.criteria.CriteriaDelete object.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1781 | 6 | 5.15 |
A CriteriaDelete object is typed according to the entity type
that is the target of the delete.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1782 | 6 | 5.15 |
A CriteriaDelete object has a single root, the entity that is
being deleted.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1783 | 6 | 5.15 |
Like bulk update and delete operations made through the Java
Persistence query language, criteria API
bulk update and delete operations map directly to database
operations, bypassing any optimistic locking
checks.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1784 | 6 | 5.15 |
The persistence context is not synchronized with the result of
the bulk update or delete.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1786 | 6 | 7 |
The Criteria API provides the option of specifying the attribute
references used in joins and navigation
by attribute names used as arguments to the various methods.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1786.1 | 6 | 7 | join | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1786.2 | 6 | 7 | fetch | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1786.3 | 6 | 7 | get | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1787 | 6 | 8 |
A CriteriaQuery object may be modified, either before or after Query or
TypedQuery objects have been created and
executed from it.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1788 | 6 | 8 |
A CriteriaUpdate object may be modified, either before or after Query or
TypedQuery objects have been created and
executed from it.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1789 | 6 | 8 |
A CriteriaDelete object may be modified, either before or after Query or
TypedQuery objects have been created and
executed from it.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1790 | 6 | 8 |
modification may entail replacement of the where predicate or
the select list. Modifications may thus
result in the same query object “base” being reused for several
query instances.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1792 | 6 | 9 |
A criteria query is executed by passing the CriteriaQuery object
to the createQuery method of the
EntityManager interface to create a TypedQuery object, which can
then be passed to one of the query
execution methods of the TypedQuery interface.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1793 | 6 | 9 |
A criteria query is executed by passing the CriteriaUpdate
object to the createQuery method of the
EntityManager interface to create a an executable
Query object, which can then be passed to one of the query
execution methods of the Query interface.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1794 | 6 | 9 |
A criteria query is executed by passing the CriteriaDelete
object to the createQuery method of the
EntityManager interface to create a Query object, which can then
be passed to one of the query
execution methods of the Query interface.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1795 | 6 | 9 |
A CriteriaQuery object may be further modified after an
executable query object has been created from it. The
modification of the CriteriaQuery object does not have any
impact on the already created executable query
object. If the modified CriteriaQuery object is passed to the
createQuery method, the persistence
provider must insure that a new executable query object is
created and returned that reflects the semantics of
the changed query definition.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1796 | 6 | 9 |
A CriteriaUpdate object may be further modified after an
executable query object has been created from it. The
modification of the CriteriaUpdate object does not have any
impact on the already created executable query
object. If the modified CriteriaQuery object is passed to the
createQuery method, the persistence
provider must insure that a new executable query object is
created and returned that reflects the semantics of
the changed query definition.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1797 | 6 | 9 |
A CriteriaDelete object may be further modified after an
executable query object has been created from it. The
modification of the CriteriaDelete object does not have any
impact on the already created executable query
object. If the modified CriteriaDelete object is passed to the
createQuery method, the persistence
provider must insure that a new executable query object is
created and returned that reflects the semantics of
the changed query definition.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1798 | 6 | 9 | CriteriaQuery, CriteriaUpdate, and CriteriaDelete
objects must be serializable.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1799 | 6 | 9 | CriteriaQuery, CriteriaUpdate, and CriteriaDelete
objects are not required to be interoperable
across vendors.
| false |
| false | technology | active | false |
PERSISTENCE:SPEC:842 | 7 | 1 | Both container-managed entity managers and
application-managed entity managers and their
persistence contexts are required to be supported in JavaEE web
containers and EJB containers.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:843 | 7 | 1 | In Java SE environments and in Java EE application
client containers, only application-managed
entity managers are required to be supported. NOTE the use of
JTA is not required to be supported in
application client containers.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:844 | 7 | 2 | When container-managed entity managers are used (in
Java EE environments), the application does
not interact with the entity manager factory. The entity
managers are obtained directly through
dependency
injection or from JNDI
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1800 | 7 | 2 |
An entity manager must not be shared among multiple concurrently
executing threads, as the entity
manager and persistence context are not required to be
threadsafe.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1801 | 7 | 2.1 | A container-managed entity manager is obtained by the
application through dependency injection
or through direct lookup of the entity manager in the JNDI
namespace.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:845 | 7 | 2.1 | The PersistenceContext annotation is used for entity
manager injection.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:846 | 7 | 2.1 | The unitName element may optionally be specified to
designate the persistence unit whose
entity manager factory is used by the container.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:847 | 7 | 2.1 | The type element specifies whether a transaction-scoped
or extended persistence context is to
be used.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1802 | 7 | 2.1 | The synchronization element specifies whether the
persistence context is always automatically
joined to the current transaction (the default) or is not joined
to the current transaction unless
the joinTransaction method is invoked by the application.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1803 | 7 | 2.2 | An application-managed entity manager is obtained by
the application from an entity manager
factory.
The EntityManagerFactory API used to obtain an
application-managed entity manager is the
same independent of whether this API is used in Java EE or Java
SE environments.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:848 | 7 | 3 | The EntityManagerFactory interface is used by the
application to create an application-managed
entity manager.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:849 | 7 | 3 | More than one entity manager factory instance may be
available simultaneously in the JVM.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:850 | 7 | 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:1804 | 7 | 3.1 | The unitName element may optionally be specified to
designate the persistence unit whose entity
manager factory is used.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:851 | 7 | 3.2 | Outside the JavaEE container environment, the
javax.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 javax.persistence.Persistence
class.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:852 | 7 | 4 | The EntityManagerFactory interface is used by the
application to obtain an application-managed
entity manager.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:853 | 7 | 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:1805 | 7 | 4 | Once an entity manager factory
has been closed, all its entity managers are considered to be in
the closed state.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:854 | 7 | 4 | Any number of vendor-specific properties may be
included in the map passed to
createEntityManager method. Properties that are not recognized
by a vendor must be ignored.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2507 | 7 | 4 | Note that the policies of the installation environment may restrict some information from being made available through the EntityManagerFactory getProperties method
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2503 | 7 | 4 |
Vendors should use vendor namespaces for properties (e.g., com.acme.persistence.logging).
Entries that make use of the namespace javax.persistence and its subnamespaces must not be
used for vendor-specific information. The namespace javax.persistence is reserved for use by this specification.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:858 | 7 | 5 | A container-managed entity manager must be a JTA entity
manager. JTA entity managers are only
specified for use in Java EE containers
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:859 | 7 | 5 | An application-managed entity manager may be either a
JTA entity manager or a resource-local
entity manager.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1806 | 7 | 4 | Entries that make use of the namespace
javax.persistence and its subnamespaces must not be
used for vendor-specific information.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:855 | 7 | 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 | false |
PERSISTENCE:SPEC:856 | 7 | 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 | 7 | 5 | In general, in JavaSE environments, only resource-local
entity managers are supported.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1807 | 7 | 5 |
A resource-local entity manager transaction is mapped to a
resource transaction over the resource by the
persistence provider. Resource-local entity managers may use
server resources to connect to the database
and are unaware of the presence of JTA transactions that may or
may not be active.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1808 | 7 | 5 |
A resource-local entity manager transaction is mapped to a
resource transaction over the resource by the
persistence provider. Resource-local entity managers may use
local resources to connect to the database
and are unaware of the presence of JTA transactions that may or
may not be active.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:860 | 7 | 5.3 | The EntityTransaction interface is used to control
resource transactions on resource-local
entity
managers. The EntityManager.getTransaction() method returns an
instance of the EntityTransaction
interface.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1809 | 7 | 5.3 |
When a resource-local entity manager is used, and the
persistence provider runtime throws an exception
defined to cause transaction rollback, the persistence provider
must mark the transaction for rollback.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1810 | 7 | 5.3 |
If the EntityTransaction.commit operation fails, the persistence
provider must roll back the
transaction.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:861 | 7 | 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:1811 | 7 | 6 |
A container-managed persistence context may be defined to have
either a lifetime that is scoped to a
single
transaction or an extended lifetime that spans multiple
transactions, depending on the
PersistenceContextType
that is specified when its entity manager is created.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1812 | 7 | 6 |
The lifetime of the persistence context is declared using the
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1812.1 | 7 | 6 | PersistenceContext annotation | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1812.2 | 7 | 6 | persistence-context-ref deployment descriptor
element
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1813 | 7 | 6 | By default, a transaction-scoped persistence context is
used.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1814 | 7 | 6.1 | By default, a container-managed persistence context is
of type
SynchronizationType.SYNCHRONIZED.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1815 | 7 | 6.1 | Such a persistence context is automatically joined to
the current JTA transaction, and
updates made to the persistence context are propagated to the
underlying resource manager.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1816 | 7 | 6.1 | A container-managed persistence context may be
specified to be of type Synchronization-
Type.UNSYNCHRONIZED.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1817 | 7 | 6.1 | A persistence context of type
SynchronizationType.UNSYNCHRONIZED is not enlisted in any JTA
transaction unless explicitly joined to that transaction by the
application.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1818 | 7 | 6.1 | The persistence context remains joined to the
transaction until the transaction commits or
rolls back.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1819 | 7 | 6.1 | After the transaction commits or rolls back, the
persistence context will not be joined to any
subsequent transaction unless the joinTransaction method is
invoked in the scope of that subsequent
transaction.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1820 | 7 | 6.1 | A persistence context of type
SynchronizationType.UNSYNCHRONIZED must not be flushed to the
database unless it is joined to a transaction.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1821 | 7 | 6.1 | The application's use of queries with pessimistic
locks, bulk update or delete queries, etc.
result in the provider throwing the
TransactionRequiredException.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1822 | 7 | 6.1 | After the persistence context has been joined to the
JTA transaction, these operations are
again allowed.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1823 | 7 | 6.1 | The application is permitted to invoke the persist,
merge, remove, and refresh entity lifecycle
operations on an entity manager of type
SynchronizationType.UNSYNCHRONIZED independent of whether the
persistence context is joined to the current transaction.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1824 | 7 | 6.1 | After the persistence context has been joined to a
transaction, changes in a persistence
context can be flushed to the database either explicitly by the
application or by the provider.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1825 | 7 | 6.1 | If the flush method is not explicitly invoked, the
persistence provider may defer flushing
until commit time depending on the operations invoked and the
flush mode setting in effect.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1826 | 7 | 6.1 | If a persistence context of type
SynchronizationType.UNSYNCHRONIZED has not been joined to the
current JTA transaction, rollback of the JTA transaction will
have no effect upon the persistence
context.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1827 | 7 | 6.1 | If an extended persistence context of type
SynchronizationType.UNSYNCHRONIZED has been joined to the JTA
transaction, transaction rollback will cause the persistence
context
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1827.1 | 7 | 6.1 | to be cleared | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1827.2 | 7 | 6.1 | and all pre-existing managed instances to
become detached.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1827.3 | 7 | 6.1 | and all removed instances to become detached.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1828 | 7 | 6.1 | When a JTA transaction exists, a persistence context of
type SynchronizationType.UNSYNCHRONIZED
is propagated with that transaction regardless of whether the
persistence context has been joined to
that transaction.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1829 | 7 | 6.2 | The application can obtain a container-managed entity
manager with transaction-scoped
persistence context by
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1829.1 | 7 | 6.2 | injection | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1829.2 | 7 | 6.2 | direct lookup in the JNDI namespace
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1830 | 7 | 6.2 | The persistence context type for the entity manager is
defaulted or defined as
PersistenceContextType.TRANSACTION.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:862 | 7 | 6.2 | A new persistence context begins when the
container-managed entity manager is invoked in the
scope of an active JTA transaction, and there is no current
persistence context already associated with
the JTA transaction. The persistence context is created and then
associated with the JTA transaction
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:863 | 7 | 6.2 | The persistence context ends when the associated JTA
transaction commits or rolls back, and all
entities that were managed by the EntityManager become detached.
Note that this applies to a
transaction-scoped persistence context of type
SynchronizationType.UNSYNCHRONIZED that has not been
joined to the transaction as well.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:864 | 7 | 6.2 | If the entity manager is invoked outside the scope of a
transaction, any entities loaded from
the database will immediately become detached at the end of the
method call.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:865 | 7 | 6.3 | A container-managed extended persistence context can
only be initiated within the scope of a
stateful session bean. It exists from the point at which the
stateful session bean that declares a
dependency on an
entity manager of type PersistenceContextType.EXTENDED is
created, and is said to be bound to the
stateful session bean.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:866 | 7 | 6.3 | The dependency on the extended persistence context is
declared by means of the
PersistenceContext annotation or persistence-context-ref
deployment descriptor element
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:867 | 7 | 6.3 | A container-managed extended persistence context can
only be initiated within the scope of a
stateful session bean.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1831 | 7 | 6.3 | The persistence context is closed by the container when
the
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1831.1 | 7 | 6.3 | @Remove method of the stateful session bean
completes
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1831.2 | 7 | 6.3 | the stateful session bean instance is otherwise
destroyed
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:868 | 7 | 6.3.1 | If a stateful session bean instantiates a stateful
session bean (executing in the same EJB
container instance) which also has such an extended persistence
context with the same synchronization
type, the
extended persistence context of the first stateful session bean
is inherited by the second stateful
session
bean and bound to it, and this rule recursively
applies—independently of whether transactions are active
or not at the point of the creation of the stateful session
beans.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1832 | 7 | 6.3.1 | If the stateful session beans differ in declared
synchronization type, the EJBException is
thrown by the container.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:869 | 7 | 6.3.1 | If 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:1833 | 7 | 6.4 | a single persistence context may correspond to one or
more JTA entity manager
instances (all associated with the same entity manager factory)
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1834 | 7 | 6.4 | Entity manager instances obtained from different entity
manager factories never share the same
persistence context.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:870 | 7 | 6.4 | 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:1835 | 7 | 6.4 | A persistence context of type
SynchronizationType.UNSYNCHRONIZED is propagated with the JTA
transaction regardless of whether it has been joined to the
transaction.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:871 | 7 | 6.4.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 | 7 | 6.4.1 | If an entity manager is invoked from within the
component:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:873 | 7 | 6.4.1 | Invocation of an entity manager defined with
PersistenceContextType.TRANSACTION
will
result in use of a new persistence context.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:874 | 7 | 6.4.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 | 7 | 6.4.1 | If the entity manager is invoked within a JTA
transaction the persistence context
will
be associated to the JTA transaction.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:876 | 7 | 6.4.1 | If a component is called and the JTA transaction is
propagated into that component:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:877 | 7 | 6.4.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:876.1 | 7 | 6.4.1 | If there is a persistence context of type
SynchronizationType.UNSYNCHRONIZED
associated with the JTA transaction and the target
component specifies a persistence context
of
type SynchronizationType.SYNCHRONIZED, the IllegalStateException
is thrown by the container.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:878 | 7 | 6.4.1 | Otherwise, if there is a persistence context
associated to the JTA transaction,
that
persistence context is propagated and used.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:879 | 7 | 7 | When an application-managed entity manager is used, the
application interacts directly with the
persistence provider's entity manager factory to manage the
entity manager lifecycle and to obtain and
destroy persistence contexts.
All such application-managed persistence contexts are extended
in scope, and can span multiple
transactions.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:880 | 7 | 7 | The EntityManagerFactory.createEntityManager method and
the EntityManager
close and isOpen methods are used to manage the lifecycle of an
application-managed entity manager
and its associated persistence context.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:885 | 7 | 7 | The extended persistence context exists from the point
at which the entity manager has been
created using EntityManagerFactory.createEntityManager until the
entity manager is closed by means of
EntityManager.close. An extended persistence context obtained
from the application-managed entity
manager is a stand-alone persistence context—it is not
propagated with the transaction.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1836 | 7 | 7 | When a JTA application-managed entity manager is used,
an application-managed persistence
context
may be specified to be of type
SynchronizationType.UNSYNCHRONIZED. A persistence context
of type SynchronizationType.UNSYNCHRONIZED is not enlisted in
any JTA transaction
unless explicitly joined to that transaction by the application.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1837 | 7 | 7 | A persistence context of type
SynchronizationType.UNSYNCHRONIZED is enlisted in a JTA
transaction and registered for subsequent transaction
notifications against that transaction by the
invocation of the EntityManager join Transaction method. The
persistence context remains joined to the
transaction until the transaction
commits or rolls back.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1838 | 7 | 7 | After the transaction commits or rolls back, the
persistence context will not be joined to any
subsequent transaction unless the joinTransaction method is
invoked in the scope of that subsequent
transaction.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:886 | 7 | 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 join the entity
manager to the transaction (if desired) by calling
EntityManager.joinTransaction.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1839 | 7 | 7 | If the entity manager is created outside the scope of a
JTA transaction, it is not joined to
the transaction unless EntityManager.joinTransaction is called.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:881 | 7 | 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 | 7 | 7 | After calling close, the application must not invoke
any further methods on the EntityManager
instance except for getTransaction and IsOpen or the
IllegalStateException will be thrown.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:883 | 7 | 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 | 7 | 7 | The EntityManager.isOpen method indicates whether the
entity manager is open. The isOpen
method returns true until the entity manager has been closed.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:887 | 7 | 8 | Requirements on the Container | true |
| false | technology | removed | true |
PERSISTENCE:SPEC:888 | 7 | 8.1 | Application Managed Persistence Contexts
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:889 | 7 | 8.2 | Container Managed Persistence Contexts
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:1840 | 7 | 8.1 | When application-managed persistence contexts are used,
the container must instantiate the
entity manager factory and expose it to the application via
JNDI.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1841 | 7 | 8.1 | However, the container is required to support
third-party persistence
providers, and in this case the container must use the
PersistenceProvider.createContainerEntityManagerFactory method
to create the
entity manager factory and the EntityManagerFactory.close method
to destroy the entity
manager factory prior to shutdown (if it has not been previously
closed by the application).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1842 | 7 | 8.2 | The container is responsible for managing the lifecycle
of container-managed persistence
contexts, for injecting EntityManager references into
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1842.1 | 7 | 8.2 | web components | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1842.2 | 7 | 8.2 | session bean | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1842.3 | 7 | 8.2 | message-driven bean components | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1842.4 | 7 | 8.2 | and for making EntityManager references
available to direct lookups in JNDI.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1843 | 7 | 8.2 | When operating with a third-party persistence provider,
the container uses the contracts to
create and destroy container-managed persistence contexts.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1844 | 7 | 8.2 | It is undefined whether a new entity manager instance
is created for every persistence context,
or whether entity manager instances are sometimes reused.
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:1845 | 7 | 8.2 | Exactly how the container maintains the association
between persistence context and JTA
transaction is not defined.
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:1846 | 7 | 8.2 | If a persistence context is already associated with a
JTA transaction, the container uses that
persistence context for subsequent invocations within the scope
of that transaction
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:890 | 7 | 9 |
Runtime Contracts between the Container and Persistence Provider
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:891 | 7 | 9.1 | Container Responsibilities | true |
| false | technology | removed | true |
PERSISTENCE:SPEC:892 | 7 | 9.2 | Provider Responsibilities | true |
| true | technology | removed | true |
PERSISTENCE:SPEC:1847 | 7 | 9.1 |
For the management of a transaction-scoped persistence context,
if there is no EntityManager already
associated with the JTA transaction:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1847.1 | 7 | 9.1 |
The container creates a new entity manager by calling
EntityManagerFactory.createEntityManager
when the first invocation of an entity manager with
PersistenceContextType.TRANSACTION
occurs
within the scope of a business method executing in the
JTA transaction.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1847.2 | 7 | 9.1 |
After the JTA transaction has completed (either by
transaction commit or rollback), the
container closes the entity manager by calling
EntityManager.close. Note that the JTA
transaction may rollback in a background thread (e.g., as a result of transaction timeout), in
which case the container should arrange for the entity manager to be closed but the Entity-
Manager.close method should not be concurrently invoked while the application is in an
EntityManager invocation.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1848 | 7 | 9.1 |
The container must throw the TransactionRequiredException if a
transaction-scoped persistence context is
used and
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1848.1 | 7 | 9.1 | and the EntityManager persist method is invoked
when no transaction is active.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1848.2 | 7 | 9.1 | and the EntityManager remove method is invoked
when no transaction is active.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1848.3 | 7 | 9.1 | and the EntityManager merge method is invoked
when no transaction is active.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1848.4 | 7 | 9.1 | and the EntityManager refresh method is invoked
when no transaction is active.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1849 | 7 | 9.1 | For stateful session beans with extended persistence
contexts:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1849.1 | 7 | 9.1 |
The container creates an entity manager by calling
EntityManagerFactory.createEntityManager
when
a stateful session bean is created that declares a
dependency on an entity manager with
PersistenceContextType.EXTENDED.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1849.2 | 7 | 9.1 | The container closes the entity manager by
calling EntityManager.close after the
stateful session bean and all other stateful session
beans that have inherited the same
persistence context as the entity manager have been
removed.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1849.3 | 7 | 9.1 | When a business method of the stateful session
bean is invoked, if the stateful
session
bean uses container managed transaction demarcation, and
the entity manager is not already
associated with the current JTA transaction, the
container associates the entity manager
with
the current JTA transaction and, if the persistence
context is of type
SynchronizationType.SYNCHRONIZED, the container calls
EntityManager. joinTransaction. If
there
is a different persistence context already associated
with the JTA transaction, the
container
throws the EJBException.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1849.4 | 7 | 9.1 | When a business method of the stateful session
bean is invoked, if the stateful
session
bean uses bean managed transaction demarcation and a
UserTransaction is begun within the
method,
the container associates the persistence context with
the JTA transaction and, if the
persistence context is of type
SynchronizationType.SYNCHRONIZED, the container calls
EntityManager.joinTransaction.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1850 | 7 | 9.1 | The container must throw the IllegalStateException if
the application calls EntityManager.
close on a container-managed entity manager.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1851 | 7 | 9.1 |
When the container creates an entity manager, it may pass a map
of properties to the persistence
provider by using the
EntityManagerFactory.createEntityManager(Map map) method. If
properties have been
specified in the PersistenceContext annotation or the
persistence-context-ref deployment descriptor
element, this method must be used and the map must include the
specified properties.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1852 | 7 | 9.1 | If the application invokes EntityManager.unwrap(Class
<T>
cls), and the container cannot
satisfy the request, the container must delegate the unwrap
invocation to the provider’s entity manager
instance.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1853 | 7 | 9.2 | When EntityManagerFactory.createEntityManager is
invoked, the provider must create and return a
new entity manager.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1854 | 7 | 9.2 | If a JTA transaction is active and the persistence
context is of type
SynchronizationType.SYNCHRONIZED, the provider must register for
synchronization notifications against
the JTA transaction.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1855 | 7 | 9.2 | When EntityManager.joinTransaction is invoked, the
provider must register for synchronization
notifications against the current JTA transaction if a previous
joinTransaction invocation for the
transaction has not already been processed.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1856 | 7 | 9.2 | When the JTA transaction commits, if the persistence
context is of type SynchronizationType.
SYNCHRONIZED or has otherwise been joined to the transaction,
the provider must flush all modified
entity state to the database.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1857 | 7 | 9.2 | When the JTA transaction rolls back, the provider must
detach all managed entities if the
persistence context is of type SynchronizationType.SYNCHRONIZED
or has otherwise been joined to the
transaction. Note that the JTA transaction may rollback in a background
thread (e.g., as a result of transaction timeout), in which case the provider should arrange for
the managed entities to be detached from the persistence context but not concurrently while the
application is in an EntityManager invocation.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1858 | 7 | 9.2 | When the provider throws an exception defined to cause
transaction rollback, the provider must
mark the transaction for rollback if the persistence context is
of type SynchronizationType.SYNCHRONIZED
or has otherwise been joined to the transaction.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1859 | 7 | 9.2 | When EntityManager.close is invoked, the provider
should release all resources that it may have
allocated after any outstanding transactions involving the
entity manager have completed. If the entity
manager was already in a closed state, the provider must throw
the IllegalStateException.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1860 | 7 | 9.2 | When EntityManager.clear is invoked, the provider must
detach all managed entities.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:893 | 8 | 2 | Within Java EE environments, an EJB-JAR, WAR, EAR, or
application client JAR can define a
persistence unit. Any number of persistence units may be defined
within these scopes.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:894 | 8 | 2 | A persistence unit may be packaged: | true |
| false | technology | active | true |
PERSISTENCE:SPEC:895 | 8 | 2 | within one or more jar files contained within a
WAR
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:896 | 8 | 2 | one or more jar files contained within an EAR
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:897 | 8 | 2 | as a set of classes within an EJB-JAR file
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:898 | 8 | 2 | a set of classes in the WAR classes directory
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:899 | 8 | 2 | as a combination of these | true |
| false | technology | active | true |
PERSISTENCE:SPEC:900 | 8 | 2 | A persistence unit is defined by a persistence.xml
file. The jar file or directory whose
META-INF directory contains the persistence.xml file is termed
the root of the persistence unit.
In Java EE environments, the root of a persistence unit may be
one of the following:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:901 | 8 | 2 | an EJB-JAR file | true |
| false | technology | active | true |
PERSISTENCE:SPEC:902 | 8 | 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 | 8 | 2 | a jar file in the WEB-INF/lib directory of a
WAR file
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:904 | 8 | 2 | a jar file in the root of the EAR | true |
| false | technology | removed | true |
PERSISTENCE:SPEC:905 | 8 | 2 | a jar file in the EAR library directory
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:906 | 8 | 2 | an application client jar file | true |
| false | technology | active | true |
PERSISTENCE:SPEC:907 | 8 | 2 | It is not required that an EJB-JAR or WAR file
containing a persistence unit be packaged in an
EAR unless the persistence unit contains persistence classes in
addition to those contained in the
EJB-JAR or WAR.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:908 | 8 | 2 | A persistence unit must have a name. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:909 | 8 | 2 | Only one persistence unit of any given name may be
defined:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:910 | 8 | 2 | within a single EJB-JAR file | true |
| false | technology | active | true |
PERSISTENCE:SPEC:911 | 8 | 2 | within a single WAR file | true |
| false | technology | active | true |
PERSISTENCE:SPEC:912 | 8 | 2 | within a single application client jar
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:913 | 8 | 2 | within an EAR | true |
| false | technology | active | true |
PERSISTENCE:SPEC:914 | 8 | 2 | within an EAR in the lib directory
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:915 | 8 | 2 | The persistence.xml file may be used to designate more
than one persistence unit within the
same scope.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:916 | 8 | 2 | All persistence classes defined at the level of the
Java EE EAR must be accessible to other
J2EE components in the application—i.e. loaded by the
application classloader—such
that if the same entity class is referenced by two different
Java EE components (which may be using
different persistence units), the referenced class is the same
identifical class.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:917 | 8 | 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 included in the persistence unit
using the class element of the
persistence.xml file.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:918 | 8 | 2.1 | A persistence.xml file defines a persistence unit. The
persistence.xml file is located in the
META-INF directory of the root of the persistence unit. It may
be used to specify managed persistence
classes included in the persistence unit, object/relational
mapping information for those classes,
scripts
for use in schema generation and the bulk loading of data, and
other configuration information for the persistence unit and for
the entity manager(s) and entity
manager
factory for the persistence unit. This information may be
defined by containment or by reference,
as described below.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:919 | 8 | 2.1 | The object/relational mapping information can take the
form of:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:920 | 8 | 2.1 | annotations on the managed persistence classes
included in the persistence unit
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:919.1 | 8 | 2.1 | an orm.xml file contained in the META-INF
directory of the root of the persistence
unit
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:921 | 8 | 2.1 | one or more XML files contained in the root of
the persistence unit
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:922 | 8 | 2.1 | one or more XML files on the classpath and
referenced from the persistence.xml
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:923 | 8 | 2.1 | a combination of above | true |
| false | technology | active | true |
PERSISTENCE:SPEC:924 | 8 | 2.1 | The managed persistence classes may either be:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:925 | 8 | 2.1 | contained within the root of the persistence
archive
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:926 | 8 | 2.1 | specified by reference—i.e., by naming the
classes, class archives, or XML mapping
files
(which in turn reference classes) that are accessible on
the application classpath
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:927 | 8 | 2.1 | specified by some combination of these means.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:928 | 8 | 2.1 | The persistence element consists of one or more
persistence-unit elements.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:929 | 8 | 2.1 | The persistence-unit element consists of the name and
transaction-type attributes and the
following sub-elements: description, provider, jta-data-source,
non-jta-data-source, mapping-file,
jar-file, class, exclude-unlisted-classes, shared-cache-mode,
validation-mode, and properties.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:930 | 8 | 2.1 | The name attribute is required; the other attributes
and elements are optional.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:932 | 8 | 2.1.1 | 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 | removed | true |
PERSISTENCE:SPEC:1861 | 8 | 2.1.1 | 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 an entity manager factory.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:936 | 8 | 2.1.2 | 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 | false |
PERSISTENCE:SPEC:937 | 8 | 2.1.2 | The value of this element is JTA or RESOURCE_LOCAL.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1862 | 8 | 2.1.2 | A transaction-type of JTA assumes that a JTA data
source will be provided—either as specified
by the jta-data-source element or provided by the container.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1863 | 8 | 2.1.2 | in Java EE environments, a transaction-type of
RESOURCE_LOCAL assumes that a non-JTA datasource
will be provided.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:938 | 8 | 2.1.2 | In a Java EE environment, if this element is not
specified, the default is JTA.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1864 | 8 | 2.1.2 | In a Java SE environment, if this element is not
specified,the default is RESOURCE_LOCAL.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:931 | 8 | 2.1.3 | The description element provides optional descriptive
information about the persistence unit.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:933 | 8 | 2.1.4 | The provider element specifies the name of the
persistence provider's
javax.persistence.spi.PersistenceProvider class.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:934 | 8 | 2.1.4 | The provider element is optional, but should be
specified if the application is dependent upon
a particular persistence provider being used.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:939 | 8 | 2.1.5 | In Java EE environments, the jta-data-source and
non-jta-data-source elements is used to
specify the JNDI name of the JTA and/or non-JTA data source to
be used by the persistence
provider.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:940 | 8 | 2.1.5 | If neither is specified, the deployer must specify a
JTA data source at deployment or the default JTA
data source must be provided by the container and a JTA
EntityManagerFactory will be created to
correspond to it.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:941 | 8 | 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 | removed | false |
PERSISTENCE:SPEC:942 | 8 | 2.1.5 | In Java SE environments, these elements may be used or
the data source information may be
specified by other means - depending upon the requirements of
the provider.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:943 | 8 | 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;
converter classes
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:944 | 8 | 2.1.6 | The set of managed persistence 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:948 | 8 | 2.1.6 | 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:945 | 8 | 2.1.6 | One or more object/relational mapping XML
files
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:946 | 8 | 2.1.6 | One or more jar files that will be searched for
classes
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:947 | 8 | 2.1.6 | An explicit list of classes | true |
| false | technology | active | true |
PERSISTENCE:SPEC:964 | 8 | 2.1.6 | The set of entities managed by the persistence unit is
the union of these sources, with the
mapping metadata annotations (or annotation defaults) for any
given class being overridden by the XML
mapping information file if there are both annotations as well
as XML mappings for that class
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1865 | 8 | 2.1.6 |
The minimum portable level of overriding is at the level of the
persistent field or property.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:966 | 8 | 2.1.6 | The classes and/or jars that are named as part of a
persistence unit must be on the classpath;
referencing them from the persistence.xml file does not cause
them to be placed on the classpath.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:967 | 8 | 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:961 | 8 | 2.1.6.1 | All classes contained in the root of the persistence
unit are searched for annotated managed
persistence classes—classes with the Entity, Embeddable,
MappedSuperclass, or Converter annotation—and
any mapping
metadata annotations found on these classes will be processed,
or they will be mapped using the mapping
annotation defaults
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:962 | 8 | 2.1.6.1 | If it is not intended that the annotated persistence
classes contained in the root of the
persistence unit be included in the persistence unit, the
exclude-unlisted-classes element must be
specified as true.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:963 | 8 | 2.1.6.1 | The exclude-unlisted-classes element is not intended
for use in Java SE environments.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:949 | 8 | 2.1.6.2 | A object/relational mapping XML file named orm.xml
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:950 | 8 | 2.1.6.2 | may be specified in the META-INF directory in
the root of the persistence unit
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:951 | 8 | 2.1.6.2 | or in the META-INF directory of any jar file
referenced by the persistence.xml
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:952 | 8 | 2.1.6.2 | Alternatively, or in addition, one or more
mapping files may be referenced by the
mapping-file elements of the persistence-unit element
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:949.1 | 8 | 2.1.6.2 | These mapping files may be present anywhere on
the class path.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:953 | 8 | 2.1.6.2 | 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 | 8 | 2.1.6.2 | 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 | 8 | 2.1.6.2 | The result is undefined if multiple mapping files
(including any orm.xml file) referenced
within a single persistence unit contain overlapping mapping
information for any given class.
| false |
| true | technology | active | false |
PERSISTENCE:SPEC:956 | 8 | 2.1.6.2 | The object/relational mapping information contained in
any mapping file referenced within the
persistence unit must be disjoint at the class-level from
object/relational mapping information
contained in any other such mapping file.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:957 | 8 | 2.1.6.3 | 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 directory or jar
file that contains the root of the
persistence unit.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:958 | 8 | 2.1.6.4 | A list of named managed persistence entity classes,
embeddable classes, mapped
superclasses, and converter classes may be specified instead of,
or in addition to, the
JAR files and mapping files. Any mapping metadata annotations
found on these classes will be processed,
or they will be mapped using the mapping annotation defaults.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:959 | 8 | 2.1.6.4 | The class element is used to list a managed persistence
class.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:960 | 8 | 2.1.6.4 | 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 may require that the set
of entity classes and classes that
are to be managed
must be fully enumerated in each of the persistence.xml files in
Java SE environments.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1866 | 8 | 2.1.7 | The shared-cache-mode element determines whether
second-level caching is in effect for the
persistence
unit.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1867 | 8 | 2.1.8 | The validation-mode element determines whether
automatic lifecycle event time validation is in
effect.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:968 | 8 | 2.1.9 | The properties element is used to specify both standard
and vendor-specific properties and
hints
that apply to the persistence unit and its entity manager
factory configuration.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1868 | 8 | 2.1.9 | The following properties and hints defined by this
specification are intended for use in both
Java EE and Java SE environments:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1868.1 | 8 | 2.1.9 | javax.persistence.lock.timeout — value in
milliseconds for pessimistic lock
timeout.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1868.2 | 8 | 2.1.9 | javax.persistence.query.timeout — value in
milliseconds for query timeout.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1868.3 | 8 | 2.1.9 | javax.persistence.validation.group.pre-persist—
groups that are targeted
for validation upon the pre-persist event (overrides the
default behavior).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1868.4 | 8 | 2.1.9 | javax.persistence.validation.group.pre-update—
groups that are targeted
for validation upon the pre-update event (overrides the
default behavior).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1868.5 | 8 | 2.1.9 | javax.persistence.validation.group.pre-remove—
groups that are targeted
for validation upon the pre-remove event (overrides the
default behavior).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1869 | 8 | 2.1.9 | The following properties defined by this specification
are intended for use in Java SE
environments.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1869.1 | 8 | 2.1.9 | javax.persistence.jdbc.driver — fully qualified
name of the driver class
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1869.2 | 8 | 2.1.9 | javax.persistence.jdbc.url — driver-specific
URL
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1869.3 | 8 | 2.1.9 | javax.persistence.jdbc.user — username used by
database connection
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1869.4 | 8 | 2.1.9 | javax.persistence.jdbc.password — password for
database connection validation
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2452 | 8 | 2.1.9 | Scripts for use in schema generation may be specified
using the
javax.persistence.schema-generation.create-script-source and
javax.persistence.schema-generation.drop-script-source
properties.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2453 | 8 | 2.1.9 | A script to specify SQL for the bulk loading of data
may be specified by the javax.persistence.sql-load-script-source
property.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1870 | 8 | 2.1.9 | These properties are intended for use in both Java EE
and Java SE environments:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1870.1 | 8 | 2.1.9 |
javax.persistence.schema-generation.create-script-source
— name of a script packaged as part of the persistence
application or a string corresponding to a file URL
string that designates a script.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1870.2 | 8 | 2.1.9 |
javax.persistence.schema-generation.drop-script-source —
name of a script packaged as part of the persistence
application or a string corresponding to a file URL
string that designates a script.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1870.3 | 8 | 2.1.9 | javax.persistence.sql-load-script-source —name
of a script packaged as part of the persistence unit or
a string corresponding to a file URL string that
designates a script.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2481 | 8 | 2.1.9 | When scripts are packaged as part of the persistence
application, these properties must specify locations
relative to the root of the persistence unit.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:2482 | 8 | 2.1.9 | When scripts are provided externally (or when schema
generation
is to occur into script files, as described below), strings
corresponding to file URLs must be specified.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:2483 | 8 | 2.1.9 | In Java EE environments, such file URL specifications
must be absolute paths (not relative).
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:2484 | 8 | 2.1.9 | In
Java EE environments, all source and target file locations must
be accessible to the application server
deploying the persistence unit.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:2485 | 8 | 2.1.9 | schema generation actions may also be specified by
means of the following properties
used in the persistence.xml file.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:2485.1 | 8 | 2.1.9 | The
javax.persistence.schema-generation.database.action
property
specifies the action to be taken by the persistence
provider with regard to the database artifacts.
The values for this property are none, create,
drop-and-create, drop. If this property
is not specified, it is assumed that schema generation
is not needed or will be initiated by
other means, and, by default, no schema generation
actions will be taken on the database.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:2485.2 | 8 | 2.1.9 | The
javax.persistence.schema-generation.scripts.action
property specifies
which scripts are to be generated by the persistence
provider. The values for this property
are none, create, drop-and-create, drop. Scripts will
only be generated if script targets
are specified. If this property is not specified, it is
assumed that script generation is not
needed or will be initiated by other means, and, by
default, no scripts will be generated.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:2485.3 | 8 | 2.1.9 | The
javax.persistence.schema-generation.create-source
property specifies
whether the creation of database artifacts is to occur
on the basis of the object/relational
mapping metadata, DDL script, or a combination of the
two. The values for this property are
metadata, script, metadata-then-script,
script-then-metadata. If this
property is not specified, and a script is specified by
the javax.persistence.
schema-generation.create-script-source property, the
script (only)
will be used for schema generation; otherwise if this
property is not specified, schema generation
will occur on the basis of the object/relational mapping
metadata (only). The metadata-
then-script and script-then-metadata values specify that
a combination
of metadata and script is to be used and the order in
which this use is to occur. If either of these
values is specified and the resulting database actions
are not disjoint, the results are undefined
and schema generation may fail.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:2485.4 | 8 | 2.1.9 | The
javax.persistence.schema-generation.drop-source property
specifies
whether the dropping of database artifacts is to occur
on the basis of the object/relational mapping
metadata, DDL script, or a combination of the two. The
values for this property are metadata, script,
metadata-then-script, script-then-metadata. If this
property is not specified, and a script is specified by
the javax.persistence.
schema-generation.drop-script-source property, the
script (only) will
be used for the dropping of database artifacts;
otherwise if this property is not specified, the
dropping of database artifacts will occur on the basis
of the object/relational mapping metadata
(only). The metadata-then-script and
script-then-metadata values specify
that a combination of metadata and script is to be used
and the order in which this use is to
occur. If either of these values is specified and the
resulting database actions are not disjoint,
the results are undefined and the dropping of database
artifacts may fail.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:2485.5 | 8 | 2.1.9 |
javax.persistence.schema-generation.scripts.drop-target
If scripts are to be generated, the target locations for
the writing of these scripts must be specified.
These targets are specified as strings corresponding to
file URLs.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:969 | 8 | 2.1.9 | If a persistence provider does not recognize properties
(other than those defined by this
specification), the provider must ignore it.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:969 | 8 | 2.1.9 | If a persistence provider does not recognize properties
(other than those defined by this
specification), the provider must ignore it.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:970 | 8 | 2.2 | An EJB-JAR, WAR, application client jar or EAR can
define a persistence unit. When referencing
a persistence unit using the unitName annotation element or
persistence-unit-name deployment descriptor
element, the visibility scope of the persistence unit is
determined by its point of definition:
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:971 | 8 | 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 jar
respectively and is visible to the
components
defined in that jar or war.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:973 | 8 | 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 defined by an EJB-JAR,
WAR
or
application jar file within the EAR, the persistence
unit of that name defined at the EAR
level
will not be visible to the components defined by that
EJB-JAR, WAR, or application jar file
unless the
persistence unit reference uses the persistence unit
name # syntax to specify a path name to
disambiguate the reference.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:970.1 | 8 | 2.2 | When the # syntax is used, the path name is
relative
to the referencing application component jar file.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:970.2 | 8 | 2.2 | The # syntax may be used with both the unitName
annotation element or
persistence-unit-name deployment descriptor element to
reference a persistence unit defined
at
EAR level.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:974 | 9 | 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 | 9 | 1 | At deployment time the container is responsible for
scanning locations specified in 8.2 and
discovering the persistence.xml files and processing them.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:976 | 9 | 1 | When the container finds a persistence.xml file, it
must processes the persistence unit
definitions that it contains. The container must validate the
persistence.xml file against the
persistence_2_1.xsd, persistence_2_0.xsd or persistence_1_0.xsd
schema in accordance with the version
specified by the persistence.xml file and report any validation
errors. Provider or data source
information not specified in the persistence.xml file must be
provided at deployment time or
defaulted by the container.
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:977 | 9 | 1 | The container may optionally add any container-specific
properties to be passed to the
provider when creating the entity manager factory for the
persistence unit.
| false |
| true | technology | active | false |
PERSISTENCE:SPEC:1871 | 9 | 1 | Once the container has read the persistence metadata,
it determines the javax.persistence.
spi.PersistenceProvider implementation class for each deployed
named persistence
unit. The container then creates an instance of the
PersistenceProvider implementation class for
each deployed named persistence unit and invokes the
createContainerEntityManagerFactory
method on that instance.
| false |
| true | technology | active | false |
PERSISTENCE:SPEC:1872 | 9 | 1 |
The container must implement the PersistenceUnitInfo interface
and pass the metadata—in the form of a
PersistenceUnitInfo instance—to the persistence provider as part
of this call.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1873 | 9 | 1 |
If a Bean Validation provider exists in the container
environment and the validation- mode NONE is not
specified, a ValidatorFactory instance must be made available by
the container.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1874 | 9 | 1 |
The container is responsible for passing this ValidatorFactory
instance via the map that is passed as an
argument to the createContainerEntityManagerFactory call. The
map key used must be the standard property
name javax.persistence.validation.factory.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1875 | 9 | 1 |
If CDI is enabled, a BeanManager instance must be made
available by the container. The container is responsible for
passing this BeanManager instance via the
map that is passed as an argument to the
createContainerEntityManagerFactory call. The map key used must
be the standard property name javax.persistence.bean.manager.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1876 | 9 | 1 |
The EntityManagerFactory instance obtained as a result will be
used by the container to create
container-managed entity managers. Only one EntityManagerFactory
is permitted to be created for each
deployed persistence unit configuration.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1877 | 9 | 1 | Any number of EntityManager instances may be created
from a given factory.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1878 | 9 | 1 | In a Java EE environment, the classes of the
persistence unit should not be loaded by the
application class loader or any of its parent class loaders
until after the entity manager factory for
the persistence unit has been created.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:978 | 9 | 1 | When a persistence unit is redeployed, the container
should call the close method on the
previous
EntityManagerFactory instance and call the
createContainerEntityManagerFactory
method again, with the required PersistenceUnitInfo metadata, to
achieve the redeployment.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1060 | 9 | 1.4 | Columns in the overrides apply to the current primary
table for the class that contains the
annotation.
| true |
| false | technology | removed | 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 | removed | true |
PERSISTENCE:SPEC:992 | 9 | 2 | BootStrapping in Java SE Environments | true |
| true | technology | removed | true |
PERSISTENCE:SPEC:1879 | 9 | 2 |
In Java SE environments, the
Persistence.createEntityManagerFactory method is used by the
application to
create an entity manager factory
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1880 | 9 | 2 |
The provider supplies the provider configuration file by
creating a text file named
javax.persistence.spi.PersistenceProvider and placing it in the
META-INF/services directory of one of
its JAR files.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1881 | 9 | 2 |
The contents of the file should be the name of the provider
implementation class of the
javax.persistence.spi.PersistenceProvider interface
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1882 | 9 | 2 |
The Persistence bootstrap class must locate all of the
persistence providers using the
PersistenceProviderResolver mechanism and call
createEntityManagerFactory on them in turn until an
appropriate backing provider returns an EntityManagerFactory
instance.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1883 | 9 | 2 |
A provider may deem itself as appropriate for the persistence
unit if any of the following are true:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1883.1 | 9 | 2 |
Its implementation class has been specified in the
provider element for that persistence
unit in
the persistence.xml file and has not been overridden by
a different
javax.persistence.provider
property value included in the Map passed to the
createEntity ManagerFactory method.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1883.2 | 9 | 2 |
The javax.persistence.provider property was included in
the Map passed to
createEntityManagerFactory and the value of the property
is the provider’s implementation
class.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1883.3 | 9 | 2 |
No provider was specified for the persistence unit in
either the persistence.xml or the
property
map.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1884 | 9 | 2 |
If a provider does not qualify as the provider for the named
persistence unit it must return null when
createEntityManagerFactory is invoked on it.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2474 | 9 | 2.1 | In Java SE environments, the Persistence.generateSchema
method may be used by the application to cause schema generation
to occur as a separate phase from entity manager factory
creation.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2475 | 9 | 2.1 | In this case, the Persistence bootstrap class must
locate all of the persistence providers using the
PersistenceProviderResolver mechanism and call generateSchema on
them in turn until an appropriate backing provider returns true.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2476 | 9 | 2.1 | A provider may deem
itself as appropriate for the persistence unit if any of the
following are true:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2477 | 9 | 2.1 | Its implementation class has been specified in
the provider element for that persistence unit in the
persistence.xml file and has not been overridden by a
different javax.persistence.
provider property value included in the Map passed to
the generateSchema method.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2478 | 9 | 2.1 | The javax.persistence.provider property was
included in the Map passed to generateSchema and the
value of the property is the provider's implementation
class.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2479 | 9 | 2.1 | No provider was specified for the persistence
unit in either the persistence.xml or the property map.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2480 | 9 | 2.1 | If a provider does not qualify as the provider for the
named persistence unit, it must return false when generateSchema
is invoked on it.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1885 | 9 | 3 |
The PersistenceProviderResolver instance is responsible for
returning the list of providers available in
the environment.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1886 | 9 | 3 |
The PersistenceProviderResolverHolder class holds the
PersistenceProviderResolver instance that is in
use.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1887 | 9 | 3 |
The container is allowed to implement and set a specific
PersistenceProviderResolver provided
that it respects the PersistenceProviderResolver contract. The
PersistenceProviderResolver
instance to be used is set by the container using the
PersistenceProviderResolverHolder.setPersistenceProviderResolver
method.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1888 | 9 | 3 |
If no PersistenceProviderResolver is set, the
PersistenceProviderResolver-
Holder must return a PersistenceProviderResolver that returns
the providers whose persistence
provider jars have been installed or made available as service
providers or extensions. This default
PersistenceProviderResolver instance does not guarantee the
order in which persistence providers
are returned.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1889 | 9 | 3 |
the following methods must use the
PersistenceProviderResolver instance returned by the
PersistenceProviderResolverHolder.
getPersistenceProviderResolver method to determine the list of
available
providers: Persistence.createEntityManagerFactory(String),
Persistence.createEntityManagerFactory(String, Map),
PersistenceUtil.isLoaded(Object),
PersistenceUtil.isLoaded(Object, String)
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1890 | 9 | 3 |
These methods must not cache the list of providers and must not
cache the PersistenceProviderResolver
instance.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1891 | 9 | 3 |
Note that only a single PersistenceProviderResolver instance can
be defined in a given classloader
hierarchy at a given time.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1892 | 9 | 4 | In Java EE environments
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1892.1 | 9 | 4 |
the container may call the PersistenceProvider
generateSchema method separately from and/or
prior to the creation of the entity manager factory for
the persistence unit,
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1892.2 | 9 | 4 |
or the container may pass additional information to the
createContainerEntityManagerFactory
call to cause schema generation to happen as part of the
entity manager factory creation and
application initialization process.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1892.3 | 9 | 4 | The information passed to these methods
controls whether the generation occurs
directly
in the target database, whether DDL scripts for schema
generation are created, or both.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1893 | 9 | 4 | In Java SE environments
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1893.1 | 9 | 4 | the application may call the Persistence
generateSchema method separately from
and/or
prior to the creation of the entity manager factory
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1893.2 | 9 | 4 | or may pass information to the
createEntityManagerFactory method to cause schema
generation
to occur as part of the entity manager factory creation.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1894 | 9 | 4 | The application may provide DDL scripts to be used for
schema generation.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1894.1 | 9 | 4 | The application developer may package these
scripts as part of the persistence unit
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1894.2 | 9 | 4 | or may specify strings corresponding to file
URLs for the location of such scripts.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1895 | 9 | 4 | In Java EE environments, such scripts may be executed
by the container, or the
container may direct the persistence provider to execute the
scripts
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1896 | 9 | 4 | In Java SE environments, the execution of the scripts
is the responsibility of the persistence
provider.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1897 | 9 | 4 | In the absence of the specification of
scripts, schema generation, if requested, will be determined by
the object/relational metadata of the
persistence
unit.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1898 | 9 | 4 | The following standard properties are defined for
configuring the schema generation process.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1898.1 | 9 | 4 | In Java EE environments, any strings
corresponding to file URLs for script sources or targets
must specify absolute paths (not relative).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1898.2 | 9 | 4 | In Java EE environments, all source and target
file locations must be accessible to the application
server deploying the persistence unit
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1898.3 | 9 | 4 | The
javax.persistence.schema-generation.database.action
property specifies the action to be taken by the
persistence provider with regard to the database
artifacts. The
values for this property are "none", "create",
"drop-and-create", "drop". If the javax.persistence.
schema-generation.database.action property is not
specified, no schema generation actions must be taken on
the database.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1898.4 | 9 | 4 | The
javax.persistence.schema-generation.scripts.action
property specifies which scripts are to be generated by
the persistence provider. The values for this property
are "none", "create", "drop-and-create", "drop". Scripts
will only be generated if script targets are specified.
If this property is not specified, no scripts will be
generated.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1898.5 | 9 | 4 | The
javax.persistence.schema-generation.create-source
property specifies whether the creation of database
artifacts is to occur on the basis of the
object/relational mapping metadata, DDL script, or a
combination of the two. The values for this property are
"metadata", "script", "metadata-then-script",
"script-then-metadata". If this property is not
specified, and a script is specified by the
javax.persistence.
schema-generation.create-script-source property, the
script (only) will be used for schema generation;
otherwise if this property is not specified, schema
generation will occur on the basis of the
object/relational mapping metadata (only). The
"metadata-then-script" and "script-then-metadata" values
specify that a combination of metadata and script is to
be used and the order in which this use is to occur. If
either of these values is specified and the resulting
database actions are not disjoint, the results are
undefined and schema generation may fail.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1898.6 | 9 | 4 | The
javax.persistence.schema-generation.drop-source property
specifies whether the dropping of database artifacts is
to occur on the basis of the object/relational mapping
metadata, DDL script, or a combination of the two. The
values for this property are "metadata", "script",
"metadata-then-script", "script-then-metadata". If this
property is not specified, and a script is specified by
the javax.persistence.
schema-generation.drop-script-source property, the
script (only) will be used for the dropping of database
artifacts; otherwise if this property is not specified,
the dropping of database artifacts will occur on the
basis of the object/relational mapping metadata (only).
The "metadata-then-script" and "script-then-metadata"
values specify that a combination of metadata and script
is to be used and the order in which this use is to
occur. If either of these values is specified and the
resulting database actions are not disjoint, the results
are undefined and the dropping of database artifacts may
fail.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1898.7 | 9 | 4 |
javax.persistence.schema-generation.create-database-schemas
In Java EE environments, it is anticipated that the Java
EE platform provider may wish to control the creation of
database schemas rather than delegate this task to the
persistence provider. The
javax.persistence.schema-generation.create-database-schemas
property specifies whether the persistence provider is
to create the database schema(s) in addition to creating
database objects such as tables, sequences, constraints,
etc. The value of this boolean property should be set to
true if the persistence provider is to create schemas in
the database or to generate DDL that contains “CREATE
SCHEMA” commands. If this property is not supplied, the
provider should not attempt to create database schemas.
This property may also be specified in Java SE
environments.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1898.8 | 9 | 4 | The
javax.persistence.schema-generation.scripts.create-target
property specifies a java.IO.Writer
configured for use by the persistence provider for
output of the DDL script or a string specifying
the file
URL for the DDL script. This property should only be
specified if scripts are to be
generated. If scripts are to be generated, the target
locations for the writing of these scripts must be
specified.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1898.9 | 9 | 4 | The
javax.persistence.schema-generation.drop-target
property specifies a java.IO.Writer
configured for use by the persistence provider for
output of the DDL script or a string specifying
the file
URL for the DDL script. This property should only be
specified if scripts are to be
generated. If scripts are to be generated, the target
locations for the writing of these scripts must be
specified.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1898.10 | 9 | 4 | javax.persistence.database-product-name,
javax.persistence.database-major-version,
javax.persistence.database-minor-version
- If scripts are to be generated by the
persistence provider and a connection to the
target database
is not supplied, the
javax.persistence.database-product-name property must
be specified. The value of this property should be the
value returned for the target
database by
the JDBC DatabaseMetaData method getDatabaseProductName.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1898.11 | 9 | 4 | javax.persistence.database-product-name,
javax.persistence.database-major-version,
javax.persistence.database-minor-version - If sufficient
database version information is not included in the
result of this method, the
javax.persistence.
database-major-version and javax.persistence.database-
minor-version properties should be specified as needed.
These should contain the
values returned by the JDBC getDatabaseMajorVersion and
getDatabaseMinor-
Version methods respectively.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1898.12 | 9 | 4 | The
javax.persistence.schema-generation.create-script-source
and javax.persistence.schema-generation.drop-script-source properties are used
for script
execution. In Java EE
container environments, it is generally expected that
the container will be responsible for
executing
DDL scripts, although the container is permitted to
delegate this task to the persistence
provider.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1898.13 | 9 | 4 |
javax.persistence.schema-generation.create-script-source,
javax.persistence.schema-generation.drop-script-source
If DDL scripts are to be used in Java SE
environments
or if the Java EE container
delegates the execution of scripts to the persistence
provider, these properties must be
specified.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1898.14 | 9 | 4 | The
javax.persistence.schema-generation.create-script-source
property specifies a
java.IO.Reader configured for reading of the DDL script
or a
string designating a file URL for the DDL
script.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1898.15 | 9 | 4 | The
javax.persistence.schema-generation.drop-script-source
property specifies a java.IO.Reader
configured for reading of the DDL script or a string
designating a file URL for the DDL script.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1898.16 | 9 | 4 | javax.persistence.schema-generation.connection
The javax.persistence.schema-generation.connection
property specifies
the JDBC connection to be used for schema generation.
This is intended for use in Java EE
environments, where the platform provider may want to
control the database privileges that are
available to the persistence provider. This connection
is provided by the container, and should
be closed by the container when the schema generation
request or entity manager factory creation
completes. The connection provided must have credentials
sufficient for the persistence
provider to carry out the requested actions. If this
property is not specified, the persistence
provider should use the DataSource that has otherwise
been provided.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1899 | 9 | 4.1 | javax.persistence.sql-load-script-source
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1899.1 | 9 | 4 | If a
load script is to be used in Java SE environments or if
the Java EE container delegates the
execution
of the load script to the persistence provider, this
property must be specified.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1899.2 | 9 | 4 | The javax.persistence.sql-load-script-source
property specifies a java.IO.Reader
configured for reading of the SQL load script for
database initialization or a string
designating a file URL for the script.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:979 | 9 | 5 | In Java EE environments, the persistence provider must
process the metadata that is passed to
it at the time createContainerEntityManagerFactory method is
called
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:980 | 9 | 5 |
and create an instance of EntityManagerFactory using the
PersistenceUnitInfo metadata for the factory.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1900 | 9 | 5 | The factory is then returned to the container.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1901 | 9 | 5 | In Java SE environments, the persistence provider must
validate the persistence.xml file
against
the persistence schema that corresponds to the version specified
by the persistence.xml file and report
any validation
errors.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1902 | 9 | 5 |
When the entity manager factory for a persistence unit is
created, it is the responsibility of the
persistence provider to initialize the state of the metamodel
classes of the persistence unit.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1903 | 9 | 5 |
When the persistence provider obtains an object/relational
mapping file, it processes the definitions
that
it contains. The persistence provider must validate any
object/relational mapping files against the
object/relational mapping schema version specified by the
object/relational mapping file and report any
validation errors.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1904 | 9 | 5 |
The object relational mapping file must specify the
object/relational mapping schema
that it is written against by indicating the version element.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1905 | 9 | 5 |
In Java SE environments, the application can pass the
ValidatorFactory instance via the map that
is passed as an argument to the
Persistence.createEntityManagerFactory call. The map
key used must be the standard property name
javax.persistence.validation.factory.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1906 | 9 | 5 |
If no ValidatorFactory instance is provided by the application,
and if a Bean Validation provider is
present in the classpath, the persistence provider must
instantiate the ValidatorFactory using the
default bootstrapping approach as defined by the Bean Validation
specification, namely Validation.
buildDefaultValidatorFactory().
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:981 | 9 | 5.1 | The interface javax.persistence.spi.PersistenceProvider
is implemented by the persistence
provider.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:982 | 9 | 5.1 | It is invoked by the container in Java EE
environments.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:983 | 9 | 5.1 | and by the javax.persistence.Persistence class
in Java SE environments.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:984 | 9 | 5.1 | The javax.persistence.spi.PersistenceProvider
implementation is not intended to be
used
by the application.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:985 | 9 | 5.1 | The PersistenceProvider implementation class must have
a public no-arg constructor.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:985 | 9 | 5.2 |
The ProviderUtil interface is invoked by the PersistenceUtil
implementation to determine the load status
of an entity or entity attribute. It is not intended to be
invoked by the application.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:986 | 9 | 5.3 | Persistence unit properties and hints may be passed to
persistence providers in the Map
parameter of the createEntityManagerFactory(String, Map) method.
These properties correspond to the
elements in the persistence.xml file. When any of these
properties are specified in the Map
parameter, their values override the values of the corresponding
elements in the persistence.xml
file for the named persistence unit. They also override any
defaults that the provider might have
applied
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:987 | 9 | 5.3 | The properties listed below are defined by this
specification.
| true |
| false | technology | removed | false |
PERSISTENCE:SPEC:987.1 | 9 | 5.3 | javax.persistence.lock.timeout — integer value
in milliseconds for pessimistic
lock timeout or string corresponding to integer value.
This is a hint only.
| true |
| false | technology | removed | false |
PERSISTENCE:SPEC:987.2 | 9 | 5.3 | javax.persistence.query.timeout — integer value
in milliseconds for query timeout
or string corresponding to integer value. This is a hint
only.
| true |
| false | technology | removed | false |
PERSISTENCE:SPEC:988 | 9 | 5.3 | javax.persistence.provider — string
corresponding to the provider element in
the persistence.xml.
| true |
| false | technology | removed | false |
PERSISTENCE:SPEC:989 | 9 | 5.3 | javax.persistence.transactionType — string
corresponding to the transaction-type
attribute in the persistence.xml.
| true |
| false | technology | removed | false |
PERSISTENCE:SPEC:990 | 9 | 5.3 | javax.persistence.jtaDataSource — string
corresponding to the jta-data-source
element
in the persistence.xml.
| true |
| false | technology | removed | false |
PERSISTENCE:SPEC:987.3 | 9 | 5.3 | javax.persistence.sharedCache.mode — string
corresponding to the
shared-cache-mode element in the persistence.xml.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:987.4 | 9 | 5.3 | javax.persistence.validation.mode — string
corresponding to the validation-mode
element
in the persistence.xml.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:987.5 | 9 | 5.3 | javax.persistence.validation.group.pre-persist
— string corresponding to the
javax.persistence.validation.group.pre-persist property
in the persistence.xml.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:987.6 | 9 | 5.3 | javax.persistence.validation.group.pre-update —
string corresponding to the
javax.persistence.validation.group.pre-update property
in the persistence.xml.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:987.7 | 9 | 5.3 | javax.persistence.validation.group.pre-remove —
string corresponding to the
javax.persistence.validation.group.pre-remove property
in the persistence.xml.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:1907 | 9 | 5.3 | Any number of vendor-specific properties may also be
included in the map. Properties that are
not recognized by a vendor must be ignored.
| true |
| false | technology | removed | false |
PERSISTENCE:SPEC:1908 | 9 | 5.3 | Entries that make use of the namespace
javax.persistence and its subnamespaces must not be used
for vendor-specific information. The namespace javax.persistence
is reserved for use by this
specification.
| true |
| false | technology | removed | false |
PERSISTENCE:SPEC:1909 | 9 | 6 |
The enum javax.persistence.spi.PersistenceUnitTransactionType
defines whether the entity managers
created by the factory will be JTA or resource-local entity
managers.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1910 | 9 | 6 |
The enum javax.persistence.SharedCacheMode defines the use of
caching. The persistence. xml
shared-cache-mode element has no default value.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1911 | 9 | 6 |
The getSharedCacheMode method must return UNSPECIFIED if the
shared-cache-mode element has not been
specified for the persistence unit.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1912 | 9 | 6 | The enum javax.persistence.ValidationMode defines the
validation mode.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1913 | 9 | 6.1 | The javax.persistence.spi.ClassTransformer interface is
implemented by a persistence provider
that wants to transform entities and managed classes at class
load time or at class redefinition time.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1914 | 9 | 7 |
The Persistence class is used to obtain an EntityManagerFactory
instance in Java SE environments.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1915 | 9 | 7 |
It may also be used for schema generation.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1916 | 9 | 7 |
The Persistence class is available in a Java EE container
environment as well; however, support for the
Java SE bootstrapping APIs is not required in container
environments.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1917 | 9 | 7 |
The Persistence class is used to obtain a PersistenceUtil
instance in both Java EE and Java SE
environments.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1918 | 9 | 7 |
The properties argument passed to the createEntityManagerFactory
method is used to specify both standard
and vendor-specific properties and hints intended for use in
creating the entity manager factory.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1919 | 9 | 7 |
The following properties correspond to the elements and
properties in the persistence.xml file. When any
of
these properties are specified in the Map parameter passed to
the createEntityManagerFactory
method, their values override the values of the corresponding
elements and properties in the
persistence.
xml file for the named persistence unit. They also override any
defaults that the persistence
provider might have applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1919.1 | 9 | 7 |
javax.persistence.lock.timeout — integer value in
milliseconds for pessimistic lock timeout
or
string corresponding to integer value. This corresponds
to the property of the
same name in the persistence.xml, and is a hint only.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1919.2 | 9 | 7 |
javax.persistence.query.timeout — integer value in
milliseconds for query timeout or string
corresponding to integer value. This corresponds to the
property of the same name in the persistence.xml, and is
a hint only.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1919.3 | 9 | 7 |
javax.persistence.provider — string corresponding to the
provider element in the
persistence.xml
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1919.4 | 9 | 7 |
javax.persistence.transactionType — string corresponding
to the transaction type attribute
in
the persistence.xml.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1919.5 | 9 | 7 |
javax.persistence.jtaDataSource — string corresponding
to the jta-data-source element in the
persistence.xml.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1919.6 | 9 | 7 |
javax.persistence.nonJtaDataSource — string
corresponding to the non-jta-data-source element
in
the persistence.xml.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1919.7 | 9 | 7 |
javax.persistence.sharedCache.mode — string
corresponding to the shared-cache-mode element
in
the persistence.xml.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1919.8 | 9 | 7 |
javax.persistence.validation.mode — string corresponding
to the validation mode element in
the
persistence.xml. The value is "auto", "callback", or
"none".
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1919.9 | 9 | 7 |
javax.persistence.validation.group.pre-persist — string
corresponding to the
javax.persistence.validation.group.pre-persist property
in the persistence.xml.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1919.10 | 9 | 7 |
javax.persistence.validation.group.pre-update — string
corresponding to the
javax.persistence.validation.group.pre-update property
in the persistence.xml.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1919.11 | 9 | 7 |
javax.persistence.validation.group.pre-remove — string
corresponding to the
javax.persistence.validation.group.pre-remove property
in the persistence.xml.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1919.12 | 9 | 7 |
javax.persistence.schema-generation.create-script-source
- string
corresponding to the
javax.persistence.ddl-create-script-source property in
the persistence.xml.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1919.13 | 9 | 7 |
javax.persistence.schema-generation.drop-script-source
—string corresponding to the
javax.persistence.ddl-drop-script-source property in the
persistence.xml.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1919.14 | 9 | 7 | javax.persistence.sql-load-script-source
—string corresponding to the
javax.persistence.sql-load-script-source property in the
persistence.xml.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1919.21 | 9 | 7 |
javax.persistence.schema-generation.database.action —
string corresponding to the
javax.persistence.schema-generation.database.action
property in the persistence.xml.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1919.22 | 9 | 7 |
javax.persistence.schema-generation.scripts.action —
string corresponding to the
javax.persistence.schema-generation.scripts.action
property in the persistence.xml.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1919.23 | 9 | 7 |
javax.persistence.schema-generation.create-source —
string corresponding to the
javax.persistence.schema-generation.create-source
property in the persistence.xml.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1919.24 | 9 | 7 | javax.persistence.schema-generation.drop-source
— string corresponding to the
javax.persistence.schema-generation.drop-source property
in the persistence.xml.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1919.25 | 9 | 7 |
javax.persistence.schema-generation.scripts.create-target
—string corresponding to the
javax.persistence.schema-generation.scripts.create-target
property in the persistence.xml.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1919.21 | 9 | 7 |
javax.persistence.schema-generation.scripts.drop-target
— string corresponding to the
javax.persistence.schema-generation.scripts.drop-target
property in the persistence.xml.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1919.15 | 9 | 7 |
javax.persistence.jdbc.driver — value is the fully
qualified name of the driver class.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1919.16 | 9 | 7 |
javax.persistence.jdbc.url — string corresponding to the
driver-specific URL.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1919.17 | 9 | 7 |
javax.persistence.jdbc.user — value is the username used
by database connection.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1919.18 | 9 | 7 |
javax.persistence.jdbc.password — value is the password
for database connection validation.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1919.19 | 9 | 7 |
javax.persistence.dataSource — value is instance of
javax.sql.DataSource to be used for the
specified persistence unit.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1919.20 | 9 | 7 |
javax.persistence.validation.factory — value is instance
of
javax.validation.ValidatorFactory
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1920 | 9 | 7 |
Any number of vendor-specific properties may also be included in
the map.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1921 | 9 | 7 |
If a persistence provider does not recognize a property (other
than a property defined by this
specification), the provider must ignore it.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1922 | 9 | 7 |
Vendors should use vendor namespaces for properties (e.g.,
com.acme.persistence.logging).
Entries that make use of the namespace javax.persistence and its
subnamespaces must not be
used for vendor-specific information. The namespace
javax.persistence is reserved for use by
this specification.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1923 | 9 | 8.1 |
The implementation of the PersistenceUtil.isLoaded(Object)
method must determine the
list of persistence providers available in the runtime
environment and call the ProviderUtil.
isLoaded(Object) method on each of them until either:
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1923.1 | 9 | 8.1 |
one provider returns LoadState.LOADED. In this case
PersistenceUtil.isLoaded returns true.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1923.2 | 9 | 8.1 |
one provider returns LoadState.NOT_LOADED. In this case
PersistenceUtil.isLoaded returns
false.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1923.3 | 9 | 8.1 |
all providers return LoadState.UNKNOWN. In this case
PersistenceUtil.isLoaded returns true.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1923.4 | 9 | 8.1 |
If the PersistenceUtil implementation determines that
only a single provider is available in
the
environment, it is permitted to use provider-specific
methods to determine the result of
isLoaded(Object) as long as the semantics defined in
section 3.2.9 are observed.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1924 | 9 | 8.1 |
The implementation of the
PersistenceUtil.isLoaded(Object,String) method must
determine the list of persistence providers available in the
environment and call the ProviderUtil.
isLoadedWithoutReference method on each of them until either:
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1924.1 | 9 | 8.1 |
one provider returns LoadState.LOADED. In this case
PersistenceUtil.isLoaded returns true.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1924.2 | 9 | 8.1 |
one provider returns LoadState.NOT_LOADED. In this case
PersistenceUtil.isLoaded returns
false.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1924.3 | 9 | 8.1 |
all providers return LoadState.UNKNOWN. In this case,
the PersistenceUtil.isLoaded method
then
calls ProviderUtil.isLoadedWithReference on each of the
providers until:
• one provider returns LoadState.LOADED. In this case
PersistenceUtil.isLoaded return true.
• one provider returns LoadState.NOT_LOADED. In this
case, PersistenceUtil.isLoaded returns
false.
• all providers return LoadState.UNKNOWN. In this case,
PersistenceUtil.isLoaded returns
true.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1924.4 | 9 | 8.1 |
If the PersistenceUtil implementation determines that
only a single provider is available in
the
environment, it is permitted to use provider-specific
methods to determine the result of
isLoaded(Object, String) as long as the semantics
defined in section 3.2.9 are observed.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:993 | 10 | 1 | Entity Annotation | true |
| false | technology | active | true |
PERSISTENCE:SPEC:994 | 10 | 1 | The name annotation element specifies the
entity name. If the name element is not
specified, the entity name defaults to the unqualified
name of the entity class.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:995 | 10 | 1 | This name is used to refer to the entity in
queries.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:997 | 10 | 2 | Callback Annotations | true |
| false | technology | removed | true |
PERSISTENCE:SPEC:998 | 10 | 2 | The EntityListeners annotation specifies the callback
listener classes to be used for
an entity or mapped superclass.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1925 | 10 | 2 |
The ExcludeSuperclassListeners annotation specifies that the
invocation of superclass listeners
is to be excluded for the entity class (or mapped superclass)
and its subclasses.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1926 | 10 | 2 |
The ExcludeDefaultListeners annotation specifies that the
invocation of default listeners is to
be excluded for the entity class (or mapped superclass) and its
subclasses.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:999 | 10 | 2 | The following annotations are used to specify callback
methods for the corresponding
lifecycle events. These annotations may be applied to methods of
an entity class, of a mapped
superclass, or of an entity listener class.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:999.1 | 10 | 2 | PrePersist
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:999.2 | 10 | 2 | PostPersist
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:999.3 | 10 | 2 | PreRemove
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:999.4 | 10 | 2 | PostRemove,
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:999.5 | 10 | 2 | PreUpdate
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:999.6 | 10 | 2 | PostUpdate
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:999.7 | 10 | 2 | PostLoad
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2454 | 10 | 3.1 | The NamedEntityGraph annotation is used to define a
named entity graph.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2455 | 10 | 3.1 | The entity graph may be retrieved by name using the
EntityManagerFactory interface.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2456 | 10 | 3.1 | The entity graph may be used to specify the path and
boundaries for find operations or queries.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2457 | 10 | 3.1 | The NamedEntityGraph annotation must be applied to the
entity class that forms the root of the corresponding graph of
entities.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2458 | 10 | 3.1 | The name element is used to refer to the entity graph.
It defaults to the entity name of the root entity to which the
annotation is applied. Entity graph names must be unique within
the persistence unit.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2459 | 10 | 3.1 | The attributeNodes element lists attributes of the
annotated entity class that are to be included in the entity
graph.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2460 | 10 | 3.1 | The includeAllAttributes element specifies that all
attributes of the annotated entity class are
to be included in the entity graph. An attributeNode element may
still be used in conjunction with
this element to specify a subgraph for the attribute.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2461 | 10 | 3.1 | The subgraphs element specifies a list of subgraphs,
further specifying attributes that are managed
types. These subgraphs are referenced by name from
NamedAttributeNode definitions.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2462 | 10 | 3.1 | The subclassSubgraphs element specifies a list of
subgraphs that add additional attributes for subclasses of the
root entity to which the annotation is applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2463 | 10 | 3.1 | The NamedEntityGraphs annotation is used to specify
multiple named entity graphs for the entity to which it is
applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2464 | 10 | 3.2 | The NamedAttributeNode annotation is used to specify an
attribute node of within an entity graph
or subgraph.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2465 | 10 | 3.2 | The value element specifies the name of the
corresponding attribute.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2466 | 10 | 3.2 | The subgraph element is used to refer to a
NamedSubgraph specification that further characterizes
an attribute node corresponding to a managed type (entity or
embeddable). The value of the subgraph
element must correspond to the name used for the subgraph in the
NamedSubgraph element.
If the referenced attribute is an entity which has entity
subclasses, there may be more than one Named-
Subgraph element with this name, and the subgraph element is
considered to refer to all of these.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2467 | 10 | 3.2 | The keySubgraph element is used to refer to a
NamedSubgraph specification that further characterizes
an attribute node corresponding to the key of a Map-valued
attribute. The value of the the key-
Subgraph element must correspond to the name used for the
subgraph in the NamedSubgraph
element. If the referenced attribute is an entity which has
entity subclasses, there may be more than one
NamedSubgraph element with this name, and the keySubgraph
element is considered to refer to
all of these.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2468 | 10 | 3.3 | The NamedSubgraph annotation is used to further define
an attribute node. It is referenced by its
name from the subgraph or keySubgraph element of a
NamedAttributeNode element.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2469 | 10 | 3.3 | The name element is the name used to reference the
subgraph from a NamedAttributeNode definition.
In the case of entity inheritance, multiple subgraph elements
have the same name.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2470 | 10 | 3.3 | The type element must be specified when the subgraph
corresponds to a subclass of the entity type
corresponding to the referencing attribute node.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2471 | 10 | 3.3 | The attributeNodes element lists attributes of the
class that must be included. If the subgraph corresponds
to a subclass of the class referenced by the corresponding
attribute node, only subclass-specific
attributes are listed.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1004 | 10 | 4.1 | The NamedQuery annotation is used to specify a named
query in the Java Persistent query
language. The name element is used to refer to the query when
using the EntityManager methods that
create query objects.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1238 | 10 | 4.1 | The query element must specify a query string in the
Java Persistence query language.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1927 | 10 | 4.1 |
The lockMode element specifies a lock mode for the results
returned by the query. If a lock mode
other than NONE is specified, the query must be executed within
a transaction and the persistence
context
joined to the transaction.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1928 | 10 | 4.1 |
The hints elements may be used to specify query properties and
hints. Properties defined by this
specification
must be observed by the provider; hints defined by this
specification should be observed by the
provider when possible. Vendor-specific hints that are not
recognized by a provider must be ignored.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1929 | 10 | 4.1 |
The NamedQuery and NamedQueries annotations can be applied to an
entity or mapped superclass.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1005 | 10 | 4.2 | The NamedNativeQuery annotation is used to specify a
native SQL named query. The name element
is used to refer to the query when using the EntityManager
methods that create query objects.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1930 | 10 | 4.2 | The query element specifies the native query.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1006 | 10 | 4.2 | The resultClass element refers to the class of the
result.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1007 | 10 | 4.2 | the value of the resultSetMapping element is the name
of a SQLResultSetMapping as defined in
the metadata.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1931 | 10 | 4.2 |
The hints elements may be used to specify query properties and
hints. Hints defined by this
specification
should be observed by the provider when possible.
Vendor-specific hints that are not recognized by
a provider must be ignored.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1932 | 10 | 4.2 | The NamedNativeQuery and NamedNativeQueries annotations
can be applied to an entity or
mapped superclass.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1933 | 10 | 4.3 |
The NamedStoredProcedureQuery annotation is used to specify a
stored procedure, its parameters, and its
result type.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1934 | 10 | 4.3 |
The name element is the name that is passed as an argument to
the createNamedStoredProcedureQuery method
to create an executable StoredProcedureQuery object.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1935 | 10 | 4.3 |
The procedureName element is the name of the stored procedure in
the database.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1936 | 10 | 4.3 |
The parameters of the stored procedure are specified by the
parameters element. All parameters must be
specified in the order in which they occur in the parameter list
of the stored procedure.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1937 | 10 | 4.3 |
The resultClasses element refers to the class (or classes) that
are used to map the results.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1938 | 10 | 4.3 |
The resultSetMappings element names one or more result set
mappings, as defined by the
SqlResultSetMapping annotation.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1939 | 10 | 4.3 |
If there are multiple result sets, it is assumed that they will
be mapped using the same mechanism
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1940 | 10 | 4.3 |
The order of the specification of these mappings must be the
same as the order in which the result sets
will be returned by the stored procedure invocation.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1941 | 10 | 4.3 |
If the stored procedure returns one or more result sets and no
resultClasses or resultSetMappings
element is specified, any result set will be returned as a list
of type Object[].
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1942 | 10 | 4.3 |
The combining of different strategies for the mapping of stored
procedure result sets is undefined.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1943 | 10 | 4.3 |
The hints element may be used to specify query properties and
hints. Properties defined by this
specification
must be observed by the provider. Vendor-specific hints that are
not recognized by a provider
must be ignored.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1944 | 10 | 4.3 |
The NamedStoredProcedureQuery and NamedStoredProcedureQueries
annotations can be applied to an entity or
mapped superclass.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1945 | 10 | 4.3 |
All parameters of a named stored procedure query must be
specified using the StoredProcedureParameter
annotation.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1946 | 10 | 4.3 |
The name element refers to the name of the parameter as defined
by the stored procedure in the database.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1947 | 10 | 4.3 |
If a parameter name is not specified, it is assumed that the
stored procedure uses positional
parameters.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1948 | 10 | 4.3 |
The mode element specifies whether the parameter is an IN,
INOUT, OUT, or REF_CURSOR parameter.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1949 | 10 | 4.3 | REF_CURSOR parameters are used by some databases to
return result sets from stored procedures.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1950 | 10 | 4.3 | The type element refers to the JDBC type for the
parameter.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1008 | 10 | 4.4 | Annotations for SQL Query Result Set Mappings
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1009 | 10 | 4.4 | The SqlResultSetMapping annotation is used to specify
the mapping of the result of a
native SQL query or stored procedure.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1010 | 10 | 4.4 | The name element is the name given to the result set
mapping and is used to refer to it in
the methods of the Query and StoredProcedureQuery APIs.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1011 | 10 | 4.4 | The entities, classes, and columns elements are used to
specify the mapping to
entities, constructors, and to scalar values respectively.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1012 | 10 | 4.4 | The entityClass element specified the class of the
result.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1014 | 10 | 4.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:1013 | 10 | 4.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:1015 | 10 | 4.4 | The name element is the name of the persistent field or
property of the class.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1016 | 10 | 4.4 | The column element specifies the name of the
corresponding column in the SELECT list
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1951 | 10 | 4.4 | The targetClass element specifies the class whose
constructor is to be invoked.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1952 | 10 | 4.4 | The columns element specifies the mapping of columns in
the SELECT list to the arguments of the
intended constructor.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1953 | 10 | 4.4 | The name element specifies the name of the column in
the SELECT list.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1954 | 10 | 4.4 | The type element specifies the Java type to which the
column type is to be mapped.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1955 | 10 | 4.4 | If the type element is not specified, the default JDBC
type mapping for the column will be
used.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1018 | 10 | 5 | References to EntityManager and EntityManagerFactory
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1019 | 10 | 5.1 | The PersistenceContext annotation is used to
express a dependency on a
container-managed
entity manager and its associated persistence context.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1020 | 10 | 5.1 | The name element refers to the name by which
the entity manager is to be accessed
in
the environment referencing context, and is not needed
when dependency injection is used.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1021 | 10 | 5.1 | The optional unitName element refers to the
name of the persistence unit. If the
unitName element is specified, the persistence unit for
the entity manager that is
accessible in
JNDI must have the same name.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1022 | 10 | 5.1 | The type element specifies whether a
transaction-scoped or extended persistence
context
is to be used. If the type element is not specified, a
transaction-scoped persistence
context is
used.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1018.1 | 10 | 5.1 | The synchronizationType element specifies
whether the persistence context is always
automatically synchronized with the current transaction
or whether the persistence context
must
be explicitly joined to the current transaction by means
of the EntityManager
joinTransaction
method.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1018.2 | 10 | 5.1 | The optional properties element may be used to
specify properties for the container
or
persistence provider. Properties defined by this
specification must be observed by the
provider.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1018.3 | 10 | 5.1 | The optional properties element may be used to
specify properties for the container
or
persistence provider. Properties defined by this
specification must be observed by the
provider.
Vendor specific
properties may be included in the set of properties, and
are passed to the persistence
provider
by the
container when the entity manager is created.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1018.4 | 10 | 5.1 | Properties that are not recognized by a vendor
must be ignored.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1018.5 | 10 | 5.1 | The PersistenceContexts annotation declares one
or more PersistenceContext annotations.
It is used to express a dependency on multiple
persistence contexts.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1023 | 10 | 5.2 | The PersistenceUnit annotation is used to express a
dependency on an entity manager
factory and its associated persistence unit.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1024 | 10 | 5.2 | The name element refers to the name by which the entity
manager factory is to be
accessed in the environment referencing context, and is not
needed when dependency injection
is
used.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1025 | 10 | 5.2 | The optional unitName element refers to the name of the
persistence unit as defined
in
the persistence.xml file. If the unitName element is specified,
the persistence unit for the
entity manager factory that is accessible in JNDI must have the
same name.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2420 | 10 | 5.2 | The PersistenceUnits annotation declares one or more
PersistenceUnit annotations. It is
used to express a dependency on multiple persistence units
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1956 | 10 | 6 | A converter class must be | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1956.1 | 10 | 6 | annotated with the Converter annotation
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1956.2 | 10 | 6 | defined in the XML descriptor as a converter
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1957 | 10 | 6 |
If the autoApply element is specified as true, the persistence
provider must automatically apply the
converter to all mapped attributes of the specified target type
for all entities in the persistence unit
except for attributes for which conversion is overridden by
means of the Convert annotation (or XML
equivalent).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1958 | 10 | 6 | In determining whether a converter is applicable to an
attribute, the provider must treat
primitive types and wrapper types as equivalent.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1959 | 10 | 6 | Note that Id attributes, version attributes,
relationship attributes, and attributes explicitly
annotated as Enumerated or Temporal (or designated as such via
XML) will not be converted.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1960 | 10 | 6 |
If autoApply is false, only those attributes of the target type
for which the Convert annotation (or
corresponding XML element) has been specified will be converted.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1961 | 10 | 6 |
Note that if autoApply is true, the Convert annotation may be
used to override or disable auto-apply
conversion on a per-attribute basis.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1962 | 10 | 6 |
If there is more than one converter defined for the same target
ype, the Convert annotation should be
used to explicitly specify which converter to use.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1026 | 11 | 0 | The implementation of this
specification must assume this application dependency upon the
object/relational mapping metadata
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1027 | 11 | 0 | It is permitted, but not required, that DDL generation
be supported by an implementation of
this specification. Portable applications should not rely upon
the use of DDL generation.
| false |
| true | technology | removed | true |
PERSISTENCE:SPEC:1963 | 11 | 1 | XML metadata may be used as an alternative to these
annotations, or to override or augment
annotations
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1239 | 11 | 1.1 | The Access annotation is used to specify an access type
to be applied to an entity class,
mapped superclass, or embeddable class, or to a specific
attribute of such a class.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1964 | 11 | 1.2 |
The AssociationOverride annotation may be applied to an entity
that extends a mapped superclass to
override a relationship mapping defined by the mapped
superclass.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1062.1 | 11 | 1.2 | If the AssociationOverride annotation is not specified,
the association is mapped the same as
in the original mapping. The joinColumns element refers to the
table for the class that contains the
annotation.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1965 | 11 | 1.2 |
When used to override a mapping defined by a mapped superclass,
the AssociationOverride annotation is
applied to the entity class.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1241 | 11 | 1.2 | The AssociationOverride annotation may be used to
override a relationship mapping from an
embeddable within an entity to another entity when the
embeddable is on the owning side of the
relationship.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1966 | 11 | 1.2 |
When used to override a relationship mapping defined by an
embeddable class (including an embeddable
class embedded within another embeddable class), the
AssociationOverride annotation is applied to the
field or property containing the embeddable.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1967 | 11 | 1.2 |
When the AssociationOverride annotation is used to override a
relationship mapping from an embeddable
class, the name element specifies the referencing relationship
field or property within the embeddable
class.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1968 | 11 | 1.2 |
To override mappings at multiple levels of embedding, a dot
(".") notation syntax must be used in the
name element to indicate an attribute within an embedded
attribute. The value of each identifier used
with the dot notation is the name of the respective embedded
field or property.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1242 | 11 | 1.2 |
When the AssociationOverride annotation is applied to override
the mappings of an embeddable class used
as a map value, "value." must be used to prefix the name of the
attribute within the embeddable class
that is being overridden in order to specify it as part of the
map value. The use of map keys that
contain embeddables that reference entities is not permitted.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1969 | 11 | 1.2 |
If the relationship mapping is a foreign key mapping, the
joinColumns element of the AssociationOverride annotation is
used.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1243 | 11 | 1.2 |
If the relationship mapping uses a join table, the joinTable
element of the AssociationOverride element
must be specified to override the mapping of the join table
and/or its join columns. Note that either
the joinColumns element or the joinTable element of the
AssociationOverride annotation is specified
for overriding a given relationship (but never both).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2488 | 11 | 1.2 | The foreignKey element is used to specify or control
the generation of a foreign key constraint for the columns
corresponding to the joinColumns element when table generation
is in effect.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2489 | 11 | 1.2 | If both
this element and the foreignKey element of any of the
joinColumns elements are specified, the
behavior is undefined.
| false |
| false | technology | active | true |
PERSISTENCE:SPEC:1240 | 11 | 1.2 | The AssociationOverride annotation may be applied to an
entity that extends a mapped superclass
to override a many-to-one or one-to-one mapping defined by the
mapped superclass.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:1970 | 11 | 1.3 |
The mappings of multiple relationship properties or fields may
be overridden. The AssociationOverrides
annotation is used for this purpose.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1059 | 11 | 1.4 | The AttributeOverride annotation is used to override
the mapping of a Basic (whether explicit
or default) property or field or Id property or field.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1244 | 11 | 1.4 | The AttributeOverride annotation may be applied to an
entity that extends a mapped superclass
or to an embedded field or property to override a Basic mapping
or Id mapping defined by the mapped
superclass or embeddable class (or embeddable class of one of
its attributes).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1971 | 11 | 1.4 | The AttributeOverride annotation may be applied to an
element collection containing instances
of an embeddable class
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1972 | 11 | 1.4 | The AttributeOverride annotation may be applied to a
map collection whose key and/or value is
an embeddable class.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1245 | 11 | 1.4 | When the AttributeOverride annotation is applied to a
map, "key." or "value." must be used to
prefix the name of the attribute that is being overridden in
order to specify it as part of the map key
or map value.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1973 | 11 | 1.4 | To override mappings at multiple levels of embedding, a
dot (".") notation form must be used in
the name element to indicate an attribute within an embedded
attribute. The value of each identifier
used
with the dot notation is the name of the respective embedded
field or property.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1974 | 11 | 1.4 | If the AttributeOverride annotation is not specified,
the column is mapped the same as in the
original mapping.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1975 | 11 | 1.4 | The column element refers to the table for the class
that contains the annotation.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1062 | 11 | 1.5 | 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.5 | 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 | removed | true |
PERSISTENCE:SPEC:1069 | 11 | 1.6 | The Basic annotation is the simplest type of mapping to
a database column. The Basic annotation
can be applied to a persistent property or instance variable of
any of the following types
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1070 | 11 | 1.6 | Java primitive types
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1072 | 11 | 1.6 | wrappers of the primitive types
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1071 | 11 | 1.6 | java.lang.String
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1077 | 11 | 1.6 | java.math.BigInteger
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1078 | 11 | 1.6 | java.math.BigDecimal
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1079 | 11 | 1.6 | java.util.Date
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1080 | 11 | 1.6 | java.util.Calendar
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1081 | 11 | 1.6 | java.sql.Date
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1082 | 11 | 1.6 | java.sql.Time
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1083 | 11 | 1.6 | java.sql.TimeStamp
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1073 | 11 | 1.6 | byte[]
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1074 | 11 | 1.6 | Byte[]
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1075 | 11 | 1.6 | char[]
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1076 | 11 | 1.6 | Character[]
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1069.1 | 11 | 1.6 | enums
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1069.2 | 11 | 1.6 | any other type that implements Serializable
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1976 | 11 | 1.6 | the use of
the Basic annotation is optional for persistent fields and
properties of these types. If the Basic
annotation
is not specified for such a field or property, the default
values of the Basic annotation will apply.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1977 | 11 | 1.6 | The EAGER strategy is a requirement on the persistence
provider runtime that data must be
eagerly fetched.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1084 | 11 | 1.6 | The 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 | false |
PERSISTENCE:SPEC:1085 | 11 | 1.6 | The implementation is permitted to eagerly fetch data
for which the LAZY strategy hint hasd
been specified.
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:1086 | 11 | 1.6 | In particular, lazy fetching might only be available
for Basic mappings for which
property-based access is used.
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:1087 | 11 | 1.6 | The optional element is a hint as to whether the value
of the field or property may
be null.
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:1088 | 11 | 1.6 | It is disregarded for primitive types. | true |
| true | technology | active | false |
PERSISTENCE:SPEC:1978 | 11 | 1.7 | The Cacheable annotation specifies whether an entity
should be cached if caching is enabled
when the value of the persistence.xml shared-cache-mode element
is ENABLE_SELECTIVE or
DISABLE_SELECTIVE.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1979 | 11 | 1.7 | The value of the Cacheable annotation is inherited by
subclasses; it can be overridden by
specifying Cacheable on a subclass.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1980 | 11 | 1.7 | Cacheable(false) means that the entity and its state
must not be cached by the provider.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1981 | 11 | 1.7 | If the shared-cache-mode element is not specified in
the persistence.xml file and the
javax.persistence.sharedCache.mode property is not specified
when the entity manager
factory for the persistence unit is created, the semantics of
the Cacheable annotation are undefined.
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:1982 | 11 | 1.8 | The CollectionTable annotation is used in the mapping
of collections of
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1982.1 | 11 | 1.8 | basic types | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1982.2 | 11 | 1.8 | embeddable types | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1246 | 11 | 1.8 | The CollectionTable annotation specifies the table that
is used for the mapping of the
collection and is specified on the collection valued field or
property.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1983 | 11 | 1.8 |
By default, the columns of the collection table that correspond
to the embeddable class are derived from
the attributes of the embeddable class according to the default
values of the Column annotation,
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1984 | 11 | 1.8 |
By default, the columns of the collection table that correspond
to the basic type are derived from the
attributes from the basic type according to the default values
of the Column annotation,
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1985 | 11 | 1.8 |
In the case of a basic type, the column name is derived from the
name of the collection-valued field or
property.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1986 | 11 | 1.8 |
In the case of an embeddable class, the column names are derived
from the field or property names of the
embeddable class.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1247 | 11 | 1.8 | To override the default properties of the column used
for a basic type, the Column annotation
is used on the collection-valued attribute in addition to the
ElementCollection annotation. The value of
the table element of the Column annotation defaults to the name
of the collection table. To override
these defaults for an embeddable class, the AttributeOverride
and/or AttributeOverrides annotations must
be used in addition to the ElementCollection annotation.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1987 | 11 | 1.8 |
The value of the table element of the Column annotation used in
the AttributeOverride annotation
defaults to the name of the collection table.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1988 | 11 | 1.8 |
If the embeddable class contains references to other entities,
the default values for the columns
corresponding to those references may be overridden by means of
the AssociationOverride and/or
AssociationOverrides annotations
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2504 | 11 | 1.8 |
The foreignKey element is used to specify or control the generation of a foreign key constraint for
the columns corresponding to the joinColumns element when table generation is in effect.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2504.1 | 11 | 1.8 |
If both this element and the foreignKey element of any of the joinColumns elements are specified, the behavior is undefined.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2504.2 | 11 | 1.8 |
If no foreignKey annotation element is specified in either location, the persistence provider's default foreign key strategy will apply.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1989 | 11 | 1.8 |
If the CollectionTable annotation is missing, the default values
of the CollectionTable annotation
elements apply.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1037 | 11 | 1.9 | The Column annotation is used to specify a mapped
column for a persistent property or field.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1990 | 11 | 1.9 | If no Column annotation is specified, the default
values apply
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1991 | 11 | 1.10 | The Convert annotation is applied directly to an
attribute of an entity, mapped superclass, or
embeddable class to specify conversion of a Basic attribute or
to override the use of a converter that
has
been specified as autoApply=true.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2421 | 11 | 1.10 | When persistent properties are used, the Convert
annotation is applied to the getter method.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1992 | 11 | 1.10 | The Convert annotation may be applied to an entity that
extends a mapped superclass to specify
or
override the conversion mapping for an inherited basic
attribute.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2422 | 11 | 1.10 | The converter element is used to specify the converter
that is to be applied. If an autoApply
converter
is applicable to the given field or property, the converter
specified by the converter element
will be applied instead.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2423 | 11 | 1.10 | The disableConversion element specifies that any
applicable autoApply converter must not be
applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2424 | 11 | 1.10 | The behavior is undefined if neither the converter
element nor the disableConversion element
has been specified.
| false |
| true | technology | active | true |
PERSISTENCE:SPEC:1993 | 11 | 1.10 | The Convert annotation should not be used to specify
conversion of the following:
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1993.1 | 11 | 1.10 | Id attributes(including the attributes of
embedded ids and derived identities)
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1993.2 | 11 | 1.10 | version attributes | true |
| false | technology | active | false |
PERSISTENCE:SPEC:1993.3 | 11 | 1.10 | relationship attributes | true |
| false | technology | active | false |
PERSISTENCE:SPEC:1993.4 | 11 | 1.10 | attributes explicitly annotated (or designated
via XML) as Enumerated
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1993.5 | 11 | 1.10 | attributes explicitly annotated (or designated
via XML) as Temporal.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1994 | 11 | 1.10 | The Convert annotation may be applied to a basic
attribute or to an element collection of basic
type (in which case the converter is applied to the elements of
the collection).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1995 | 11 | 1.10 | In these cases, the attributeName element must not be
specified.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:1996 | 11 | 1.10 | The Convert annotation may be applied to an embedded
attribute or to a map collection attribute
whose key or value is of embeddable type (in which case the
converter is applied to the specified
attribute of the embeddable instances contained in the
collection).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1997 | 11 | 1.10 | In these cases, the attributeName element must be
specified.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1998 | 11 | 1.10 | To override conversion mappings at multiple levels of
embedding, a dot (".") notation form must
be used in the attributeName element to indicate an attribute
within an embedded attribute. The value of
each identifier used with the dot notation is the name of the
respective embedded field or property.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1999 | 11 | 1.10 | When the Convert annotation is applied to a map
containing instances of embeddable classes, the
attributeName element must be specified, and "key." or "value."
must be used to prefix the name of the
attribute that is to be converted in order to specify it as part
of the map key or map value.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2000 | 11 | 1.10 | When the Convert annotation is applied to a map to
specify conversion of a map key of basic
type, "key" must be used as the value of the attributeName
element to specify that it is the map key
that is to be converted.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2001 | 11 | 1.10 | The Convert annotation may be applied to an entity
class that extends a mapped superclass to
specify or override a conversion mapping for an inherited basic
or embedded attribute.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2002 | 11 | 1.11 | The Converts annotation is used to group Convert
annotations. Multiple converters must not be
applied
to the same basic attribute.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1116 | 11 | 1.12 | For the SINGLE_TABLE mapping strategy, and typically
also for the JOINED strategy, the
persistence provider will use a type discriminator column. The
supported discriminator types are defined
by the DiscriminatorType enum: STRING, CHAR, INTEGER.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1126 | 11 | 1.12 | The DiscriminatorColumn annotation is used to define
the discriminator column for the
SINGLE_TABLE and JOINED inheritance mapping strategies.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2003 | 11 | 1.12 |
The strategy and the discriminator column are only specified in
the root of an entity class hierarchy or
subhierarchy in which a different inheritance strategy is
applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2004 | 11 | 1.12 |
The combination of inheritance strategies within a single entity
inheritance hierarchy is not defined by
this specification.
| false |
| false | technology | active | false |
PERSISTENCE:SPEC:1126.1 | 11 | 1.12 | 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 | 11 | 1.12 | 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.2 | 11 | 1.12 | The type of the discriminator column, if specified in
the optional columnDefinition element,
must be consistent with the discriminator type.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1126.3 | 11 | 1.13 | 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.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1126.4 | 11 | 1.13 | 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:1118 | 11 | 1.13 |
The inheritance strategy and the discriminator column are only
specified in the root of an entity class
hierarchy or subhierarchy in which a different inheritance
strategy is applied.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:2005 | 11 | 1.13 |
The discriminator value, if not defaulted, should be specified
for each entity class in the hierarchy.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:2006 | 11 | 1.13 |
The discriminator value must be consistent in type with the
discriminator type of the specified or
defaulted discriminator column. If the discriminator type is an
integer, the value specified must be
able to be converted to an integer value
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:2513 | 11 | 1.13 | If the DiscriminatorType is STRING, the discriminator value default is the entity name.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:2007 | 11 | 1.14 |
The ElementCollection annotation defines a collection of
instances of a basic type or embeddable class.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:2008 | 11 | 1.14 |
The ElementCollection annotation (or equivalent XML element)
must be specified if the collection is to
be mapped by means of a collection table
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1248 | 11 | 1.14 | The basic or embeddable class that is the element type
of the collection. Optional only if the
collection field or property is defined using Java generics.
Must be specified otherwise.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1249 | 11 | 1.14 | The EAGER strategy is a requirement on the persistence
provider runtime that the collection
elements must be eagerly fetched.
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:1127 | 11 | 1.15 | The Embeddable annotation is used to specify a class
whose instances are stored as an intrinsic
part of an owning entity and share the identity of the entity.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2009 | 11 | 1.16 | The Embedded annotation is used to specify
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2009.1 | 11 | 1.16 | a persistent field | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2009.2 | 11 | 1.16 | property of an entity | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2009.3 | 11 | 1.16 | embeddable class whose value is an instance of
an embeddable class. If the
embeddable
class is used as a primary key, the EmbeddedId rather
than the Embedded annotation is used.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1129 | 11 | 1.16 | 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 | removed | true |
PERSISTENCE:SPEC:1128 | 11 | 1.16 | 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 | removed | true |
PERSISTENCE:SPEC:2010 | 11 | 1.16 | Each of the persistent properties or fields of the
embedded object is mapped to the database
table for the entity or embeddable class.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2011 | 11 | 1.16 | The embeddable class must be annotated as Embeddable.
Use of the Embedded annotation is not
required
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2012 | 11 | 1.16 |
Implementations are not required to support embedded objects
that are mapped across more than one table
(e.g., split across primary and secondary tables or multiple
secondary tables).
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:1063 | 11 | 1.17 | The EmbeddedId annotation is applied to a persistent
field or property of an entity class or
mapped superclass to denote a composite primary key that is an
embeddable class.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2013 | 11 | 1.17 |
The embeddable class must be annotated as Embeddable. Note that
theId annotation is not used in the
embeddable class
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2014 | 11 | 1.17 |
Relationship mappings defined within an embedded id class are
not supported.
| false |
| false | technology | active | true |
PERSISTENCE:SPEC:1064 | 11 | 1.17 | There must be only one EmbeddedId annotation and no Id
annotation when the EmbeddedId
annotation is used.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1251 | 11 | 1.17 | The AttributeOverride annotation may be used to
override the column mappings declared within
the embeddable class.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2015 | 11 | 1.17 | The MapsId annotation may be used in conjunction with
the EmbeddedId annotation to specify a
derived primary key.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2016 | 11 | 1.17 |
If the entity has a derived primary key, the AttributeOverride
annotation may only be used to override
those attributes of the embedded id that do not correspond to
the relationship to the parent entity.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1090.1 | 11 | 1.18 | The Enumerated annotation specifies that a persistent
property or field should be persisted as
enumerated type.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2017 | 11 | 1.18 | The Enumerated annotation may be used in conjunction
with the Basic annotation.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2018 | 11 | 1.18 | The Enumerated annotation may be used in conjunction
with the ElementCollection annotation when
the element collection value is of basic type. If the element
collection is a Map, this applies to the
map value.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1090.2 | 11 | 1.18 | 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:2019 | 11 | 1.18 | Mapping of enum values that contain state is not
supported.
| false |
| false | technology | active | true |
PERSISTENCE:SPEC:1090.3 | 11 | 1.18 | If the enumerated type is not specified or the
Enumerated annotation is not used, the
enumerated type is assumed to be ORDINAL unless a converter is
being applied..
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2020 | 11 | 1.19 |
The ForeignKey annotation is used to specify the handling of
foreign key constraints when schema generation is in effect.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2490 | 11 | 1.19 | If this annotation is not specified, the persistence
provider’s default foreign key strategy
will be used.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2491 | 11 | 1.19 | The enum values have the following semantics:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2491.1 | 11 | 1.19 | A value of CONSTRAINT will cause the
persistence provider to generate a foreign key
constraint.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2491.2 | 11 | 1.19 | A value of NO_CONSTRAINT will result in no
constraint being generated.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2491.3 | 11 | 1.19 | A value of PROVIDER_DEFAULT will result in the
provider's default behavior (which may or may not result
in the generation of a constraint for any given join
column or set of join columns).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2021 | 11 | 1.19 | The syntax used in the foreignKeyDefinition element
should follow the SQL syntax used by the
target database for foreign key constraints
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:2492 | 11 | 1.19 | If the ForeignKey annotation is specified with a
ConstraintMode value of CONSTRAINT, but the foreignKeyDefinition
element is not specified, the provider will generate a foreign
key constraint whose update and delete actions it determines
most appropriate for the join column(s) to which the foreign key
constraint is applied
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:1057 | 11 | 1.20 | 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 mapped superclass in conjunction
with the Id annotation.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2023 | 11 | 1.20 | The use of the GeneratedValue annotation is only
required to be supported for simple primary
keys.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2024 | 11 | 1.20 | Use of the GeneratedValue annotation is not supported
for derived primary keys.
| false |
| false | technology | active | true |
PERSISTENCE:SPEC:1051 | 11 | 1.20 | The types of the primary key generation are defined by
the GenerationType enum.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1052 | 11 | 1.20 | 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 | 11 | 1.20 | The SEQUENCE and IDENTITY values specify the
use of a database sequence or identity
column, respectively. Note that SEQUENCE and IDENTITY
are not portable across all databases.
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:1055 | 11 | 1.20 | The AUTO value indicates that the persistence
provider should pick an appropriate
strategy for the particular database.
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:1253 | 11 | 1.20 | The primary key generation strategy is that the
persistence provider must generate the
annotated entity primary key.
The name of the primary key generator to be used as specified in
the
SequenceGenerator or TableGenerator annotation.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:1066 | 11 | 1.21 | The Id annotation may be applied in an entity or mapped
superclass.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1049 | 11 | 1.21 | The Id annotation specifies the primary key property or
field of an entity.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2025 | 11 | 1.21 | The field or property to which the Id annotation is
applied should be one of the following
types
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2025.1 | 11 | 1.21 | any Java primitive type | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2025.2 | 11 | 1.21 | any primitive wrapper type | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2025.3 | 11 | 1.21 | java.lang.String | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2025.4 | 11 | 1.21 | java.util.Date | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2025.5 | 11 | 1.21 | java.sql.Date | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2025.6 | 11 | 1.21 | java.math.BigDecimal | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2025.7 | 11 | 1.21 | java.math.BigInteger | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1050 | 11 | 1.21 | 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:1065 | 11 | 1.22 | The IdClass annotation is applied to an entity class or
a mapped superclass to specify a
composite primary key class that is mapped to multiple fields or
properties of the entity. The names of
the fields or properties in the primary key class and the
primary key fields or properties of the entity
must correspond and their types must match.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2026 | 11 | 1.23 | The Index annotation is used in schema generation. Note
that it is not necessary to specify an
index
for a primary key, as the primary key index will be created
automatically, however, the Index annotation
may be used to specify the ordering of the columns in the index
for the primary key.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2027 | 11 | 1.23 | The persistence provider must observe the specified
ordering of the columns.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2028 | 11 | 1.23 | If ASC or DESC is not specified, ASC (ascending order)
is assumed.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2029 | 11 | 1.24 |
The Inheritance annotation defines the inheritance strategy to
be used for an entity class hierarchy. It
is specified on the entity class that is the root of the entity
class hierarchy.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1119 | 11 | 1.24 | if no inheritance type is specified for an entity class
hierarchy, the SINGLE_TABLE mapping
strategy is used.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2030 | 11 | 1.24 | Support for the combination of inheritance strategies
is not required by this specification.
| false |
| false | technology | active | true |
PERSISTENCE:SPEC:1112 | 11 | 1.24 | The three inheritance mapping strategies are:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1113 | 11 | 1.24 | single table per class hierarchy | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1115 | 11 | 1.24 | joined subclass | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1114 | 11 | 1.24 | table per concrete class strategies. Support
for the TABLE_PER_CLASS mapping
strategy
is optional in this release.
| false |
| true | technology | active | true |
PERSISTENCE:SPEC:1038 | 11 | 1.25 | The JoinColumn annotation is used to specify a column
for joining an entity association
or element collection.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1042 | 11 | 1.25 | If the JoinColumn annotation itself is defaulted, a
single join column is assumed and the
default values apply.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1039 | 11 | 1.25 | The name annotation element defines the name of the
foreign key column.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2031 | 11 | 1.25 | The remaining annotation elements (other than
referencedColumnName) refer to this column and
have the same semantics as for the Column annotation.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1040 | 11 | 1.25 | 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:1047 | 11 | 1.25 | Support for referenced columns that are not the primary
key of the referenced table is
optional. Applications that use such mappings will not be
portable.
| false |
| true | technology | active | true |
PERSISTENCE:SPEC:2493 | 11 | 1.25 | The foreignKey annotation element is used to specify or
control the generation of a foreign key constraint when schema
generation is in effect. If both this element and the foreignKey element of any
of the JoinColumn elements referenced by the value element are specified, the behavior is undefined. If no foreignKey annotation element is specified in either location, the persistence
provider’'s default foreign key strategy will apply.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:2494 | 11 | 1.25 | If there is more than one join column, a JoinColumn
annotation must be specified for each join column using the
JoinColumns annotation. Both the name and the
referencedColumnName elements must be specified in each such
JoinColumn annotation.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1041 | 11 | 1.25 | 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:1043 | 11 | 1.25 | if a single join column is used | true |
| false | technology | active | true |
PERSISTENCE:SPEC:1044 | 11 | 1.25 |
name default - The concatenation of the following: the
name of the referencing relationship
property or field of the referencing entity; "_"; the
name of the referenced primary key
column.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1043.1 | 11 | 1.25 |
name default - The concatenation of the following: If
there is no such referencing
relationship
property or field in the entity, or if the join is for
an element collection, the join
column
name is formed as the concatenation of the following:
the name of the entity; "_"; the name
of
the referenced primary key column.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1045 | 11 | 1.25 |
referencedColumnName default - If the
referencedColumnName element is missing, The same name
as
the primary key column of the referenced table.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1046 | 11 | 1.25 | If there is more than one join column, a JoinColumn
annotation must be specified for each join
column using the JoinColumns annotation. Both the name and
referencedColumnName elements must be
specified in each such JoinColumn annotation.
annotation.
| false |
| true | technology | active | true |
PERSISTENCE:SPEC:1048 | 11 | 1.26 | Composite foreign keys are supported by means of the
JoinColumns annotation. The JoinColumns
annotation groups JoinColumn annotations for the same
relationship.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2032 | 11 | 1.26 | When the JoinColumns annotation is used, both the name
and the referencedColumnName
elements must be specified in each of the grouped JoinColumn
annotations.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2495 | 11 | 1.26 | The foreignKey annotation element is used to specify or
control the generation of a foreign key constraint when schema
generation is in effect. If this element is not specified, the
persistence provider’s default foreign key strategy will apply.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1097 | 11 | 1.27 | A JoinTable annotation is used in the mapping of
associations. A JoinTable annotation is
specified on the owning side of the association. If the
JoinTable annotation is not explicitly specified
for the mapping of a many-to-many or unidirectional one-to-many
relationship, the default values of the
annotation elements apply. The name of the JoinTable is assumed
to be the tables names of the associated
primary tables concatenated together (owning side first) using
an underscore.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2505 | 11 | 1.27 | The foreignKey element is used to specify or control the generation of a foreign key constraint for the columns corresponding to the joinColumns element when table generation is in effect.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2505.1 | 11 | 1.28 |
If both this element and the foreignKey element of any of the joinColumns elements are specified, the behavior is undefined.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2505.2 | 11 | 1.28 |
If no foreignKey annotation element is specified in either location, the persistence provider's default foreign key strategy will apply. The inverseForeignKey element applies to the generation of a foreign key constraint for the columns corresponding to the inverseJoinColumns element, and similar rules apply.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1089 | 11 | 1.28 | 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:2033 | 11 | 1.28 | The Lob annotation may be used in conjunction with the
Basic annotation or with the
ElementCollection annotation when the element collection value
is of basic type. If the element
collection is a Map, this applies to the map value.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:2034 | 11 | 1.28 | A Lob may be either a binary or character type.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:2035 | 11 | 1.28 | The Lob type is inferred from the type of the
persistent field or property and, except for
string and character types, defaults to Blob.
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:1092 | 9 | 1.25 | Multiple operations may be included in the [cascade]
set.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:1098 | 11 | 1.29 | A ManyToMany annotation defines a many-valued
association with many-to-many multiplicity. If
the collection is defined using generics to specify the element
type, the associated target entity
class does not need to be specified; otherwise it must be
specified.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1254 | 11 | 1.29 | Every many-to-many association has two sides, the
owning side and the non-owning, or inverse,
side. If the association is bidirectional, either side may be
designated as the owning side.
The join table for the relationship, if not defaulted, is
specified on the owning side.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1099 | 11 | 1.29 | Every many-to-many association has two sides, the
owning side and the non-owning or inverse
side. The join table for the relationship, if not defaulted, is
specified on the owning side.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:1256 | 11 | 1.29 | If the relationship is bidirectional, the non-owning
side must use the mappedBy element of the
ManyToMany annotation to specify the relationship field or
property of the owning side.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1255 | 11 | 1.29 | The ManyToMany annotation may be used within an
embeddable class contained within an entity
class to specify a relationship to a collection of entities.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2036 | 11 | 1.29 |
The ManyToMany annotation must not be used within an embeddable
class used in an element collection
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:2037 | 11 | 1.29 |
If the relationship is bidirectional and the entity
containing the embeddable class is the owner of the
relationship, the non-owning side must use the
mappedBy element of the ManyToMany annotation to specify the
relationship field or property of the
embeddable class.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2037.1 | 11 | 1.29 |
The dot (".") notation syntax must be used in the
mappedBy element to indicate the
relationship
attribute within the embedded attribute. The value of
each identifier used with the dot
notation
is the name of the respective embedded
field or property.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1093 | 11 | 1.29 | The value cascade=ALL is equivalent to
cascade={PERSIST, MERGE, REMOVE, REFRESH, DETACH}.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2038 | 11 | 1.29 | When the collection is a java.util.Map, the cascade
element applies to the map value.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2039 | 11 | 1.29 | The EAGER strategy is a requirement on the persistence
provider runtime that the associated
entity must be eagerly fetched.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2040 | 11 | 1.29 | The LAZY strategy is a hint to the persistence provider
runtime that the associated entity
should be fetched lazily when it is first accessed. The
implementation is permitted to eagerly fetch
associations for which the LAZY strategy hint has been
specified.
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:1090 | 11 | 1.30 | 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:1257 | 11 | 1.30 | The ManyToOne annotation may be used within an
embeddable class to specify a relationship from
the embeddable class to an entity class.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1258 | 11 | 1.30 |
If the relationship is bidirectional, the non-owning OneToMany
entity side must use the mappedBy element
of the OneToMany annotation to specify the relationship field or
property of the embeddable field or
property on the owning side of the relationship.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1259 | 11 | 1.30 |
The dot (".") notation syntax must be used in the mappedBy
element to indicate the relationship
attribute within the embedded attribute. The value of each
identifier used with the dot notation is the
name of the respective embedded field or
property.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1091 | 11 | 1.30 | The operations that can be cascaded are defined by the
CascadeType enum
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2041 | 11 | 1.30 | The EAGER strategy is a requirement on the persistence
provider runtime that the associated
entity must be eagerly fetched.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2042 | 11 | 1.30 | The LAZY strategy is a hint to the persistence provider
runtime that the associated entity
should be fetched lazily when it is first accessed. The
implementation is permitted to eagerly fetch
associations for which the LAZY strategy hint has been
specified.
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:1100 | 11 | 1.31 | The MapKey annotation is used to specify the map key
for associations of type java.util.Map.
When the mapkey is itself the primary key or a persistent field
or property of the entity that is the
value of the map.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1101 | 11 | 1.31 | The name element designates the name of the persistent
field or
property of the associated entity that is used as the map key.
If name element is not specified,the primary key of the
associated entity is used as the map key.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1102 | 11 | 1.31 | 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:2043 | 11 | 1.31 | If a persistent field or property other than the
primary key is used as a map key, it is
expected to be unique within the context of the relationship.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2044 | 11 | 1.31 | The MapKeyClass annotation is not used when MapKey is
specified and vice versa.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2045 | 11 | 1.32 | The map key can be | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2045.1 | 11 | 1.32 | a basic type | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2045.2 | 11 | 1.32 | an embeddable class | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2045.3 | 11 | 1.32 | an entity | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2046 | 11 | 1.32 | If the map is specified using Java generics, the
MapKeyClass annotation and associated type
need not be specified; otherwise they must be specified.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2047 | 11 | 1.32 | The MapKeyClass annotation is used in conjunction
with
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2047.1 | 11 | 1.32 | ElementCollection | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2047.2 | 11 | 1.32 | one of the collection-
valued relationship annotations (OneToMany).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2047.3 | 11 | 1.32 | one of the collection-
valued relationship annotations (ManyToMany).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2048 | 11 | 1.32 | The MapKey annotation is not used when MapKeyClass is
specified and vice versa.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1261 | 11 | 1.33 | The MapKeyColumn annotation is used to specify the
mapping for the key column of a map whose
map key is a basic type.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2049 | 11 | 1.33 | If the name element is not specified, it defaults to
the concatenation of the following:
the name of the referencing relationship field or property; "_";
"KEY".
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2050 | 11 | 1.33 | If no MapKeyColumn annotation is specified, the default
values in Table apply.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2051 | 11 | 1.34 | The MapKeyEnumerated annotation is used to specify the
enum type for a map key whose basic type
is an enumerated type.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2052 | 11 | 1.34 | The MapKeyEnumerated annotation can be applied to an
element collection or relationship of type
java.util.Map, in conjunction with the
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2052.1 | 11 | 1.34 | ElementCollection annotation. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2052.2 | 11 | 1.34 | OneToMany annotation. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2052.3 | 11 | 1.34 | ManyToMany annotation. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2053 | 11 | 1.34 | If the map is specified using Java generics, the
MapKeyClass annotation and associated
type need not be specified; otherwise they must be specified.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2054 | 11 | 1.34 | If the enumerated type is not specified or the
MapKeyEnumerated annotation is not used, the
enumerated type is assumed to be ORDINAL.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2055 | 11 | 1.35 | The MapKeyJoinColumn annotation is used to specify a
mapping to an entity that is a map key.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2056 | 11 | 1.35 | The map key join column is in the | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2056.1 | 11 | 1.35 | collection table of the target entity that is
used to represent
the map
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2056.2 | 11 | 1.35 | join table of the target entity that is used to
represent the map
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2056.3 | 11 | 1.35 | table of the target entity that is used to
represent the map
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2057 | 11 | 1.35 | If no MapKeyJoinColumn annotation is specified, a
single join column is assumed and the default
values described below (and in Table 29) apply.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2058 | 11 | 1.35 | The name annotation element defines the name of the
foreign key column.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2059 | 11 | 1.35 | The remaining annotation elements (other than
referencedColumnName) refer to this column.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2060 | 11 | 1.35 | If there is a single map key join column, and if the
name annotation member is missing, the map
key join column name is formed as the concatenation of the
following:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2060.1 | 11 | 1.35 | the name of the referencing relationship
property or field of the referencing entity; "_"; "KEY".
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2060.2 | 11 | 1.35 | the name of the referencing relationship
property or field of the referencing embeddable; "_";
"KEY".
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2061 | 11 | 1.35 | 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:2062 | 11 | 1.35 | Support for referenced columns that are not primary key
columns of the referenced table is
optional. Applications that use such mappings will not be
portable.
| false |
| false | technology | active | true |
PERSISTENCE:SPEC:2506 | 11 | 1.35 | The foreignKey element is used to specify or control the generation of a foreign key constraint for the map key join column when table generation is in effect. If the foreignKey element is not specified, the persistence provider’s default foreign key strategy will be used.
| false |
| false | technology | active | true |
PERSISTENCE:SPEC:1262 | 11 | 1.35 | If there is more than one map key join column, a
MapKeyJoinColumn annotation must be specified
for each join column using the MapKeyJoinColumns annotation.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1263 | 11 | 1.35 | Both the name and the referencedColumnName elements
must be specified in each such
MapKeyJoinColumn annotation.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2063 | 11 | 1.36 | Composite map keys referencing entities are supported
by means of the MapKeyJoinColumns
annotation.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1264 | 11 | 1.36 | When the MapKeyJoinColumns annotation is used, both the
name and the referencedColumnName
elements must be specified in each of the grouped
MapKeyJoinColumn annotations.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2508 | 11 | 1.36 | The foreignKey element is used to specify or control the generation of a foreign key constraint for the columns corresponding to the MapKeyJoinColumn elements referenced by the value element when table generation is in effect.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2508.1 | 11 | 1.36 | If both this element and the foreignKey element of any of the MapKeyJoinColumn elements are specified, the behavior is undefined.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2508.2 | 11 | 1.36 | If no foreignKey annotation element is specified in either location, the persistence provider's default foreign key strategy will apply.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2064 | 11 | 1.37 | The MapKeyTemporal annotation is used to specify the
temporal type for a map key whose basic
type is a temporal type.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2065 | 11 | 1.37 | The MapKeyTemporal annotation can be applied to an
element collection or relationship of type
java.util.Map, in conjunction with the
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2065.1 | 11 | 1.37 | ElementCollection annotation. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2065.2 | 11 | 1.37 | OneToMany annotation. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2065.3 | 11 | 1.37 | ManyToMany annotation. | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2066 | 11 | 1.37 | If the map is specified using Java generics, the
MapKeyClass annotation and associated type
need not be specified; otherwise they must be specified.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1130 | 11 | 1.38 | The MappedSuperclass annotation designates a class
whose mapping information is applied to the
entities that inherit from it. A mapped superclass has no
separate table defined for it.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1131 | 11 | 1.38 | A class designated with the MappedSuperclass annotation
can be mapped in the same way as an
entity except that the mappings will apply only to its
subclasses since no table exists for the mapped
superclass itself.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1132 | 11 | 1.38 | 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 | 11 | 1.38 | Mapping information may be overridden in such
subclasses by using the Mapping information may
be overridden in such subclasses by using the AttributeOverride,
AttributeOverrides,
AssociationOverride,and AssociationOverrides annotations.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2067 | 11 | 1.39 |
The MapsId annotation is used to designate a ManyToOne or
OneToOne relationship attribute that provides
the mapping for
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2067.1 | 11 | 1.39 | an EmbeddedId primary key | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2067.2 | 11 | 1.39 | an attribute within an EmbeddedId primary key
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2067.3 | 11 | 1.39 | a simple primary key of the parent entity
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2068 | 11 | 1.39 | The value element specifies the attribute within a
composite key to which the relationship
attribute corresponds.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2069 | 11 | 1.39 | If the entity’s primary key is of the same Java type as
the primary key of the entity
referenced by the relationship, the value attribute is not
specified.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1250 | 11 | 1.39 | The Embedded annotation may be used to specify a
persistent field or property of an entity or
embeddable class whose value is an instance of an embedable
class.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:1095 | 11 | 1.40 | 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
class need not be specified; Otherwise it must be specified.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1096 | 11 | 1.40 | Unidirectional one-to-many relationships may be
implemented using one-to-many foreign key
mappings.
| true |
| true | technology | removed | true |
PERSISTENCE:SPEC:1265 | 11 | 1.40 | The OneToMany annotation may be used within an
embeddable class contained within an entity
class to specify a relationship to a collection of entities. If
the relationship is bidirectional, the
mappedBy element must be used to specify the relationship field
or property of the entity that is the
owner of the relationship.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2070 | 11 | 1.40 | The OneToMany annotation must not be used within an
embeddable class used in an element
collection.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:2071 | 11 | 1.40 | When the collection is a java.util.Map, the cascade
element and the orphanRemoval element
apply to the map value.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2072 | 11 | 1.40 |
If orphanRemoval is true and an entity that is the target of the
relationship is removed from the
relationship (either by removal from the collection or by
setting the relationship to null), the remove
operation will be applied to the entity being orphaned.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2073 | 11 | 1.40 | If the entity being orphaned is a detached, new, or
removed entity, the semantics of
orphanRemoval do not apply.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2074 | 11 | 1.40 |
If orphanRemoval is true and the remove operation is applied to
the source entity, the remove
operation will be cascaded to the relationship target in
accordance with the rules of section 3.2.3,
(and
hence it is not necessary to specify cascade=REMOVE for the
relationship)[
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2075 | 11 | 1.40 |
If the parent is detached or new or was previously removed
before the orphan was associated with it, the
remove operation is not applied to the entity being orphaned.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2076 | 11 | 1.40 | The remove operation is applied at the time of the
flush operation.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1266 | 11 | 1.40 |
Portable applications must otherwise not depend upon a specific
order of removal, and must not reassign
an entity that has been orphaned to another relationship or
otherwise attempt to persist it.
| false |
| false | technology | active | false |
PERSISTENCE:SPEC:2077 | 11 | 1.40 | The default mapping for unidirectional one-to-many
relationships uses a join table,
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2078 | 11 | 1.40 | Unidirectional one-to-many relationships may be
implemented using one-to-many foreign
key mappings, using the JoinColumn and JoinColumns annotations.
| false |
| false | technology | active | false |
PERSISTENCE:SPEC:1094 | 11 | 1.41 | The OneToOne annotation defines a single-valued
association to another entity class that has a
one-to-one multiplicity. It is not normally necessary to specify
the name of the associated target
entity explicitly since it can usually be inferred from the type
of the object being referenced.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2079 | 11 | 1.41 |
If the relationship is bidirectional, the mappedBy element must
be used to specify the relationship
field or property of the entity that is the owner of the
relationship.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1267 | 11 | 1.41 | The OneToOne annotation may be used within an
embeddable class to specify a relationship from
the embeddable class to an entity class. If the relationship is
bidirectional and the entity containing
the embeddable class is on the owning side of the relationship,
the non-owning side must use the
mappedBy element of the OneToOne annotation to specify the
relationship field or property of the
embeddable class.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2080 | 11 | 1.41 |
The dot (".") notation syntax must be used in the mappedBy
element to indicate the relationship
attribute within the embedded attribute. The value of each
identifier used with the dot notation is the
name of the respective embedded field or property.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2081 | 11 | 1.41 |
If orphanRemoval is true and an entity that is the target of the
relationship is removed from the
relationship (by setting the relationship to null), the remove
operation will be applied to the entity
being orphaned.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2082 | 11 | 1.41 | If the entity being orphaned is a detached, new, or
removed entity, the semantics of
orphanRemoval do not apply.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2083 | 11 | 1.41 | If orphanRemoval is true and the remove operation is
applied to the source entity, the remove
operation will be cascaded to the relationship target in
accordance with the rules of section 3.2.3,
(and
hence it is not necessary to specify cascade=REMOVE for the
relationship)
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2084 | 11 | 1.41 | If the parent is detached or new or was previously
removed before the orphan was associated
with it, the remove operation is not applied to the entity being
orphaned.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2085 | 11 | 1.41 | The remove operation is applied at the time of the
flush operation.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2086 | 11 | 1.41 | Portable applications must otherwise not depend upon a
specific order of removal, and must not
reassign an entity that has been orphaned to another
relationship or otherwise attempt to persist it.
| false |
| false | technology | active | false |
PERSISTENCE:SPEC:1103 | 11 | 1.42 | The OrderBy annotation specifies the ordering the
elements of a collection-valued association
or element collection are to have when the association or
collection is retrieved.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1104 | 11 | 1.42 | The syntax of the value ordering element is an
orderby_list, as follows:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1105 | 11 | 1.42 | orderby_list | true |
| false | technology | removed | true |
PERSISTENCE:SPEC:1106 | 11 | 1.42 | orderby_list::=orderby_item[,orderby_item]*
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1107 | 11 | 1.42 |
orderby_item::=property_or_field_name[ASC|DESC]
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1108 | 11 | 1.42 | If orderby_list is not specified or if ASC or DESC is
not specified, ASC (ascending order) is
assumed.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2087 | 11 | 1.42 | If the ordering element is not specified for an entity
association, ordering by the primary key
of the associated entity is assumed.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2088 | 11 | 1.42 |
If the primary key is a composite primary key, the precedence of
ordering among the attributes within
the primary key is not futher defined. To assign such a
precedence within these attributes, each of the
individual attributes must be specified as an orderby_item.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1109 | 11 | 1.42 | A property or field name specified as an orderby_item
must correspond to a basic persistent
property or field of the associated class or embedded class
within it.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1110 | 11 | 1.42 | 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:2089 | 11 | 1.42 | The dot (".") notation is used to refer to an attribute
within an embedded attribute. The value
of each identifier used with the dot notation is the name of the
respective embedded field or property.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1111 | 11 | 1.42 | The OrderyBy annnotation specifies the ordering of the
elements of a collection-valued
association or element collection at the point when the
association is retrieved.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:1268 | 11 | 1.42 | The OrderBy annotation may be applied to an element
collection.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2090 | 11 | 1.42 | When OrderBy is applied to an element collection of
basic type, the ordering will be by value
of the basic objects and the property_or_field_name is not used
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2091 | 11 | 1.42 | In all other cases when OrderBy is applied to an
element collection, the property_or_field_name
must be specified.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2092 | 11 | 1.42 |
When specifying an ordering over an element collection of
embeddable type, the dot notation must be used
to specify the attribute or attributes that determine the
ordering.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2093 | 11 | 1.42 | The OrderBy annotation is not used when an order column
is specified.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:2094 | 11 | 1.43 | The persistence provider is responsible for maintaining
the order upon retrieval and in the
database.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2095 | 11 | 1.43 | The persistence provider is responsible for updating
the ordering upon flushing to the database
to reflect any
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2095.1 | 11 | 1.43 | insertion affecting the list | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2095.2 | 11 | 1.43 | deletion affecting the list | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2095.3 | 11 | 1.43 | reordering affecting the list | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2096 | 11 | 1.43 | The OrderColumn annotation may be specified on a
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2096.1 | 11 | 1.43 | one-to-many relationship | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2096.2 | 11 | 1.43 | many-to-many relationship | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2096.3 | 11 | 1.43 | on an element collection | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2097 | 11 | 1.43 | The OrderColumn annotation is specified on the side of
the relationship that references the
collection that is to be ordered.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2098 | 11 | 1.43 | The
order column is not visible as part of the state of the entity
or embeddable class.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:2099 | 11 | 1.43 | The OrderBy annotation should be used for ordering that
is visible as persistent state and
maintained by the application
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2100 | 11 | 1.43 | The OrderBy annotation is not used when OrderColumn is
specified.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:2101 | 11 | 1.43 | If name is not specified, the column name is the
concatenation of the following: the name of
the referencing relationship property or field of the
referencing entity or embeddable class; "_";
"ORDER".
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2102 | 11 | 1.43 | The order column must be of integral type.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2103 | 11 | 1.43 | The persistence provider must maintain a contiguous
(non-sparse) ordering of the values of the
order column when updating the association or element
collection.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2104 | 11 | 1.43 | The order column value for the first element of the
list must be 0.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1120 | 11 | 1.44 | 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 | 11 | 1.44 | The PrimaryKeyJoinColumn annotated is used:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1122 | 11 | 1.44 | 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:1121.1 | 11 | 1.44 | it is used within a SecondaryTable annotation
to join a secondary table to a
primary
table;
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1123 | 11 | 1.44 | 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:2509 | 11 | 1.44 | The foreignKey element is used to specify or control the generation of a foreign key constraint for the primary key join column when table generation is in effect. If the foreignKey element is not specified, the persistence provider’s default foreign key strategy will be used.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1124 | 11 | 1.44 | If no PrimaryKeyJoinColumn annotation is specified for
a subclass in the JOINED mapping
strategy,
the foreign key columns are assumed to have the same names as
the primary key columns of the
primary table of the superclass.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1125 | 11 | 1.45 | Composite foreign keys are supported by means of the
PrimaryKeyJoinColumns annotation
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2510 | 11 | 1.45 | The foreignKey element is used to specify or control the generation of a foreign key constraint for the columns corresponding to the PrimaryKeyJoinColumn elements referenced by the value element when table generation is in effect.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2510.1 | 11 | 1.45 | If both this element and the foreignKey element of any of the PrimaryKeyJoinColumn elements are specified, the behavior is undefined.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2510.2 | 11 | 1.45 | If no foreignKey annotation element is specified in either location, the persistence provider's default foreign key strategy will apply.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1272 | 11 | 1.46 | The SecondaryTable annotation is used to specify a
secondary table for the annotated entity
class.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1273 | 11 | 1.46 | If no SecondaryTable annotation is specified, it is
assumed that all persistent fields or
properties of the entity are mapped to the primary table.
Specifying one or more secondary tables
indicates that the data for the entity class is stored across
multiple tables.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1031 | 11 | 1.46 | If no primary key join columns are specified, the join
columns are assumed to reference the
primary key columns of the primary table, and have the same
names and types as the referenced primary
key columns of the primary table.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1274 | 11 | 1.46 | If no primary key join columns are specified, the join
columns are assumed to reference the
primary key columns of the primary table, and have the same
names and types as the referenced primary
key columns of the primary table.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:2511 | 11 | 1.46 | The foreignKey element is used to specify or control the generation of a foreign key constraint for the columns corresponding to the pkJoinColumns element when table generation is in effect.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:2511.1 | 11 | 1.46 | If both this element and the foreignKey element of any of the pkJoinColumns elements are specified,
the behavior is undefined.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:2511.2 | 11 | 1.46 | If no foreignKey annotation element is specified in either location, the persistence provider's default foreign key strategy will apply.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:2105 | 11 | 1.47 | The SecondaryTables annotation is used to specify
multiple secondary tables for an entity.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:1137 | 11 | 1.47 | 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 | removed | true |
PERSISTENCE:SPEC:2106 | 11 | 1.48 | The SequenceGenerator annotation defines a primary key
generator that may be referenced by
name when a generator element is specified for the
GeneratedValue annotation.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2107 | 11 | 1.48 | A sequence generator may be specified on the
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2107.1 | 11 | 1.48 | entity class | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2107.2 | 11 | 1.48 | on the primary key field | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2107.3 | 11 | 1.48 | on the primary key property | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2108 | 11 | 1.48 | The scope of the generator name is global to the
persistence unit (across all generator types).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1134 | 9 | 1.44 | The SequenceGenerator annotation defines a primary key
or id generator which may be referenced
by name when annotation the id attribute.
| true |
| true | technology | removed | false |
PERSISTENCE:SPEC:1135 | 11 | 1.48 | 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 | removed | false |
PERSISTENCE:SPEC:1028 | 11 | 1.49 | The Table annotation specifies the primary table for
the annotated entity.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2109 | 11 | 1.49 | Additional tables may be specified by using the
SecondaryTable or SecondaryTables annotation
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2110 | 11 | 1.49 | When a joined inheritance strategy is used, the Table
annotation is used to specify a primary
table for the subclass-specific state if the default is not
used.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1028.1 | 11 | 1.49 | If no Table annotation is specified for an entity
class, the default values defined in Table 42
apply.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1136 | 11 | 1.50 | The TableGenerator annotation defines a primary key or
id generator which may be referenced by
name when when a generator element is specified for the
GeneratedValue annotation.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2111 | 11 | 1.50 |
A table generator may be specified on the
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2111.1 | 11 | 1.50 | entity class
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2111.2 | 11 | 1.50 | primary key field
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2111.3 | 11 | 1.50 | property
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2112 | 11 | 1.50 | The scope of the generator name is global to the
persistence unit (across all generator types).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2113 | 11 | 1.50 | The table element specifies the name of the table that
is used by the persistence provider to
store generated primary key values for entities.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1090.0 | 11 | 1.51 | The Temporal annotation must be specified for
persistent fields or properties of type
java.util.Date and java.util.Calendar unless a converter is
being applied. It may only be specified for
fields or properties of those types.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2114 | 11 | 1.51 | The Temporal annotation may be used in conjunction with
the
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2114.1 | 11 | 1.51 | Basic annotation | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2114.2 | 11 | 1.51 | Id annotation | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2114.3 | 11 | 1.51 | ElementCollection annotation (when the element
collection value is of such a
temporal
type).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2114.4 | 11 | 1.51 | If the element collection is a Map, this
applies to the map value.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1067 | 11 | 1.52 | The Transient annotation is used to annotate a property
or field of an entity class, mapped
superclass, or embeddable class. It specifies that the property
or field is not persistent.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1036 | 11 | 1.53 | The UniqueConstraint annotation is used to specify that
a unique constraint should be included
in the generated DDL for a primary or secondary table.
| false |
| true | technology | active | true |
PERSISTENCE:SPEC:1068 | 11 | 1.54 | The Version annotation specifies the version field or
property of an entity class that serves a
its optimistic lock value. The version is used to ensure
integrity when performing the merge operation
and for optimistic concurrency control.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2115 | 11 | 1.54 | Only a single Version property or field should be used
per class; applications that use more
than one Version property or field will not be portable.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2116 | 11 | 1.54 | The Version property should be mapped to the primary
table for the entity class; applications
that map the Version property to a table other than the primary
table will not be portable.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2117 | 11 | 1.54 | The following types are supported for version
properties:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2117.1 | 11 | 1.54 | int | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2117.2 | 11 | 1.54 | Integer | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2117.3 | 11 | 1.54 | short | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2117.4 | 11 | 1.54 | Short | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2117.5 | 11 | 1.54 | long | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2117.6 | 11 | 1.54 | Long | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2117.7 | 11 | 1.54 | Timestamp | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2118 | 11 | 2 | If
schema generation is in effect, the persistence provider must
observe the mapping information specified
by these annotations and their corresponding XML elements.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2118.1 | 11 | 2 | DiscriminatorColumn
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2118.2 | 11 | 2 | EmbeddedId
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2118.3 | 11 | 2 | Enumerated
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2118.4 | 11 | 2 | MapKeyEnumerated
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2118.24 | 11 | 2 | ForeignKey
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2118.5 | 11 | 2 | GeneratedValue
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2118.6 | 11 | 2 | Id
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2118.7 | 11 | 2 | Index
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2118.8 | 11 | 2 | Inheritance
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2118.9 | 11 | 2 | JoinColumn
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2118.10 | 11 | 2 | JoinTable
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2118.11 | 11 | 2 | Lob
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2118.12 | 11 | 2 | MapKeyColumn
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2118.13 | 11 | 2 | MapKeyJoinColumn
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2118.14 | 11 | 2 | OrderColumn
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2118.15 | 11 | 2 | PrimaryKeyJoinColumn
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2118.16 | 11 | 2 | SecondaryTable
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2118.17 | 11 | 2 | SequenceGenerator
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2118.18 | 11 | 2 | Table
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2118.19 | 11 | 2 | TableGenerator
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2118.20 | 11 | 2 | Temporal
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2118.21 | 11 | 2 | MapKeyTemporal
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2118.22 | 11 | 2 | UniqueConstraint
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2118.23 | 11 | 2 | Version
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2119 | 11 | 2.1.1 | By default, a table is created for every top-level
entity and, by default, includes columns
corresponding to the basic and embedded attributes of the entity
and the foreign keys to the tables of
related entities.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2120 | 11 | 2.1.1 | These columns include columns that result from the use
of mapped superclasses, if any.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2121 | 11 | 2.1.1 | The SecondaryTable
annotation, in conjunction with the use of the table element of
the Column and Join-
Column annotations, is used to override this mapping to
partition the state of an entity across multiple
tables
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2122 | 11 | 2.1.1 | The mapping of the columns of a table is controlled by
the Column and JoinColumn annotations.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2123 | 11 | 2.1.1 | When entity state in inherited from a mapped
superclass, the AttributeOverride and
AssociationOverride
annotations may be used to further control the column-level
mapping of inherited
state.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2124 | 11 | 2.1.2 | The Inheritance annotation defines the inheritance
strategy for an entity hierarchy.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2124.1 | 11 | 2.1.2 | The inheritance
strategy determines whether the table for a top-level
entity includes columns for entities
that
inherit
from the entity
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2124.2 | 11 | 2.1.2 | and whether it includes a discriminator
column
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2124.3 | 11 | 2.1.2 | or whether separate tables are created for each
entity type that inherits from the
top-level entity
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2125 | 11 | 2.1.3 | A secondary table is created to partition the mapping
of entity state across multiple tables.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2126 | 11 | 2.1.4 | A collection table is created for the mapping of an
element collection.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2127 | 11 | 2.1.4 | The Column, AttributeOverride, and AssociationOverride
annotations may be used to override
CollectionTable mappings
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2128 | 11 | 2.1.5 | By default, join tables are created for the mapping of
many-to-many relationships and
unidirectional
one-to-many relationships.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2129 | 11 | 2.1.5 | Join tables may also be used to map bidirectional
many-to-one/one-to-many associations,
unidirectional
many-to-one relationships, and one-to-one relationships (both
bidirectional and unidirectional).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2130 | 11 | 2.1.5 | The AssociationOverride annotation may be used to
override join table mappings.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2131 | 11 | 2.2 | In general, however, an implementation of this
specification should conform to the “Standard Mapping from Java
Types to JDBC Types” as defined by
the JDBC specification
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:2132 | 11 | 2.2 | Unless otherwise explicitly specified, however, VARCHAR
and VARBINARY
mappings should be used in preference to CHAR and BINARY
mappings.
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:2133 | 11 | 2.2 | Applications that are
sensitive to the exact database mappings that are generated
should use the columnDefinition element
of the Column annotation or include DDL files that specify how
the database schema is to be generated.
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:2134 | 11 | 2.2.1 | The following elements of the Column annotation are
used in schema generation:
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2134.1 | 11 | 2.2.1 | name | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2134.2 | 11 | 2.2.1 | unique | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2134.3 | 11 | 2.2.1 | nullable | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2134.4 | 11 | 2.2.1 | columnDefinition | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2134.5 | 11 | 2.2.1 | table | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2134.6 | 11 | 2.2.1 | length | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2134.7 | 11 | 2.2.1 | precision | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2134.8 | 11 | 2.2.1 | scale | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2135 | 11 | 2.2.1 | The AttributeOverride annotation may be used to
override column mappings.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2136 | 11 | 2.2.2 | The MapKeyColumn annotation specifies the mapping for a
key column of a map when the key is of
basic type.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2136.1 | 11 | 2.2.2 | name | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2136.2 | 11 | 2.2.2 | unique | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2136.3 | 11 | 2.2.2 | nullable | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2136.4 | 11 | 2.2.2 | columnDefinition | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2136.5 | 11 | 2.2.2 | table | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2136.6 | 11 | 2.2.2 | length | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2136.7 | 11 | 2.2.2 | precision | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2136.8 | 11 | 2.2.2 | scale | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2137 | 11 | 2.2.2 | The AttributeOverride annotation may be used to
override column mappings.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2138 | 11 | 2.2.3 | The Enumerated annotations control whether string- or
integer-valued
columns are generated for basic attributes of enumerated types
and therefore impact the default column
mappings for these types.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2138.1 | 11 | 2.2.3 | The Column annotations
may be used to further control the column mappings for
attributes of enumerated types.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2138.2 | 11 | 2.2.3 | The MapKeyColumn annotations
may be used to further control the column mappings for
attributes of enumerated types.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2139 | 11 | 2.2.3 | The MapKeyEnumerated annotations control whether
string- or integer-valued
columns are generated for basic attributes of enumerated types
and therefore impact the default column
mappings for these types.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2139.1 | 11 | 2.2.3 | The Column annotations
may be used to further control the column mappings for
attributes of enumerated types.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2139.2 | 11 | 2.2.3 | The MapKeyColumn annotations
may be used to further control the column mappings for
attributes of enumerated types.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2140 | 11 | 2.2.4 | The Temporal annotations control whether date-, time-,
or timestamp-value
columns are generated for basic attributes of temporal types,
and therefore impact the default column
mappings for these types.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2140.1 | 11 | 2.2.3 | The Column annotations
may be used to further control the column mappings for
attributes of temporal types.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2140.2 | 11 | 2.2.3 | The MapKeyColumn annotations
may be used to further control the column mappings for
attributes of temporal types.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2141 | 11 | 2.2.4 | The MapKeyTemporal annotations control whether date-,
time-, or timestamp-value
columns are generated for basic attributes of temporal types,
and therefore impact the default column
mappings for these types.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2141.1 | 11 | 2.2.4 | The Column annotations
may be used to further control the column mappings for
attributes of temporal types.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2141.2 | 11 | 2.2.4 | The MapKeyColumn annotations
may be used to further control the column mappings for
attributes of temporal types.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2142 | 11 | 2.2.6 | The OrderColumn annotation specifies the generation of
a column that is used to maintain the
persistent
ordering of a list that is represented in an
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:2142.1 | 11 | 2.2.6 | element collection | true |
| true | technology | active | false |
PERSISTENCE:SPEC:2142.2 | 11 | 2.2.6 | one-to-many relationship | true |
| true | technology | active | false |
PERSISTENCE:SPEC:2142.3 | 11 | 2.2.6 | many-to-many relationship | true |
| true | technology | active | false |
PERSISTENCE:SPEC:2142.4 | 11 | 2.2.6 | name | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2142.5 | 11 | 2.2.6 | nullable | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2142.6 | 11 | 2.2.6 | columnDefinition | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2143 | 11 | 2.2.7 | The DiscriminatorColumn annotation may be used to
control the mapping of the discriminator
column
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2144 | 11 | 2.2.7 | A discriminator column is generated for the
SINGLE_TABLE mapping strategy
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2145 | 11 | 2.2.7 | and may optionally be generated by the provider
for use with the JOINED inheritance
strategy
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2146 | 11 | 2.2.8 | The Version annotation specifies the generation of a
column to serve as an entity's optimistic
lock.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2147 | 11 | 2.2.8 | The Column annotation may be used to further
control the column mapping for a version
attribute.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2148 | 11 | 2.3.1 | Use of the Id annotation results in the creation of a
primary key consisting of the
corresponding column or columns.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2149 | 11 | 2.3.1 | The Column annotation may be used to further
control the column mapping for an Id
attribute that is applied to a basic type.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2150 | 11 | 2.3.1 | If the Id column was defined in a mapped
superclass, the AttributeOverride
annotation may be used to control the column mapping.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2151 | 11 | 2.3.1 | The JoinColumn annotation may be used to
further control the column mappings for an Id
attribute that is applied to a relationship that
corresponds to a foreign key.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2152 | 11 | 2.3.1 | If the Id attribute was defined in a
mapped superclass, the AssociationOverride annotation
may be used to control the column
mapping.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2153 | 11 | 2.3.2 | Use of the EmbeddedId annotation results in the
creation of a primary
key consisting of the corresponding columns
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2154 | 11 | 2.3.2 | Use of the EmbeddedId annotation results in the
creation of a primary
key consisting of the corresponding columns
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2155 | 11 | 2.3.2 | The Column annotation may be used to control
the column mapping for an embeddable
class.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2156 | 11 | 2.3.2 | If the
EmbeddedId attribute is defined in a mapped superclass,
the AttributeOverride annotation
may be used to control the column mappings.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2157 | 11 | 2.3.2 | If an EmbeddedId attribute corresponds to a
relationship attribute, the MapsId
annotation must be
used, and the column mapping is determined by the join
column for the relationship.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2158 | 11 | 2.3.3 | The GeneratedValue annotation indicates a primary key
whose value is to be generated by the
provider.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2159 | 11 | 2.3.2 | If a strategy is indicated, the provider must
use it if it is supported by the target
database.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2160 | 11 | 2.3.2 | specification of the AUTO strategy may result
in the provider creating a database
object for Id generation
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2161 | 11 | 2.3.2 | The GeneratedValue annotation may only be
portably used for simple (i.e.,
non-composite)
primary keys.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2162 | 11 | 2.4.1 | The JoinColumn annotation is typically used in
specifying a foreign key mapping. In general,
the foreign
key definitions created will be provider-dependent and
database-dependent. Applications that are
sensitive to the exact mapping that is used should use the
foreignKey element of the JoinColumn
annotation or include DDL files that specify how the database
schemas are to be generated.
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:2163 | 11 | 2.4.1 | name | true |
| true | technology | active | false |
PERSISTENCE:SPEC:2164 | 11 | 2.4.1 | referencedColumnName | true |
| true | technology | active | false |
PERSISTENCE:SPEC:2165 | 11 | 2.4.1 | unique | true |
| true | technology | active | false |
PERSISTENCE:SPEC:2166 | 11 | 2.4.1 | nullable | true |
| true | technology | active | false |
PERSISTENCE:SPEC:2167 | 11 | 2.4.1 | columnDefinition | true |
| true | technology | active | false |
PERSISTENCE:SPEC:2168 | 11 | 2.4.1 | table | true |
| true | technology | active | false |
PERSISTENCE:SPEC:2169 | 11 | 2.4.1 | foreignKey | true |
| true | technology | active | false |
PERSISTENCE:SPEC:2170 | 11 | 2.4.1 | The AssociationOverride annotation may be used
to override relationship mappings.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:2171 | 11 | 2.4.1 | The PrimaryKeyJoinColumn annotation is used to
join secondary tables and may be used
in the mapping of one-to-one relationships
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:2172 | 11 | 2.4.2 | The MapKeyJoinColumn annotation is to specify foreign
key mappings to entities that are map
keys
in map-valued element collections or relationships. In general,
the foreign key definitions created
should be expected to be provider-dependent and
database-dependent. Applications that are sensitive to
the exact mapping that is used should use the foreignKey element
of the MapKeyJoinColumn
annotation or include DDL files that specify how the database
schemas are to be generated.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:2173 | 11 | 2.4.2 | name | true |
| true | technology | active | false |
PERSISTENCE:SPEC:2174 | 11 | 2.4.2 | referencedColumnName | true |
| true | technology | active | false |
PERSISTENCE:SPEC:2175 | 11 | 2.4.2 | unique | true |
| true | technology | active | false |
PERSISTENCE:SPEC:2176 | 11 | 2.4.2 | nullable | true |
| true | technology | active | false |
PERSISTENCE:SPEC:2177 | 11 | 2.4.2 | columnDefinition | true |
| true | technology | active | false |
PERSISTENCE:SPEC:2178 | 11 | 2.4.2 | table | true |
| true | technology | active | false |
PERSISTENCE:SPEC:2179 | 11 | 2.4.2 | foreignKey | true |
| true | technology | active | false |
PERSISTENCE:SPEC:2180 | 11 | 2.4.2 | The AssociationOverride annotation may be used
to override such mappings.
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:2181 | 11 | 2.4.3 | The PrimaryKeyJoinColumn annotation specifies that a
primary key column is to be used as a
foreign
key. This annotation is used in the specification of the JOINED
mapping strategy and for joining a
secondary table to a primary table in a OneToOne relationship
mapping. In general, the foreign key
definitions
created should be expected to be provider-dependent and
database-dependent. Applications
that are sensitive to the exact mapping that is used should use
the foreignKey element of the
PrimaryKeyJoinColumn
annotation or include DDL files that specify how the database
schemas are to
be generated.
| true |
| true | technology | active | false |
PERSISTENCE:SPEC:2182 | 11 | 2.4.4 | The ForeignKey annotation may be used within the
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:2182.1 | 11 | 2.4.4 | JoinColumn | true |
| true | technology | active | true |
PERSISTENCE:SPEC:2182.2 | 11 | 2.4.4 | JoinColumns | true |
| true | technology | active | true |
PERSISTENCE:SPEC:2182.3 | 11 | 2.4.4 | MapKeyJoinColumn | true |
| true | technology | active | true |
PERSISTENCE:SPEC:2182.4 | 11 | 2.4.4 | MapKeyJoinColumns | true |
| true | technology | active | true |
PERSISTENCE:SPEC:2182.5 | 11 | 2.4.4 | PrimaryKeyJoinColumn | true |
| true | technology | active | true |
PERSISTENCE:SPEC:2182.6 | 11 | 2.4.4 | PrimaryKeyJoinColumns | true |
| true | technology | active | true |
PERSISTENCE:SPEC:2182.7 | 11 | 2.4.4 | CollectionTable | true |
| true | technology | active | true |
PERSISTENCE:SPEC:2182.8 | 11 | 2.4.4 | JoinTable | true |
| true | technology | active | true |
PERSISTENCE:SPEC:2182.9 | 11 | 2.4.4 | SecondaryTable,
AssociationOverride
| true |
| true | technology | active | true |
PERSISTENCE:SPEC:2182.10 | 11 | 2.4.4 | AssociationOverride | true |
| true | technology | active | true |
PERSISTENCE:SPEC:2189 | 11 | 2.5.1 | The SequenceGenerator annotation creates a database
sequence to be used for Id generation. The
use of generators is limited to those databases that support
them.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2190 | 11 | 2.5.2 | The Index annotation generates an index consisting of
the specified columns.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2191 | 11 | 2.5.2 | The ordering of thenames in the columnList
element specified in the Index annotation
must be observed by the provider when creating the
index.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2192 | 11 | 2.5.3 | The ordering of the column-
Names specified in the UniqueConstraint annotation must be
observed by the provider when creating
the constraint.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2193 | 11 | 2.5.3 | The unique element is equivalent to the use of the
UniqueConstraint annotation when only one
column is to be included in the constraint
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2194 | 11 | 2.5.3 | Column | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2195 | 11 | 2.5.3 | JoinColumn | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2196 | 11 | 2.5.3 | MapKeyColumn | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2197 | 11 | 2.5.3 | MapKeyJoinColumn | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2198 | 12 | 1 |
If the xml-mapping-metadata-complete subelement is specified,
the complete set of mapping
metadata for the persistence unit is contained in the XML
mapping files for the persistence unit, and
any
persistence annotations on the classes are ignored.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2199 | 12 | 1 |
If xml-mapping-metadata-complete is specified and XML elements
are omitted, the default
values apply. These default values are the same as the
corresponding defaults when annotations are
used, except in the cases specified in Section 12.2 below.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2200 | 12 | 1 |
When the xml-mapping-metadata-complete element is specified, any
metadata-complete attributes specified
within the entity, mapped-superclass, and embeddable elements
are ignored.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2201 | 12 | 1 |
If the xml-mapping-metadata-complete subelement is not
specified, the XML descriptor overrides the
values set or defaulted by the use of annotations, as described
below.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2202 | 12 | 1 |
The Java Persistence 2.0 persistence provider must support use
of the object/relational mapping schema
defined in Enterprise JavaBeans, v. 3.0. Java Persistence API.
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:2203 | 12 | 1 |
The Java Persistence persistence provider must support use of
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2203.1 | 12 | 1 |
older versions of the object/relational mapping schema
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2203.2 | 12 | 1 |
as well as the object/relational mapping schema defined
in Section 12.3
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2203.3 | 12 | 1 | whether singly | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2203.4 | 12 | 1 |
in combination when multiple mapping files are used.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1138 | 12 | 2 | XML Overriding Rules | true |
| false | technology | removed | true |
PERSISTENCE:SPEC:1139 | 12 | 2.1 | persistent-unit-defaults Subelements | true |
| false | technology | removed | true |
PERSISTENCE:SPEC:2204 | 12 | 2.1.1 | The schema subelement applies to all ... in the
persistence unit.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2204.1 | 12 | 2.1.1 | entities | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2204.2 | 12 | 2.1.1 | tables | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2204.3 | 12 | 2.1.1 | secondary tables | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2204.4 | 12 | 2.1.1 | join tables | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2204.5 | 12 | 2.1.1 | collection tables | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2204.6 | 12 | 2.1.1 | table generators | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2204.7 | 12 | 2.1.1 | sequence generators | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2205 | 12 | 2.1.1 | The schema subelement is overridden by | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2205.1 | 12 | 2.1.1 | any schema subelement of the entity-mappings
element
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2205.2 | 12 | 2.1.1 | any schema element explicitly specified in the
Table or SecondaryTable annotation
on an
entity
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2205.3 | 12 | 2.1.1 | any schema attribute on any table or
secondary-table subelement defined within an
entity element
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2205.4 | 12 | 2.1.1 | any schema element explicitly specified in a
TableGenerator annotation or
table-generator subelement
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2205.5 | 12 | 2.1.1 | any schema element explicitly specified in a
SequenceGenerator annotation or
sequence-generator subelement
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2205.6 | 12 | 2.1.1 | any schema element explicitly specified in a
JoinTable annotation or join-table
subelement
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2205.7 | 12 | 2.1.1 | and any schema element explicitly specified in
a CollectionTable annotation or
collection-table subelement.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2206 | 12 | 2.1.2 | The catalog subelement applies to all ... in the
persistence unit.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2206.1 | 12 | 2.1.2 | entities | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2206.2 | 12 | 2.1.2 | tables | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2206.3 | 12 | 2.1.2 | secondary tables | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2206.4 | 12 | 2.1.2 | join tables | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2206.5 | 12 | 2.1.2 | collection tables | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2206.6 | 12 | 2.1.2 | table generators | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2206.7 | 12 | 2.1.2 | sequence generators | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2207 | 12 | 2.1.2 | The catalog subelement is overridden by | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2207.1 | 12 | 2.1.2 | any catalog subelement of the entity-mappings
element
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2207.2 | 12 | 2.1.2 | any catalog element explicitly specified in the
Table or SecondaryTable annotation
on
an entity
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2207.3 | 12 | 2.1.2 | any catalog attribute on any table or
secondary-table subelement defined within an
entity XML element
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2207.4 | 12 | 2.1.2 | any catalog element explicitly specified in a
TableGenerator annotation or
table-generator subelement
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2207.5 | 12 | 2.1.2 | any catalog element explicitly specified in a
SequenceGenerator annotation or
sequence-generator subelement
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2207.6 | 12 | 2.1.2 | any catalog element explicitly specified in a
JoinTable annotation or join-table
subelement
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2207.7 | 12 | 2.1.2 | and any catalog element explicitly specified in
a CollectionTable annotation or
collection-table subelement
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2208 | 12 | 2.1.3 | It specifies that all database table-, schema-, and
column-level identifiers in use for the
persistence unit be treated as delimited identifiers.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2209 | 12 | 2.1.4 | The access subelement applies to all managed classes in
the persistence unit.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2210 | 12 | 2.1.4 | The access subelement is overridden | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2210.1 | 12 | 2.1.4 | by the use of any annotations specifying
mapping information on the fields or
properties of the entity class
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2210.2 | 12 | 2.1.4 | by any Access annotation on the entity class,
mapped superclass, or embeddable
class
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2210.3 | 12 | 2.1.4 | by any access subelement of the entity-mappings
element
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2210.4 | 12 | 2.1.4 | by any Access annotation on a field or property
of an entity class, mapped
superclass,
or embeddable class
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2210.5 | 12 | 2.1.4 | by any access attribute defined within an
entity, mapped-superclass, or embeddable
XML
element
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2210.6 | 12 | 2.1.4 | by any access attribute defined within an id,
embedded-id, version, basic,
embedded,
many-to-one, one-to-one, one-to-many, many-to-many or
element-collection element.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2211 | 12 | 2.1.5 | The cascade-persist subelement applies to all
relationships in the persistence unit.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2212 | 12 | 2.1.5 |
Specifying this subelement adds the cascade persist option to
all relationships in addition to any
settings specified in annotations or XML.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2213 | 12 | 2.1.6 |
The entity-listeners subelement defines default entity listeners
for the persistence unit.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2214 | 12 | 2.1.6 |
These entity listeners are called before any other entity
listeners for an entity unless the entity
listener order is overridden within a
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2214.1 | 12 | 2.1.6 | mapped-superclass | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2214.2 | 12 | 2.1.6 | entity element | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2214.3 | 12 | 2.1.6 |
the ExcludeDefaultListeners annotation is present on the
entity or mapped superclass
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2214.4 | 12 | 2.1.6 |
the exclude-default-listeners subelement is specified
within the corresponding entity or
mapped-superclass XML element.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2215 | 12 | 2.2.1 | The package subelement specifies the package of the
classes listed within the subelements and
attributes of the same mapping file only.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2216 | 12 | 2.2.1 | The package subelement is overridden if the fully
qualified class name is specified for a class
and the two disagree.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2217 | 12 | 2.2.2 | The schema subelement applies to all ... listed within
the same mapping file.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2217.1 | 12 | 2.2.2 | entities | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2217.2 | 12 | 2.2.2 | tables | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2217.3 | 12 | 2.2.2 | secondary tables | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2217.4 | 12 | 2.2.2 | join tables | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2217.5 | 12 | 2.2.2 | collection tables | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2217.6 | 12 | 2.2.2 | table generators | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2217.7 | 12 | 2.2.2 | sequence generators | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2218 | 12 | 2.2.2 | The schema subelement is overridden by | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2218.1 | 12 | 2.2.2 |
any schema element explicitly specified in the Table,
SecondaryTable, JoinTable, or
CollectionTable annotation on an entity listed within
the mapping file
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2218.2 | 12 | 2.2.2 |
any schema attribute on any table or secondary-table
subelement defined within the entity
element for such an entity
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2218.3 | 12 | 2.2.2 |
any schema attribute on any join-table or
collection-table subelement of an attribute
defined
within the attributes subelement of the entity element
for such an entity
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2218.4 | 12 | 2.2.2 |
by the schema attribute of any table-generator or
sequence-generator element within the
mapping
file.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2219 | 12 | 2.2.3 | The catalog subelement applies to all ... listed within
the same mapping file.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2219.1 | 12 | 2.2.3 | entities | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2219.2 | 12 | 2.2.3 | tables | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2219.3 | 12 | 2.2.3 | secondary tables | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2219.4 | 12 | 2.2.3 | join tables | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2219.5 | 12 | 2.2.3 | collection tables | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2219.6 | 12 | 2.2.3 | table generators | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2219.7 | 12 | 2.2.3 | sequence generators | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2220 | 12 | 2.2.3 | The catalog subelement is overridden by | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2220.1 | 12 | 2.2.3 | any catalog element explicitly specified in the
Table, SecondaryTable, JoinTable,
or
CollectionTable annotation on an entity listed within
the mapping file
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2220.2 | 12 | 2.2.3 |
any catalog attribute on any table or secondary-table
subelement defined within the entity
element for such an entity
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2220.3 | 12 | 2.2.3 |
by any catalog attribute on any join-table or
collection-table subelement of an attribute
defined within the attributes subelement of the entity
element for such an entity
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2220.4 | 12 | 2.2.3 |
by the catalog attribute of any table-generator or
sequence-generator element within the
mapping
file.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2221 | 12 | 2.2.4 |
The access subelement applies to the managed classes listed
within the same mapping file.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2222 | 12 | 2.2.4 | The access subelement is overridden | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2222.1 | 12 | 2.2.4 | by the use of any annotations specifying
mapping information
on the fields or properties of the entity class
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2222.2 | 12 | 2.2.4 | by any Access annotation on the entity class,
mapped
superclass, or embeddable class
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2222.3 | 12 | 2.2.4 | by any Access annotation on a field or property
of an entity class,
mapped superclass, or embeddable class
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2222.4 | 12 | 2.2.4 | by any access attribute defined within an
entity,
mapped-superclass, or embeddable XML element
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2222.5 | 12 | 2.2.4 | by any access attribute defined within an id,
embedded-id, version, basic,
embedded,
many-to-one, one-to-one, one-to-many, many-to-many, or
element-collection element.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2223 | 12 | 2.2.5 |
The generator defined by the sequence-generator subelement
applies to the persistence unit.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2224 | 12 | 2.2.5 |
It is undefined if multiple mapping files for the persistence
unit contain generators of the same name.
| false |
| false | technology | active | false |
PERSISTENCE:SPEC:2225 | 12 | 2.2.5 | The generator defined is added to any generators
defined in annotations.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2226 | 12 | 2.2.5 | If a generator of the same name is defined in
annotations, the generator defined by this
subelement overrides that definition.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2227 | 12 | 2.2.6 |
The generator defined by the table-generator subelement applies
to the persistence unit.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2228 | 12 | 2.2.6 |
It is undefined if multiple mapping files for the persistence
unit contain generators of the same name.
| false |
| false | technology | active | false |
PERSISTENCE:SPEC:2229 | 12 | 2.2.6 | The generator defined is added to any generators
defined in annotations.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2230 | 12 | 2.2.6 | If a generator of the same name is defined in
annotations, the generator defined by this
subelement overrides that definition.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2231 | 12 | 2.2.7 |
The named query defined by the named-query subelement applies to
the persistence unit.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2232 | 12 | 2.2.7 |
It is undefined if multiple mapping files for the persistence
unit contain named queries of the same
name.
| false |
| false | technology | active | false |
PERSISTENCE:SPEC:2233 | 12 | 2.2.7 |
The named query defined is added to the named queries defined in
annotations.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2234 | 12 | 2.2.7 |
If a named query of the same name is defined in annotations, the
named query defined by this subelement
overrides that definition.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2235 | 12 | 2.2.8 |
The named native query defined by the named-native-query
subelement applies to the persistence unit.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2236 | 12 | 2.2.8 |
It is undefined if multiple mapping files for the persistence
unit contain named queries of the same
name.
| false |
| false | technology | active | false |
PERSISTENCE:SPEC:2237 | 12 | 2.2.8 |
The named native query defined is added to the named native
queries defined in annotations.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2238 | 12 | 2.2.8 |
If a named query of the same name is defined in annotations, the
named query defined by this subelement
overrides that definition.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2239 | 12 | 2.2.9 |
The named stored procedure query defined by the
named-stored-procedure-query subelement applies to the
persistence unit.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2240 | 12 | 2.2.9 |
It is undefined if multiple mapping files for the persistence
unit contain named stored procedure
queries of the same name.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:2241 | 12 | 2.2.9 |
The named stored procedure query defined is added to the named
stored procedure queries defined in
annotations.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2242 | 12 | 2.2.9 |
If a named stored procedure query of the same name is defined in
annotations, the named stored procedure
query defined by this subelement overrides that definition.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2243 | 12 | 2.2.10 |
The SQL result set mapping defined by the sql-result-set-mapping
subelement applies to the persistence
unit.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2244 | 12 | 2.2.10 |
It is undefined if multiple mapping files for the persistence
unit contain SQL result set mappings of
the same name.
| false |
| false | technology | active | false |
PERSISTENCE:SPEC:2245 | 12 | 2.2.10 |
The SQL result set mapping defined is added to the SQL result
set mappings defined in annotations.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2246 | 12 | 2.2.10 |
If a SQL result set mapping of the same name is defined in
annotations, the SQL result set mapping
defined by this subelement overrides that definition.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2247 | 12 | 2.2.11 |
The entity subelement defines an entity of the persistence unit.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2248 | 12 | 2.2.11 |
It is undefined if multiple mapping files for the persistence
unit contain entries for the same entity.
| false |
| false | technology | active | false |
PERSISTENCE:SPEC:2249 | 12 | 2.2.11 |
The entity class may or may not have been annotated as Entity.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2250 | 12 | 2.2.11 |
The subelements and attributes of the entity element override as
specified in section 12.2.3.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2251 | 12 | 2.2.12 |
The mapped-superclass subelement defines a mapped superclass of
the persistence unit.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2252 | 12 | 2.2.12 |
It is undefined if multiple mapping files for the persistence
unit contain entries for the same mapped
superclass.
| false |
| false | technology | active | false |
PERSISTENCE:SPEC:2253 | 12 | 2.2.12 |
The mapped superclass may or may not have been annotated as
MappedSuperclass.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2254 | 12 | 2.2.12 |
The subelements and attributes of the mapped-superclass element
override as specified in section 12.2.4.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2255 | 12 | 2.2.13 |
The embeddable subelement defines an embeddable class of the
persistence unit.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2256 | 12 | 2.2.13 |
It is undefined if multiple mapping files for the persistence
unit contain entries for the same
embeddable class.
| false |
| false | technology | active | false |
PERSISTENCE:SPEC:2257 | 12 | 2.2.13 |
The embeddable class may or may not have been annotated as
Embeddable.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2258 | 12 | 2.2.13 |
The subelements and attributes of the embeddable element
override as specified in section 12.2.5.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2259 | 12 | 2.2.14 |
The converter defined by the converter subelement applies to the
persistence unit.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2260 | 12 | 2.2.14 |
It is undefined if multiple mapping files for the persistence
unit contain converters for the same
target type.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:2261 | 12 | 2.2.14 |
The converter defined is added to the converters defined in
annotations.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2262 | 12 | 2.2.14 |
If a converter for the same target type is defined in
annotations, the converter defined by this
subelement overrides that definition.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2263 | 12 | 2.3.1 |
If the metadata-complete attribute of the entity element is
specified as true, any annotations on the
entity class (and its fields and properties) are ignored.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2264 | 12 | 2.3.1 |
When metadata-complete is specified as true and XML attributes
or sub-elements of the entity element are
omitted, the default values for those attributes and elements
are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2265 | 12 | 2.3.2 |
The access attribute overrides any access type specified by the
persistence-unit-defaults element or
entity-mappings element for the given entity.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2266 | 12 | 2.3.2 |
The access type for a field or property of the entity may be
overridden by specifying by overriding the
mapping for that field or property using the appropriate XML
subelement, as described in Section
12.2.3.23 below.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2267 | 12 | 2.3.3 |
If the Cacheable annotation was specified for the entity, its
value is overridden by this attribute.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2268 | 12 | 2.3.3 |
The value of the cacheable attribute is inherited by subclasses
(unless otherwise overridden for a
subclass by the Cacheable annotation or cacheable XML
attribute).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2269 | 12 | 2.3.4 |
The name attribute overrides the value of the entity name
defined by the name element of the Entity
annotation (whether explicitly specified or defaulted).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2270 | 12 | 2.3.5 |
The table subelement overrides any Table annotation (including
defaulted Table values) on the entity.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2271 | 12 | 2.3.5 |
If a table subelement is present, and attributes or subelements
of that table subelement are not
explicitly specified, their default values are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2272 | 12 | 2.3.6 |
The secondary-table subelement overrides all SecondaryTable and
SecondaryTables annotations (including
defaulted SecondaryTable values) on the entity.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2273 | 12 | 2.3.6 |
If a secondary-table subelement is present, and attributes or
subelements of that secondary-table
subelement are not explicitly specified, their default values
are applied
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2274 | 12 | 2.3.7 |
The primary-key-join-column subelement overrides all
PrimaryKeyJoinColumn and PrimaryKeyJoinColumns
annotations (including defaulted PrimaryKeyJoinColumn values) on
the entity.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2275 | 12 | 2.3.7 |
If a primary-key-join-column subelement is present, and
attributes or subelements of that
primary-key-join-column subelement are not explicitly specified,
their default values are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2276 | 12 | 2.3.8 | The id-class subelement overrides any IdClass
annotation specified on the entity.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2277 | 12 | 2.3.9 |
The inheritance subelement overrides any Inheritance annotation
(including defaulted Inheritance values)
on the entity.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2278 | 12 | 2.3.9 |
If an inheritance subelement is present, and the strategy
attribute is not explicitly specified, its
default value is applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2279 | 12 | 2.3.9 |
This element applies to the entity and its subclasses (unless
otherwise overridden for a subclass by an
annotation or XML element).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2280 | 12 | 2.3.9 |
Support for the combination of inheritance strategies is not
required by this specification. Portable
applications should use only a single inheritance strategy
within an entity hierarchy.
| false |
| false | technology | active | false |
PERSISTENCE:SPEC:2281 | 12 | 2.3.10 |
The discriminator-value subelement overrides any
DiscriminatorValue annotations (including defaulted
DiscriminatorValue values) on the entity.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2282 | 12 | 2.3.11 |
The discriminator-column subelement overrides any
DiscriminatorColumn annotation (including defaulted
DiscriminatorColumn values) on the entity.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2283 | 12 | 2.3.11 |
If a discriminator-column subelement is present, and attributes
of that discriminator-column subelement
are not explicitly specified, their default values are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2284 | 12 | 2.3.11 |
This element applies to the entity and its subclasses (unless
otherwise overridden for a subclass by an
annotation or XML element).
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2285 | 12 | 2.3.12 |
The generator defined by the sequence-generator subelement is
added to any generators defined in
annotations and any other generators defined in XML.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2286 | 12 | 2.3.12 |
If a generator of the same name is defined in annotations, the
generator defined by this subelement
overrides that definition.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2287 | 12 | 2.3.12 |
If a sequence-generator subelement is present, and attributes or
subelements of that sequence-generator
subelement are not explicitly specified, their default values
are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2288 | 12 | 2.3.12 |
The generator defined by the sequence-generator subelement
applies to the persistence unit.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2289 | 12 | 2.3.12 |
It is undefined if multiple mapping files for the persistence
unit contain generators of the same name.
| false |
| false | technology | active | false |
PERSISTENCE:SPEC:2290 | 12 | 2.3.13 |
The generator defined by the table-generator subelement is added
to any generators defined in
annotations and any other generators defined in XML.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2291 | 12 | 2.3.13 |
If a generator of the same name is defined in annotations, the
generator defined by this subelement
overrides that definition.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2292 | 12 | 2.3.13 |
If a table-generator subelement is present, and attributes or
subelements of that table-generator
subelement are not explicitly specified, their default values
are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2293 | 12 | 2.3.13 | The generator defined by the table-generator subelement
applies to the persistence unit.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2294 | 12 | 2.3.13 |
It is undefined if multiple mapping files for the persistence
unit contain generators of the same name.
| false |
| false | technology | active | false |
PERSISTENCE:SPEC:2295 | 12 | 2.3.14 |
The attribute-override subelement is additive to any
AttributeOverride or AttributeOverrides annotations
on the entity.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2296 | 12 | 2.3.14 |
It overrides any AttributeOverride elements for the same
attribute name.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2297 | 12 | 2.3.14 |
If an attribute-override subelement is present, and attributes
or subelements of that attribute-override
subelement are not explicitly specified, their default values
are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2298 | 12 | 2.3.15 |
The association-override subelement is additive to any
AssociationOverride or AssociationOverrides
annotations on the entity.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2299 | 12 | 2.3.15 |
It overrides any AssociationOverride elements for the same
attribute name.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2300 | 12 | 2.3.15 |
If an association-override subelement is present, and attributes
or subelements of that
association-override subelement are not explicitly specified,
their default values are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2301 | 12 | 2.3.16 |
The convert subelement is additive to any Convert or Converts
annotations on the entity.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2302 | 12 | 2.3.16 |
It overrides any Convert elements for the same attribute name.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2303 | 12 | 2.3.16 |
If a convert subelement is present, and attributes or
subelements of that convert subelement are not
explicitly specified, their default values are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2472 | 12 | 2.3.17 |
The named-entity-graph subelement is additive to any
NamedEntityGraph annotations on the entity.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2473 | 12 | 2.3.17 |
It overrides any NamedEntityGraph annotation with the same name.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2304 | 12 | 2.3.18 |
The named query defined by the named-query subelement is added
to any named queries defined in
annotations, and any other named queries defined in XML.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2305 | 12 | 2.3.18 |
If a named query of the same name is defined in annotations, the
named query defined by this subelement
overrides that definition
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2306 | 12 | 2.3.18 |
If a named-query subelement is present, and attributes or
subelements of that named-query subelement are
not explicitly specified, their default values are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2307 | 12 | 2.3.18 |
The named query defined by the named-query subelement applies to
the persistence unit.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2308 | 12 | 2.3.18 |
It is undefined if multiple mapping files for the persistence
unit contain named queries of the same
name.
| false |
| false | technology | active | false |
PERSISTENCE:SPEC:2309 | 12 | 2.3.19 |
The named query defined by the named-native-query subelement is
added to any named queries defined in
annotations, and any other named queries defined in XML.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2310 | 12 | 2.3.19 |
If a named query of the same name is defined in annotations, the
named query defined by this subelement
overrides that definition
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2311 | 12 | 2.3.19 |
If a named-native-query subelement is present, and attributes or
subelements of that named-native-query
subelement are not explicitly specified, their default values
are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2312 | 12 | 2.3.19 |
The named native query defined by the named-native-query
subelement applies to the persistence unit.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2313 | 12 | 2.3.19 |
It is undefined if multiple mapping files for the persistence
unit contain named queries of the same
name.
| false |
| false | technology | active | false |
PERSISTENCE:SPEC:2314 | 12 | 2.3.20 |
The named stored procedure query defined by the
named-stored-procedure-query subelement is added to any
named stored procedure queries defined in annotations, and any
other named stored procedure queries
defined in XML.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2315 | 12 | 2.3.20 |
If a named stored procedure query of the same name is defined in
annotations, the named stored procedure
query defined by this subelement overrides that definition.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2316 | 12 | 2.3.20 |
If a named-stored-procedure-query subelement is present, and
attributes or subelements of that
named-stored-procedure-query subelement are not explicitly
specified, their default values are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2317 | 12 | 2.3.20 |
The named stored procedure query defined by the
named-stored-procedure-query subelement applies to the
persistence unit.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2318 | 12 | 2.3.20 |
It is undefined if multiple mapping files for the persistence
unit contain named stored procedure
queries of the same name.
| true |
| false | technology | active | false |
PERSISTENCE:SPEC:2319 | 12 | 2.3.21 |
The SQL result set mapping defined by the sql-result-set-mapping
is added to the SQL result set mappings
defined in annotations, and any other SQL result set mappings
defined in XML.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2320 | 12 | 2.3.21 |
If a SQL result set mapping of the same name is defined in
annotations, the SQL result set mapping
defined by this subelement overrides that definition.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2321 | 12 | 2.3.21 |
If a sql-result-set-mapping subelement is present, and
attributes or subelements of that
sql-result-set-mapping subelement are not explicitly specified,
their default values are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2322 | 12 | 2.3.21 |
The SQL result set mapping defined by the sql-result-set-mapping
subelement applies to the persistence
unit.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2323 | 12 | 2.3.21 |
It is undefined if multiple mapping files for the persistence
unit contain SQL result set mappings of
the same name.
| false |
| false | technology | active | false |
PERSISTENCE:SPEC:2324 | 12 | 2.3.22 | The exclude-default-listeners subelement applies
whether or not the ExcludeDefault-
Listeners annotation was specified on the entity.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2325 | 12 | 2.3.22 | This element causes the default entity listeners to be
excluded for the entity and its
subclasses.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2326 | 12 | 2.3.23 |
The exclude-superclass-listeners subelement applies whether or
not the ExcludeSuperclassListeners
annotation was specified on the entity.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2327 | 12 | 2.3.23 | This element causes any superclass listeners to be
excluded for the entity and its subclasses.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2328 | 12 | 2.3.24 | The entity-listeners subelement overrides any
EntityListeners annotation on the entity.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2329 | 12 | 2.3.24 | These listeners apply to the entity and its subclasses
unless otherwise excluded.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2330 | 12 | 2.3.25 |
These subelements override any lifecycle callback methods
defined by the corresponding annotations on
the entity.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2330.1 | 12 | 2.3.25 | pre-persist | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2330.2 | 12 | 2.3.25 | post-persist | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2330.3 | 12 | 2.3.25 | pre-remove | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2330.4 | 12 | 2.3.25 | post-remove | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2330.5 | 12 | 2.3.25 | pre-update | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2330.6 | 12 | 2.3.25 | post-update | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2330.7 | 12 | 2.3.25 | post-load | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2331 | 12 | 2.3.26 | The attributes element groups the mapping subelements
for the fields and properties of the
entity.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2332 | 12 | 2.3.26 | It may be sparsely populated to include only a subset
of the fields and properties.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2333 | 12 | 2.3.26 | If the value of metadata-complete is true, the
remainder of the attributes will be defaulted
according to the default rules.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2334 | 12 | 2.3.26 |
If metadata-complete is not specified, or is false, the mappings
for only those properties and fields
that are explicitly specified will be overridden.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2335 | 12 | 2.3.26.1 |
The id subelement overrides the mapping for the specified field
or property.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2336 | 12 | 2.3.26.1 |
If an id subelement is present, and attributes or subelements of
that id subelement are not explicitly
specified, their default values are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2337 | 12 | 2.3.26.2 |
The embedded-id subelement overrides the mapping for the
specified field or property.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2338 | 12 | 2.3.26.2 |
If an embedded-id subelement is present, and attributes or
subelements of that embedded-id subelement
are not explicitly specified, their default values are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2339 | 12 | 2.3.26.3 |
The basic subelement overrides the mapping for the specified
field or property.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2340 | 12 | 2.3.26.3 |
If a basic subelement is present, and attributes or subelements
of that basic subelement are not
explicitly specified, their default values are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2341 | 12 | 2.3.26.4 |
The version subelement overrides the mapping for the specified
field or property.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2342 | 12 | 2.3.26.4 |
If a version subelement is present, and attributes or
subelements of that version subelement are not
explicitly specified, their default values are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2343 | 12 | 2.3.26.5 |
The many-to-one subelement overrides the mapping for the
specified field or property.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2344 | 12 | 2.3.26.5 |
If a many-to-one subelement is present, and attributes or
subelements of that many-to-one subelement are
not explicitly specified, their default values are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2345 | 12 | 2.3.26.6 |
The one-to-many subelement overrides the mapping for the
specified field or property.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2346 | 12 | 2.3.26.6 |
If a one-to-many subelement is present, and attributes or
subelements of that one-to-many subelement are
not explicitly specified, their default values are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2347 | 12 | 2.3.26.7 |
The one-to-one subelement overrides the mapping for the
specified field or property.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2348 | 12 | 2.3.26.7 |
If a one-to-one subelement is present, and attributes or
subelements of that one-to-one subelement are
not explicitly specified, their default values are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2349 | 12 | 2.3.26.8 |
The many-to-many subelement overrides the mapping for the
specified field or property.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2350 | 12 | 2.3.26.8 |
If a many-to-many subelement is present, and attributes or
subelements of that many-to-many subelement
are not explicitly specified, their default values are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2351 | 12 | 2.3.26.9 |
The element-collection subelement overrides the mapping for the
specified field or property.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2352 | 12 | 2.3.26.9 |
If an element-collection subelement is present, and attributes
or subelements of that element-collection
subelement are not explicitly specified, their default values
are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2353 | 12 | 2.3.26.10 |
The embedded subelement overrides the mapping for the specified
field or property.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2354 | 12 | 2.3.26.10 |
If an embedded subelement is present, and attributes or
subelements of that embedded subelement are not
explicitly specified, their default values are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2355 | 12 | 2.3.26.11 |
The transient subelement overrides the mapping for the specified
field or property.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2356 | 12 | 2.4 |
These apply only to the mapped-superclass for which they are
subelements or attributes, unless otherwise
specified below.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2357 | 12 | 2.4.1 |
If the metadata-complete attribute of the mapped-superclass
element is specified as true, any
annotations on the mapped superclass (and its fields and
properties) are ignored.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2358 | 12 | 2.4.1 |
When metadata-complete is specified as true and attributes or
sub-elements of the mapped-superclass
element are omitted, the default values for those attributes and
elements are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2359 | 12 | 2.4.2 |
The access attribute defines the access type for the mapped
superclass.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2360 | 12 | 2.4.2 |
The access attribute overrides any access type specified by the
persistence-unit-defaults element or
entity-mappings element for the given mapped superclass.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2361 | 12 | 2.4.2 |
The access type for a field or property of the mapped superclass
may be overridden by specifying by
overriding the mapping for that field or property using the
appropriate XML subelement
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2362 | 12 | 2.4.3 |
The id-class subelement overrides any IdClass annotation
specified on the mapped superclass.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2363 | 12 | 2.4.4 |
The exclude-default-listeners subelement applies whether or not
the ExcludeDefault-Listeners annotation
was specified on the mapped superclass.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2364 | 12 | 2.4.4 |
This element causes the default entity listeners to be excluded
for the mapped superclass and its
subclasses.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2365 | 12 | 2.4.5 |
The exclude-superclass-listeners subelement applies whether or
not the ExcludeSuperclassListeners
annotation was specified on the mapped superclass.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2366 | 12 | 2.4.5 |
This element causes any superclass listeners to be excluded for
the mapped superclass and its
subclasses.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2367 | 12 | 2.4.6 |
The entity-listeners subelement overrides any EntityListeners
annotation on the mapped superclass.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2368 | 12 | 2.4.6 |
These listeners apply to the mapped superclass and its
subclasses unless otherwise excluded.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2369 | 12 | 2.4.7 |
These subelements override any lifecycle callback methods
defined by the corresponding annotations on
the mapped superclass.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2369.1 | 12 | 2.4.7 | pre-persist | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2369.2 | 12 | 2.4.7 | post-persist | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2369.3 | 12 | 2.4.7 | pre-remove | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2369.4 | 12 | 2.4.7 | post-remove | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2369.5 | 12 | 2.4.7 | pre-update | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2369.6 | 12 | 2.4.7 | post-update | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2369.7 | 12 | 2.4.7 | post-load | true |
| false | technology | active | true |
PERSISTENCE:SPEC:2370 | 12 | 2.4.8 |
The attributes element groups the mapping subelements for the
fields and properties defined by the
mapped superclass.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2371 | 12 | 2.4.8 |
It may be sparsely populated to include only a subset of the
fields and properties.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2372 | 12 | 2.4.8 |
If the value of metadata-complete is true, the remainder of the
attributes will be defaulted according
to the default rules
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2373 | 12 | 2.4.8 |
If metadata-complete is not specified, or is false, the mappings
for only those properties and fields
that are explicitly specified will be overridden.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2374 | 12 | 2.4.8.1 |
The id subelement overrides the mapping for the specified field
or property.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2375 | 12 | 2.4.8.1 |
If an id subelement is present, and attributes or subelements of
that id subelement are not explicitly
specified, their default values are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2376 | 12 | 2.4.8.2 |
The embedded-id subelement overrides the mapping for the
specified field or property.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2377 | 12 | 2.4.8.2 |
If an embedded-id subelement is present, and attributes or
subelements of that embedded-id subelement
are not explicitly specified, their default values are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2378 | 12 | 2.4.8.3 |
The basic subelement overrides the mapping for the specified
field or property.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2379 | 12 | 2.4.8.3 |
If a basic subelement is present, and attributes or subelements
of that basic subelement are not
explicitly specified, their default values are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2380 | 12 | 2.4.8.4 |
The version subelement overrides the mapping for the specified
field or property.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2381 | 12 | 2.4.8.4 |
If a version subelement is present, and attributes or
subelements of that version subelement are not
explicitly specified, their default values are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2382 | 12 | 2.4.8.5 |
The many-to-one subelement overrides the mapping for the
specified field or property.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2383 | 12 | 2.4.8.5 |
If a many-to-one subelement is present, and attributes or
subelements of that many-to-one subelement are
not explicitly specified, their default values are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2384 | 12 | 2.4.8.6 |
The one-to-many subelement overrides the mapping for the
specified field or property.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2385 | 12 | 2.4.8.6 |
If a one-to-many subelement is present, and attributes or
subelements of that one-to-many subelement are
not explicitly specified, their default values are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2386 | 12 | 2.4.8.7 |
The one-to-one subelement overrides the mapping for the
specified field or property.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2387 | 12 | 2.4.8.7 |
If a one-to-one subelement is present, and attributes or
subelements of that one-to-one subelement are
not explicitly specified, their default values are applied
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2388 | 12 | 2.4.8.8 |
The many-to-many subelement overrides the mapping for the
specified field or property.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2389 | 12 | 2.4.8.8 |
If a many-to-many subelement is present, and attributes or
subelements of that many-to-many subelement
are not explicitly specified, their default values are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2390 | 12 | 2.4.8.9 |
The element-collection subelement overrides the mapping for the
specified field or property.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2391 | 12 | 2.4.8.9 |
If an element-collection subelement is present, and attributes
or subelements of that element-collection
subelement are not explicitly specified, their default values
are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2392 | 12 | 2.4.8.10 |
The embedded subelement overrides the mapping for the specified
field or property.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2393 | 12 | 2.4.8.10 |
If an embedded subelement is present, and attributes or
subelements of that embedded subelement are not
explicitly specified, their default values are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2394 | 12 | 2.4.8.11 |
The transient subelement overrides the mapping for the specified
field or property.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2395 | 12 | 2.5 |
These apply only to the embeddable for which they are
subelements or attributes
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2396 | 12 | 2.5.1 |
If the metadata-complete attribute of the embeddable element is
specified as true, any annotations on
the embeddable class (and its fields and properties) are
ignored.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2397 | 12 | 2.5.1 |
When metadata-complete is specified as true and attributes and
sub-elements of the embeddable element
are omitted, the default values for those attributes and
elements are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2398 | 12 | 2.5.2 |
The access attribute defines the access type for the embeddable
class.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2399 | 12 | 2.5.2 |
The access attribute overrides any access type specified by the
persistence-unit-defaults element or
entity-mappings element for the given embeddable class.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2400 | 12 | 2.5.2 |
The access type for a field or property of the embeddable class
may be overridden by specifying by
overriding the mapping for that field or property using the
appropriate XML subelement
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2401 | 12 | 2.5.3 |
The attributes element groups the mapping subelements for the
fields and properties defined by the
embeddable class.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2402 | 12 | 2.5.3 |
It may be sparsely populated to include only a subset of the
fields and properties
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2403 | 12 | 2.5.3 |
If the value of metadata-complete is true, the remainder of the
attributes will be defaulted according
to the default rules
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2404 | 12 | 2.5.3 |
If metadata-complete is not specified, or is false, the mappings
for only those properties and fields
that are explicitly specified will be overridden.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2405 | 12 | 2.5.3.1 |
The basic subelement overrides the mapping for the specified
field or property.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2406 | 12 | 2.5.3.1 |
If a basic subelement is present, and attributes or subelements
of that basic subelement are not
explicitly specified, their default values are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2407 | 12 | 2.5.3.2 |
The many-to-one subelement overrides the mapping for the
specified field or property.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2408 | 12 | 2.5.3.2 |
If a many-to-one subelement is present, and attributes or
subelements of that many-to-one subelement are
not explicitly specified, their default values are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2409 | 12 | 2.5.3.3 |
The one-to-many subelement overrides the mapping for the
specified field or property.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2410 | 12 | 2.5.3.3 |
If a one-to-many subelement is present, and attributes or
subelements of that one-to-many subelement are
not explicitly specified, their default values are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2411 | 12 | 2.5.3.4 |
The one-to-one subelement overrides the mapping for the
specified field or property
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2412 | 12 | 2.5.3.4 |
If a one-to-one subelement is present, and attributes or
subelements of that one-to-one subelement are
not explicitly specified, their default values are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2413 | 12 | 2.5.3.5 |
The many-to-many subelement overrides the mapping for the
specified field or property.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2414 | 12 | 2.5.3.5 |
If a many-to-many subelement is present, and attributes or
subelements of that many-to-many subelement
are not explicitly specified, their default values are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2415 | 12 | 2.5.3.6 |
The element-collection subelement overrides the mapping for the
specified field or property.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2416 | 12 | 2.5.3.6 |
If an element-collection subelement is present, and attributes
or subelements of that element-collection
subelement are not explicitly specified, their default values
are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2417 | 12 | 2.5.3.7 |
The embedded subelement overrides the mapping for the specified
field or property.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2418 | 12 | 2.5.3.7 |
If an embedded subelement is present, and attributes or
subelements of that embedded subelement are not
explicitly specified, their default values are applied.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:2419 | 12 | 2.5.3.8 |
The transient subelement overrides the mapping for the specified
field or property.
| true |
| false | technology | active | true |
PERSISTENCE:SPEC:1140 | 12 | 2.2 | Other Subelements of the entity-mappings element
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:1141 | 12 | 2.3 | entity Subelements and Attributes | true |
| false | technology | removed | true |
PERSISTENCE:SPEC:1142 | 12 | 2.4 | mapped-superclass Subelements and Attributes
| true |
| false | technology | removed | true |
PERSISTENCE:SPEC:1143 | 12 | 2.5 | embeddable Subelements and Attributes | true |
| false | technology | removed | true |
PERSISTENCE:SPEC:1144 | 12 | 3 | XML Schema | true |
| false | technology | removed | true |