[
https://issues.apache.org/jira/browse/OPENJPA-2940?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18039956#comment-18039956
]
Paulo Cristovão de Araújo Silva Filho commented on OPENJPA-2940:
----------------------------------------------------------------
Hi! Since I stared to work in this issue, I've assumed another role in my
everyday paying job, thus the pace of changes and completeness has not been
the one I expected to deliver. Using the list provided on JakartaEE site, here
is the list of completed and todo features up to today in branch OPENJPA-2940:
[ ] Add support for Java record types as embeddable classes
[ ] Add support for java.time.Instant and java.time.Year and Clarifies JDBC
mappings for basic types
[ ] Add union, intersect and except for Jakarta Persistence QL and criteria
queries
[x] Add cast, left, right, and replace for Jakarta Persistence QL and criteria
queries
[ ] Add || string concatenation operator and id and version functions to
Jakarta Persistence QL
[ ] Add CriteriaSelect, subquery(EntityType) and joins on EntityType to
Criteria API
[ ] Add support for specifying null precedence when ordering Jakarta
Persistence QL and criteria queries
[x] Add getSingleResultOrNull() to Query, TypedQuery, StoredProcedureQuery
[ ] Add entities(), classes() and columns() to NamedNativeQuery
[x] Add lockMode() to EntityResult with the default being OPTIMISTIC
[x] Add getVersion(), isLoaded(), load(), isInstance() and getClass() methods
to PersistenceUnitUtil
[ ] Add overload of entity() accepting an entity name to Metamodel
[ ] Add javax.annotation.processing.Generated to the list of defined
annotations on StaticMetamodel
[ ] Add constants for managed types, named queries, named graphs and named
result set mappings to generated StaticMetamodel
[ ] Add LocalDateTime and Instant to supported Version types
[ ] Add where(), having(), and(), and or() overloads accepting List to
CriteriaQuery and CriteriaBuilder
[x] Add equalTo() and notEqualTo() to Expression
[ ] Add concat() overload accepting list of expressions and extract() to
CriteriaBuilder
[ ] Add Graph interface as parent of EntityGraph and Subgraph and moved common
operations there - JPA 3.0 impl of EntityGraph is not implemented
[ ] Add addAttributeNode(), removeAttributeNode(), addTreatedSubgraph(),
addElementSubgraph(), addTreatedElementSubgraph(), addMapKeySubgraph(), and
addTreatedMapKeySubgraph() methods to Graph - JPA 3.0 impl of EntityGraph is
not implemented
[x] Add getReference overload, runWithConnection() and callWithConnection() to
EntityManager
[x] Add find(), refresh(), lock() overloads to EntityManager taking newly
introduced FindOption, RefreshOption, and LockOption respectively
[x] Add setCacheStoreMode(), and setCacheRetrieveMode() methods to
EntityManager and Query
[x] Add runInTransaction() and callInTransaction() to EntityManagerFactory
[x] Add getName() to EntityManagerFactory
[x] Add programmatic API to obtain EntityManagerFactory using
PersistenceConfiguration
[ ] Add constants for properties defined by the specification to the
PersistenceConfiguration
[x] Add SchemaManager API
[ ] Add options member to elements which result in DDL generation
[ ] Add EnumeratedValue allowing custom mapping of fields of Java enums
[ ] Add secondPrecision to Column annotation and clarified semantics of Column
members
[x] Add factory-level access to named queries and named entity graphs, along
with TypedQueryReference
[ ] Add integration points for dependency injection
[ ] Allow scalar expressions in the ORDER BY clause in Jakarta Persistence QL
[ ] Allow usage of TableGenerator and SequenceGenerator at the java package
level
[ ] Make identification variables and the SELECT clause in Jakarta Persistence
QL optional
[ ] Entity and embeddable classes may now be static inner classes
[ ] Primary key classes are no longer required to be public and serializable
[ ] Fixe wildcard types in addSubgraph and addAttributeNode in Graph
[ ] Fixes lower type bounds to the Path.get entity argument X
As you all may see, there are a lot of features to be done. How about we divide
and conquer some of them?
> Implement Jakarta Persistence 3.2
> ---------------------------------
>
> Key: OPENJPA-2940
> URL: https://issues.apache.org/jira/browse/OPENJPA-2940
> Project: OpenJPA
> Issue Type: Improvement
> Reporter: Paulo Cristovão de Araújo Silva Filho
> Priority: Major
>
> Implement Jakarta Persistence API 3.2 as prescribed by
> [specification|https://jakarta.ee/specifications/persistence/3.2/] and
> required by Jakarta EE 11.
> This change requires JDK17 or higher compatibility and needs considerable
> checks.
> I've already pushed a branch (WIP) without the proper API bump, focusing on
> updating dependencies while keeping the project passing its current tests at
> least in default profile.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)