This release contains following changes:
- Adds support for Java record types as embeddable classes
- Adds support for java.time.Instant and java.time.Year and Clarifies JDBC mappings for basic types
- Adds
union
,intersect
,except
,cast
,left
,right
, andreplace
for Jakarta Persistence QL and criteria queries - Adds
||
string concatenation operator to Jakarta Persistence QL - Adds subquery(EntityType) and joins on EntityType Criteria API
- Adds support for specifying null precedence when ordering Jakarta Persistence QL and criteria queries
- Adds getSingleResultOrNull() to Query, TypedQuery, StoredProcedureQuery
- Adds entities(), classes() and columns() to NamedNativeQuery
- Adds lockMode() to EntityResult with the default being
OPTIMISTIC
- Adds getVersion(), isLoaded(), load(), isInstance() and getClass() methods to PersistenceUnitUtil
- Adds overload of entity() accepting an entity name to Metamodel
- Adds javax.annotation.processing.Generated to the list of defined annotations on StaticMetamodel
- Adds constants for managed types, named queries, named graphs and named result set mappings to generated StaticMetamodel
- Adds LocalDateTime and Instant to supported Version types
- Adds where(), having(), and(), and or() overloads accepting List to CriteriaQuery and CriteriaBuilder
- Adds equalTo() and notEqualTo() to Expression
- Adds concat() overload accepting list of expressions and extract() to CriteriaBuilder
- Adds Graph interface as parent of EntityGraph and Subgraph and moved common operations there
- Adds addAttributeNode(), removeAttributeNode(), addTreatedSubgraph(), addElementSubgraph(), addTreatedElementSubgraph(),
addMapKeySubgraph(), and addTreatedMapKeySubgraph() methods to Graph - Adds getReference overload, runWithConnection() and callWithConnection() to EntityManager
- Adds find(), refresh(), lock() overloads to EntityManager taking newly introduced FindOption, RefreshOption,
and LockOption respectively - Adds setCacheStoreMode(), and setCacheRetrieveMode() methods to EntityManager and Query
- Adds runInTransaction() and callInTransaction() to EntityManagerFactory
- Adds programmatic API to obtain EntityManagerFactory using PersistenceConfiguration
- Adds constants for properties defined by the specification to the PersistenceConfiguration
- Adds SchemaManager API
- Adds options member to elements which result in DDL generation
- Adds EnumeratedValue allowing custom mapping of fields of Java enums
- Adds comment and check members to table and column annotations, along with CheckConstraint
- Made the name member of TableGenerator and SequenceGenerator optional
- Clarifies the primary key types supported for each GenerationType
- Clarifies availability of SEQUENCE, TABLE and UUID generated IDs on PrePersist
- Clarifies semantics of numeric literals and Adds support for
bi
andbd
suffixes - Clarifies rules around distinction of entity names and identification variables and case-sensitivity in Jakarta Persistence QL queries
- Clarifies the semantics of Bindable.ENTITY_TYPE in javadoc
- Entity and embeddable classes may now be static inner classes
- Primary key classes are no longer required to be public and serializable
- Pulls getParameters() up from CriteriaQuery to CommonAbstractCriteria
- Fixes wildcard types in addSubgraph and addAttributeNode in Graph
- Fixes lower type bounds to the Path.get entity argument X
- Fixes example code in the javadoc of AttributeOverrides
- Partially fixes raw types warnings through the API
- Improves AsciiDoc formatting and fixes typos through the specification document
New Contributors
Full Changelog: 3.1-3.1.0-RELEASE...3.2-DRAFT01-3.2.0-B01-RELEASE