Jakarta Persistence 3.1

The release contains following changes:

  • EntityManagerFactory and EntityManager interfaces extends java.lang.AutoCloseable interface
  • Fixes ClassTransformer.transform to throw Persistence API specific exception
  • Adds support for java.util.UUID and GenerationType.UUID
  • Adds CEILING, EXP, FLOOR, LN, POWER, ROUND, and SIGN

    numeric functions to Jakarta Persistence QL and ceiling(), exp(),

    floor(), ln(), power(),  round(), and sign() to Criteria API
  • Adds LOCAL DATE, LOCAL DATETIME, and LOCAL TIME functions to Jakarta Persistence QL and

    corresponding localDate(), localDateTime(), and localTime() to Criteria API
  • Adds EXTRACT function to Jakarta Persistence QL
  • Adds support for Expressions as conditions in Criteria CASE expressions
  • Adds missing definition of single_valued_embeddable_object_field in Jakarta Persistence QL BNF
  • Clarifies mixing types of query input parameters
  • Clarifies definition of the Basic type
  • Clarifies the order of parameters in the LOCATE function
  • Clarifies SqlResultSetMapping with multiple EntityResults and conflicting aliases

Requires Java SE 11 or newer (aligned with Jakarta EE 10).

Release Date
Release Type
Minor release
This release is part of Jakarta 10