[hibernate-dev] List of changes in JPA 2.2

Gunnar Morling gunnar at hibernate.org
Mon Dec 4 10:48:05 EST 2017


Hi,

Related to the discussion this afternoon, this is the list of API changes
in JPA 2.2:

* all repeatable annotations marked with @Repeatable
* new annotations javax.persistence.SequenceGenerators and TableGenerators
(containing annotation types for repeatable annotations SequenceGenerator
and TableGenerator)
* new methods javax.persistence.Query#getResultStream() and
TypedQuery#getResultStream()

You can find the full diff below.

Cheers,

--Gunnar

=====
Comparing source compatibility of javax.persistence-2.2.0.jar against
javax.persistence-2.1.1.jar
WARNING: You are using the option '--ignore-missing-classes', i.e.
superclasses and interfaces that could not be found on the classpath are
ignored. Hence changes caused by these superclasses and interfaces are not
reflected in the output.
===  UNCHANGED ANNOTATION: PUBLIC ABSTRACT
javax.persistence.AssociationOverride  (not serializable)
    ***! CLASS FILE FORMAT VERSION: 52.0 <- 50.0
    +++  NEW ANNOTATION: java.lang.annotation.Repeatable
        +++  NEW ELEMENT: value=javax.persistence.AssociationOverrides (+)
===  UNCHANGED ANNOTATION: PUBLIC ABSTRACT
javax.persistence.AttributeOverride  (not serializable)
    ***! CLASS FILE FORMAT VERSION: 52.0 <- 50.0
    +++  NEW ANNOTATION: java.lang.annotation.Repeatable
        +++  NEW ELEMENT: value=javax.persistence.AttributeOverrides (+)
===  UNCHANGED ANNOTATION: PUBLIC ABSTRACT javax.persistence.Convert  (not
serializable)
    ***! CLASS FILE FORMAT VERSION: 52.0 <- 50.0
    +++  NEW ANNOTATION: java.lang.annotation.Repeatable
        +++  NEW ELEMENT: value=javax.persistence.Converts (+)
===  UNCHANGED ANNOTATION: PUBLIC ABSTRACT javax.persistence.JoinColumn
(not serializable)
    ***! CLASS FILE FORMAT VERSION: 52.0 <- 50.0
    +++  NEW ANNOTATION: java.lang.annotation.Repeatable
        +++  NEW ELEMENT: value=javax.persistence.JoinColumns (+)
===  UNCHANGED ANNOTATION: PUBLIC ABSTRACT
javax.persistence.MapKeyJoinColumn  (not serializable)
    ***! CLASS FILE FORMAT VERSION: 52.0 <- 50.0
    +++  NEW ANNOTATION: java.lang.annotation.Repeatable
        +++  NEW ELEMENT: value=javax.persistence.MapKeyJoinColumns (+)
===  UNCHANGED ANNOTATION: PUBLIC ABSTRACT
javax.persistence.NamedEntityGraph  (not serializable)
    ***! CLASS FILE FORMAT VERSION: 52.0 <- 50.0
    +++  NEW ANNOTATION: java.lang.annotation.Repeatable
        +++  NEW ELEMENT: value=javax.persistence.NamedEntityGraphs (+)
===  UNCHANGED ANNOTATION: PUBLIC ABSTRACT
javax.persistence.NamedNativeQuery  (not serializable)
    ***! CLASS FILE FORMAT VERSION: 52.0 <- 50.0
    +++  NEW ANNOTATION: java.lang.annotation.Repeatable
        +++  NEW ELEMENT: value=javax.persistence.NamedNativeQueries (+)
===  UNCHANGED ANNOTATION: PUBLIC ABSTRACT javax.persistence.NamedQuery
(not serializable)
    ***! CLASS FILE FORMAT VERSION: 52.0 <- 50.0
    +++  NEW ANNOTATION: java.lang.annotation.Repeatable
        +++  NEW ELEMENT: value=javax.persistence.NamedQueries (+)
===  UNCHANGED ANNOTATION: PUBLIC ABSTRACT
javax.persistence.NamedStoredProcedureQuery  (not serializable)
    ***! CLASS FILE FORMAT VERSION: 52.0 <- 50.0
    +++  NEW ANNOTATION: java.lang.annotation.Repeatable
        +++  NEW ELEMENT:
value=javax.persistence.NamedStoredProcedureQueries (+)
===  UNCHANGED ANNOTATION: PUBLIC ABSTRACT
javax.persistence.PersistenceContext  (not serializable)
    ***! CLASS FILE FORMAT VERSION: 52.0 <- 50.0
    +++  NEW ANNOTATION: java.lang.annotation.Repeatable
        +++  NEW ELEMENT: value=javax.persistence.PersistenceContexts (+)
===  UNCHANGED ANNOTATION: PUBLIC ABSTRACT
javax.persistence.PersistenceUnit  (not serializable)
    ***! CLASS FILE FORMAT VERSION: 52.0 <- 50.0
    +++  NEW ANNOTATION: java.lang.annotation.Repeatable
        +++  NEW ELEMENT: value=javax.persistence.PersistenceUnits (+)
===  UNCHANGED ANNOTATION: PUBLIC ABSTRACT
javax.persistence.PrimaryKeyJoinColumn  (not serializable)
    ***! CLASS FILE FORMAT VERSION: 52.0 <- 50.0
    +++  NEW ANNOTATION: java.lang.annotation.Repeatable
        +++  NEW ELEMENT: value=javax.persistence.PrimaryKeyJoinColumns (+)
**** MODIFIED INTERFACE: PUBLIC ABSTRACT javax.persistence.Query  (not
serializable)
    ***! CLASS FILE FORMAT VERSION: 52.0 <- 50.0
    +++* NEW METHOD: PUBLIC(+) java.util.stream.Stream getResultStream()
===  UNCHANGED ANNOTATION: PUBLIC ABSTRACT
javax.persistence.SecondaryTable  (not serializable)
    ***! CLASS FILE FORMAT VERSION: 52.0 <- 50.0
    +++  NEW ANNOTATION: java.lang.annotation.Repeatable
        +++  NEW ELEMENT: value=javax.persistence.SecondaryTables (+)
===  UNCHANGED ANNOTATION: PUBLIC ABSTRACT
javax.persistence.SequenceGenerator  (not serializable)
    ***! CLASS FILE FORMAT VERSION: 52.0 <- 50.0
    +++  NEW ANNOTATION: java.lang.annotation.Repeatable
        +++  NEW ELEMENT: value=javax.persistence.SequenceGenerators (+)
+++  NEW ANNOTATION: PUBLIC(+) ABSTRACT(+)
javax.persistence.SequenceGenerators  (not serializable)
    +++  CLASS FILE FORMAT VERSION: 52.0 <- -1.-1
    +++  NEW INTERFACE: java.lang.annotation.Annotation
    +++  NEW SUPERCLASS: java.lang.Object
    +++  NEW METHOD: PUBLIC(+) ABSTRACT(+)
javax.persistence.SequenceGenerator[] value()
    +++  NEW ANNOTATION: java.lang.annotation.Target
        +++  NEW ELEMENT:
value=java.lang.annotation.ElementType.TYPE,java.lang.annotation.ElementType.METHOD,java.lang.annotation.ElementType.FIELD
(+)
    +++  NEW ANNOTATION: java.lang.annotation.Retention
        +++  NEW ELEMENT:
value=java.lang.annotation.RetentionPolicy.RUNTIME (+)
===  UNCHANGED ANNOTATION: PUBLIC ABSTRACT
javax.persistence.SqlResultSetMapping  (not serializable)
    ***! CLASS FILE FORMAT VERSION: 52.0 <- 50.0
    +++  NEW ANNOTATION: java.lang.annotation.Repeatable
        +++  NEW ELEMENT: value=javax.persistence.SqlResultSetMappings (+)
===  UNCHANGED ANNOTATION: PUBLIC ABSTRACT
javax.persistence.TableGenerator  (not serializable)
    ***! CLASS FILE FORMAT VERSION: 52.0 <- 50.0
    +++  NEW ANNOTATION: java.lang.annotation.Repeatable
        +++  NEW ELEMENT: value=javax.persistence.TableGenerators (+)
+++  NEW ANNOTATION: PUBLIC(+) ABSTRACT(+)
javax.persistence.TableGenerators  (not serializable)
    +++  CLASS FILE FORMAT VERSION: 52.0 <- -1.-1
    +++  NEW INTERFACE: java.lang.annotation.Annotation
    +++  NEW SUPERCLASS: java.lang.Object
    +++  NEW METHOD: PUBLIC(+) ABSTRACT(+)
javax.persistence.TableGenerator[] value()
    +++  NEW ANNOTATION: java.lang.annotation.Target
        +++  NEW ELEMENT:
value=java.lang.annotation.ElementType.TYPE,java.lang.annotation.ElementType.METHOD,java.lang.annotation.ElementType.FIELD
(+)
    +++  NEW ANNOTATION: java.lang.annotation.Retention
        +++  NEW ELEMENT:
value=java.lang.annotation.RetentionPolicy.RUNTIME (+)
**** MODIFIED INTERFACE: PUBLIC ABSTRACT javax.persistence.TypedQuery  (not
serializable)
    ***! CLASS FILE FORMAT VERSION: 52.0 <- 50.0
    ===* UNCHANGED INTERFACE: javax.persistence.Query
    +++* NEW METHOD: PUBLIC(+) java.util.stream.Stream getResultStream()


More information about the hibernate-dev mailing list