Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

3.2-3.2.0-RELEASE #667

lukasj announced in Announcements
Sep 20, 2024 · 0 comments
Discussion options

New features, enhancements or additions

  • 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, and replace for Jakarta Persistence QL and criteria queries
  • Adds || string concatenation operator and id and version functions to Jakarta Persistence QL
  • Adds CriteriaSelect, subquery(EntityType) and joins on EntityType to 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 getName() 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
  • Adds secondPrecision to Column annotation and clarified semantics of Column members
  • Adds factory-level access to named queries and named entity graphs, along with TypedQueryReference
  • Adds integration points for dependency injection
  • Allows scalar expressions in the ORDER BY clause in Jakarta Persistence QL
  • Allows usage of TableGenerator and SequenceGenerator at the java package level
  • Makes the name member of TableGenerator and SequenceGenerator optional
  • Makes identification variables and the SELECT clause in Jakarta Persistence QL 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 numeric type promotions, and adds support for bi and bd suffixes
  • Clarifies semantics of Convert/Converter annotations
  • 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
  • Clarifies the semantics of collection-valued query parameters
  • 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

Removals, deprecations or backwards incompatible changes

Deprecations

  • Deprecates usage of Calendar, Date, Time, Timestamp, Temporal, MapKeyTemporal and TemporalType
    in new applications in favour of java.time API
  • Deprecates multiselect methods in CriteriaQuery. The preference is to use array or tuple method defined in CriteriaBuilder
  • Deprecates use of Byte[] and Character[] arrays types for basic attributes, in favor of primitive array types

Deprecations for removal

  • Deprecates addSubclassSubgraph() in EntityGraph for removal; addTreatedSubgraph() method should be used as direct replacement
  • Deprecates addSubgraph(Attribute, Class) and addKeySubgraph() in Graph/EntityGraph/SubGraph for removal; addTreatedSubgraph(Attribute, Class)
    and addMapKeySubgraph() methods should be used as direct replacements
  • Deprecates jakarta.persistence.spi.PersistenceUnitTransactionType for removal; jakarta.persistence.PersistenceUnitTransactionType
    methods should be used as direct replacement
  • Deprecates default public no-arg constructor in jakarta.persistence.Persistence and PERSISTENCE_PROVIDER and providers fields
    in this class for removal with no replacement. This class is not designed for extensibility

Full Changelog: 3.1-3.1.0-RELEASE...3.2-3.2.0-RELEASE


This discussion was created from the release 3.2-3.2.0-RELEASE.
You must be logged in to vote

Replies: 0 comments

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
1 participant

AltStyle によって変換されたページ (->オリジナル) /