hibernate-orm/changelog.txt

448 lines
21 KiB
Plaintext

Hibernate 6 Changelog
=======================
Note: Please refer to JIRA to learn more about each issue.
Changes in 6.0.0.Beta3 (December 18, 2021)
------------------------------------------------------------------------------------------------------------------------
https://hibernate.atlassian.net/projects/HHH/versions/32004
** Bug
* [HHH-14972] - log4j2 <= 2.14.1 has an RCE (CVE-2021-44228)
* [HHH-14948] - Metamodel imports cache increases indefinitely for dynamically generated HQL aliases eventually leading to an OOM
* [HHH-14934] - java.lang.IllegalStateException: SqmJpaCriteriaParameterWrapper references for JpaCriteriaParameter already exhausted
* [HHH-14933] - Unable to set the original Selection back in CriteriaQuery
* [HHH-14922] - Inconsistent precedence of orm.xml implicit catalog/schema over "default_catalog"/"default_schema"
* [HHH-14280] - VirtualEntitySingleIdMapper throws a NullPointerException when the composite identifier contains a not audited entity (using @IdClass)
* [HHH-14211] - @Lob String mapping broken
* [HHH-11435] - Alias available in WITH clause although not defined yet and generates invalid SQL
* [HHH-9432] - SQL syntax failure when collection uses @Where annotation on audit join table.
** Improvement
* [HHH-14977] - @Where is broken in 6.0
* [HHH-14949] - Support @Access on @ElementCollection (for embeddable elements)
* [HHH-14921] - Definition of the default catalog/schema on session factory creation
* [HHH-13393] - Add support for ZoneId and ZoneOffset
* [HHH-13082] - Support specifying an AttributeConverter class as a @ColumnResult#type
* [HHH-11896] - Support specification of 'on-clause' criterias when traversing relations in audit query API
* [HHH-11895] - Support traversal of components in audit queries
* [HHH-11735] - Support traversal of to-many associations in audit queries
* [HHH-11573] - No entity type expressions can be used in the Envers Query API
* [HHH-11452] - No scalar functions can be used in the Envers Query API
* [HHH-10558] - Add support for java.time.Year
** New Feature
* [HHH-14981] - Support null precedence with Envers Query API
* [HHH-13817] - Envers: Please support nested criteria in revisionsOfEntity queries
* [HHH-8051] - targetAuditMode=RelationTargetAuditMode.NOT_AUDITED should allow for missing entity targets
** Sub-task
* [HHH-14960] - Add @IdGeneratorType for better custom generator config
* [HHH-14718] - Drop deprecated generator implementations
** Task
* [HHH-14988] - Upgrade to ByteBuddy 1.12.5
* [HHH-14979] - Upgrade to Log4J 2 2.16.0
Changes in 6.0.0.Beta2 (December 02, 2021)
------------------------------------------------------------------------------------------------------------------------
https://hibernate.atlassian.net/projects/HHH/versions/31969
** Bug
* [HHH-14914] - Passing an ExtendedBeanManager which is never notified leads to runtime errors
* [HHH-14913] - sub-query modifiers are ignored
* [HHH-14877] - FetchMode.SUBSELECT ignored
* [HHH-14876] - Parameter padding for IN clauses doesn't work in Hibernate 6.0.0.Beta1
* [HHH-14875] - Slow query log seems to be missing in Hibernate 6.0.0.Beta1
* [HHH-14874] - Lazy loading of basic attributes in different @LazyGroups throws ArrayIndexOutOfBoundsException
* [HHH-9862] - Multiple TREAT operators does not work properly for joined inheritance
* [HHH-9229] - @Audited and @AuditOverride does not work consistently for embeddables that extend a mapped superclass
* [HHH-9228] - @AuditOverride has no affect if an embeddable is @Audited
** Deprecation
* [HHH-11469] - Remove ModificationStore
** Improvement
* [HHH-14928] - Document CDI integration
* [HHH-14925] - Switch from BasicType to JavaType/JdbcType for Geometry types
* [HHH-14836] - Provide `ExtensionTypes` class to hold the non-standard type codes
* [HHH-14803] - Upgrade spatial support for MariaDB
* [HHH-14802] - Upgrade spatial support for CockroachDB
* [HHH-14801] - Upgrade spatial support for Postgis
* [HHH-14800] - Remove need for SpatialDialects
* [HHH-14738] - Update tests for hibernate-spatial to junit5
* [HHH-14403] - Walk Fetchables for a container width-first rather than depth-first
* [HHH-12077] - Support short-naming of audit strategies via configuration.
* [HHH-11483] - Build models based on JAXB rather than using Dom4J
* [HHH-10496] - Allow RevisionTimestamp to be of type java.time.LocalDateTime
** New Feature
* [HHH-14906] - Support H2GIS in Spatial
* [HHH-14663] - Add testing for s390x to Jenkins CI
* [HHH-14576] - Support TiDB
* [HHH-10925] - Add annotation to ignore specific tests based on audit strategy being used.
* [HHH-9062] - Validity audit strategy: end revision timestamp is not stored in tables for joined subclasses
* [HHH-6210] - ValidityAuditStrategy doesn't support a numeric column for the revision end timestamp
* [HHH-5529] - Bulk delete on Entity with @ElementCollection ignores the @CollectionTable
** Task
* [HHH-14946] - Require JDK 11
* [HHH-14923] - Allow CriteriaQuery to determine its "return type" as part of setting the selection
* [HHH-14919] - Improve handling for java.sql.Date, Time and Timestamp
* [HHH-14890] - One-to-one mapped-by referencing embedded nested property doesn't work in Hibernate 6.0.0.Beta1
* [HHH-13395] - Update Envers to use the new Integrator signature.
Changes in 6.0.0.Beta2 (December 02, 2021)
------------------------------------------------------------------------------------------------------------------------
https://hibernate.atlassian.net/projects/HHH/versions/31969
** Bug
* [HHH-14914] - Passing an ExtendedBeanManager which is never notified leads to runtime errors
* [HHH-14913] - sub-query modifiers are ignored
* [HHH-14877] - FetchMode.SUBSELECT ignored
* [HHH-14876] - Parameter padding for IN clauses doesn't work in Hibernate 6.0.0.Beta1
* [HHH-14875] - Slow query log seems to be missing in Hibernate 6.0.0.Beta1
* [HHH-14874] - Lazy loading of basic attributes in different @LazyGroups throws ArrayIndexOutOfBoundsException
* [HHH-9862] - Multiple TREAT operators does not work properly for joined inheritance
* [HHH-9229] - @Audited and @AuditOverride does not work consistently for embeddables that extend a mapped superclass
* [HHH-9228] - @AuditOverride has no affect if an embeddable is @Audited
** Deprecation
* [HHH-11469] - Remove ModificationStore
** Improvement
* [HHH-14928] - Document CDI integration
* [HHH-14925] - Switch from BasicType to JavaType/JdbcType for Geometry types
* [HHH-14836] - Provide `ExtensionTypes` class to hold the non-standard type codes
* [HHH-14803] - Upgrade spatial support for MariaDB
* [HHH-14802] - Upgrade spatial support for CockroachDB
* [HHH-14801] - Upgrade spatial support for Postgis
* [HHH-14800] - Remove need for SpatialDialects
* [HHH-14738] - Update tests for hibernate-spatial to junit5
* [HHH-14403] - Walk Fetchables for a container width-first rather than depth-first
* [HHH-12077] - Support short-naming of audit strategies via configuration.
* [HHH-11483] - Build models based on JAXB rather than using Dom4J
* [HHH-10496] - Allow RevisionTimestamp to be of type java.time.LocalDateTime
** New Feature
* [HHH-14906] - Support H2GIS in Spatial
* [HHH-14663] - Add testing for s390x to Jenkins CI
* [HHH-14576] - Support TiDB
* [HHH-10925] - Add annotation to ignore specific tests based on audit strategy being used.
* [HHH-9062] - Validity audit strategy: end revision timestamp is not stored in tables for joined subclasses
* [HHH-6210] - ValidityAuditStrategy doesn't support a numeric column for the revision end timestamp
* [HHH-5529] - Bulk delete on Entity with @ElementCollection ignores the @CollectionTable
** Task
* [HHH-14946] - Require JDK 11
* [HHH-14923] - Allow CriteriaQuery to determine its "return type" as part of setting the selection
* [HHH-14919] - Improve handling for java.sql.Date, Time and Timestamp
* [HHH-14890] - One-to-one mapped-by referencing embedded nested property doesn't work in Hibernate 6.0.0.Beta1
* [HHH-13395] - Update Envers to use the new Integrator signature.
Changes in 6.0.0.Beta2 (December 02, 2021)
------------------------------------------------------------------------------------------------------------------------
https://hibernate.atlassian.net/projects/HHH/versions/31969
** Bug
* [HHH-14914] - Passing an ExtendedBeanManager which is never notified leads to runtime errors
* [HHH-14913] - sub-query modifiers are ignored
* [HHH-14877] - FetchMode.SUBSELECT ignored
* [HHH-14876] - Parameter padding for IN clauses doesn't work in Hibernate 6.0.0.Beta1
* [HHH-14875] - Slow query log seems to be missing in Hibernate 6.0.0.Beta1
* [HHH-14874] - Lazy loading of basic attributes in different @LazyGroups throws ArrayIndexOutOfBoundsException
* [HHH-9862] - Multiple TREAT operators does not work properly for joined inheritance
* [HHH-9229] - @Audited and @AuditOverride does not work consistently for embeddables that extend a mapped superclass
* [HHH-9228] - @AuditOverride has no affect if an embeddable is @Audited
** Deprecation
* [HHH-11469] - Remove ModificationStore
** Improvement
* [HHH-14928] - Document CDI integration
* [HHH-14925] - Switch from BasicType to JavaType/JdbcType for Geometry types
* [HHH-14836] - Provide `ExtensionTypes` class to hold the non-standard type codes
* [HHH-14803] - Upgrade spatial support for MariaDB
* [HHH-14802] - Upgrade spatial support for CockroachDB
* [HHH-14801] - Upgrade spatial support for Postgis
* [HHH-14800] - Remove need for SpatialDialects
* [HHH-14738] - Update tests for hibernate-spatial to junit5
* [HHH-14403] - Walk Fetchables for a container width-first rather than depth-first
* [HHH-12077] - Support short-naming of audit strategies via configuration.
* [HHH-11483] - Build models based on JAXB rather than using Dom4J
* [HHH-10496] - Allow RevisionTimestamp to be of type java.time.LocalDateTime
** New Feature
* [HHH-14906] - Support H2GIS in Spatial
* [HHH-14663] - Add testing for s390x to Jenkins CI
* [HHH-14576] - Support TiDB
* [HHH-10925] - Add annotation to ignore specific tests based on audit strategy being used.
* [HHH-9062] - Validity audit strategy: end revision timestamp is not stored in tables for joined subclasses
* [HHH-6210] - ValidityAuditStrategy doesn't support a numeric column for the revision end timestamp
* [HHH-5529] - Bulk delete on Entity with @ElementCollection ignores the @CollectionTable
** Task
* [HHH-14946] - Require JDK 11
* [HHH-14923] - Allow CriteriaQuery to determine its "return type" as part of setting the selection
* [HHH-14919] - Improve handling for java.sql.Date, Time and Timestamp
* [HHH-14890] - One-to-one mapped-by referencing embedded nested property doesn't work in Hibernate 6.0.0.Beta1
* [HHH-13395] - Update Envers to use the new Integrator signature.
Changes in 6.0.0.Beta1 (October 11, 2021)
------------------------------------------------------------------------------------------------------------------------
https://hibernate.atlassian.net/projects/HHH/versions/27100
** Bug
* [HHH-14820] - type-defs with "global" parameters not working
* [HHH-14814] - Inconsistent rendering of table alias in delete queries
* [HHH-14772] - Session.find does not respect enabled filters
* [HHH-14764] - Testsuite: AssertionErrors must not be caught
* [HHH-14763] - Avoid supress exceptions in try/finally
* [HHH-14762] - Testsuite: Assert.notNull must not be used on primitive types
* [HHH-13140] - Criteria API multiselect aliases are not passed through to the JPQL query and they are not available in ResultTransformer
* [HHH-11280] - Proxy Narrowing (HHH-9071) breaks polymorphic query
* [HHH-10504] - SQLQuery with join returns the joined entity instead of the root one
* [HHH-7525] - @Formula annotation with native query returning entity value causes NullPointerException
** Improvement
* [HHH-14865] - Re-work @Any and @ManyToAny support
* [HHH-14864] - Drop legacy Type-based annotations
* [HHH-14863] - Compositional definition of basic value mappings
* [HHH-14856] - Introduce @CustomType
* [HHH-14777] - Support LockOptions.SKIP_LOCKED for MariaDB 10.6+
* [HHH-14642] - verify/test Criteria in v6
* [HHH-14484] - Improve support for Firebird 4
* [HHH-14452] - Support set operations in JPA Criteria API
* [HHH-13717] - Implement HQL/Criteria TREAT support using SQM
* [HHH-12623] - Improve Javadoc comments for QueryHints.html#NATIVE_SPACES
* [HHH-11042] - Cannot count distinct on SQL Server on embedded ids
* [HHH-10825] - Improve concurrency design of ServiceBinding
** New Feature
* [HHH-14188] - Enumerated "short name" handling in HQL
* [HHH-8172] - New matches query operator
** Remove Feature
* [HHH-14870] - Rename {Xyz}TypeDescriptor as {Xyz}Type
* [HHH-14846] - Drop JMX integration
* [HHH-14844] - Drop JACC integration
** Task
* [HHH-14871] - Temporarily disable hibernate-gradle-plugin
* [HHH-14848] - Move Ant tasks + support from hibernate-core into tooling/hibernate-ant
* [HHH-14837] - Migrate to Jakarta EE
* [HHH-11755] - Drop "Serializable" from the Event Listener interfaces
Changes in 6.0.0.Alpha9 (August 4, 2021)
------------------------------------------------------------------------------------------------------------------------
https://hibernate.atlassian.net/projects/HHH/versions/31944
** Bug
* [HHH-14719] - Hibernate has a dependency on apache-derby:10.11.1.1 that is vulnerable to CVE-2015-1832 with a CVSS of 9.1 and CVE-2018-1313 with a CVSS of 5.3
* [HHH-14715 - Hibernate has a dependency to maven-core:3.0.5 that is vulnerable to CVE-2021-26291 with a CVSS of 9.1]
* [HHH-14704] - Union \+ OneToOne is broken in Hibernate 6
** Improvement
* [HHH-14745] - Add FunctionContributor contract
* [HHH-14678] - Drop ResultSetWrapper and friends
* [HHH-14617] - Remove `QueryLiteralRendering` and `LiteralHandlingMode` from v6 codebase
* [HHH-14512] - Add Jenkinsfile for ORM
* [HHH-2407] - rework HQL translator
* [HHH-1615] - GROUP BY entity does not work
** New Feature
* [HHH-14693] - Introduce hibernate-community-dialects module
* [HHH-10668] - Add SQL dialect for SQLite 3
** Sub-task
* [HHH-14718] - Drop deprecated generator implementations
* [HHH-14495] - Use table name, rather than entity name, as base for per-entity implicit sequence naming
* [HHH-3688] - Formalize new HQL normalize phase
* [HHH-3687] - Formalize new HQL parse phase
** Task
* [HHH-14605] - Handling for BLOB, CLOB and NCLOB relative to JavaTypeDescriptor `#isString` and `#isBinary`
Changes in 6.0.0.Alpha8 (May 18, 2021)
------------------------------------------------------------------------------------------------------------------------
https://hibernate.atlassian.net/projects/HHH/versions/31932
** Bug
* [HHH-14449] - ResultStream closing is not properly handled
** Improvement
* [HHH-14601] - fix typos of 'extracter' in v6
* [HHH-14600] - verify UUID in v6
* [HHH-10992] - Extend support for integrator-contributed domain and relational objects
** Remove Feature
* [HHH-14598] - Drop `hibernate-infinispan`
* [HHH-14518] - Drop hibernate-osgi module
** Task
* [HHH-14589] - Make sure documentation examples regarding basic-types work and update the section
* [HHH-14524] - Rename SqlType(X) as JdbcType(X)
* [HHH-14513] - Move publishing release artifacts from BinTray
* [HHH-12416] - Drop (or set up relocation) for hibernate-ehcache
* [HHH-11995] - Drop hibernate-entitymanager artifact
* [HHH-11994] - Drop hibernate-java8 artifact
* [HHH-11692] - Consider a new matches operator
Changes in 6.0.0.Alpha7 (March 18, 2021)
------------------------------------------------------------------------------------------------------------------------
https://hibernate.atlassian.net/projects/HHH/versions/31878
** Bug
* [HHH-14390] - StackOverflowError with @Fetch(FetchMode.SELECT) mapped for entity with an ID that is a bidirectional one-to-one eager association
* [HHH-14394] - Column "XYZ" must be in the GROUP BY list; SQL Error: 90016
* [HHH-14466] - StackOverflowError loading an entity with eager one-to-many if bidirectional and many-to-one side is the ID
* [HHH-14508] - Logging in debug mode gives an invalid conversion error in StandardRowReader.java
** New Feature
* [HHH-1050] - HQL Unions
* [HHH-14188] - Enumerated "short name" handling in HQL
* [HHH-14285] - Create "project template"
* [HHH-14409] - Internal format of natural-id values
** Task
* [HHH-14186] - @ColumnTransformer support
* [HHH-14192] - H2 compatibility: explicitly specify precision/scale for @Column in test
* [HHH-14195] - Generated DDL for UUID fields contains columns of length 255
* [HHH-14315] - Upgrade to Gradle 6.7 and use toolchains for per-JDK builds
** Improvement
* [HHH-10282] - AttributeConverter for Enum within JPQL query
* [HHH-13077] - Optimize query plan call count
* [HHH-13658] - Make NO_PROXY unnecessary
* [HHH-13884] - Follow javax.persistence.criteria.Order.reverse() contract
* [HHH-14286] - Improvements to Hibernate's Gradle Plugin
* [HHH-14313] - New natural-id features
* [HHH-14318] - `@JoinFormula` and `@JoinColumnOrFormula` support
* [HHH-14452] - Support set operations in JPA Criteria API
* [HHH-14456] - Allow unwrap of DialectResolutionInfo to support detecting PostgreSQL forks
* [HHH-14478] - Allow DialectResolvers to be discovered by ServiceLoader
** Sub-task
* [HHH-13757] - Second-level cache cleanup
* [HHH-14469] - Support schema-tooling on sub-sets of the relational model known to Hibernate
* [HHH-14491] - Apply default allocation/increment size for @GeneratedValue(AUTO)
* [HHH-14492] - Prefer sequence-per-entity (hierarchy) by default
** Remove Feature
* [HHH-14450] - Drop ability to disable "enhanced proxies"
Changes in 6.0.0.Alpha6 (August 20, 2020)
------------------------------------------------------------------------------------------------------------------------
https://hibernate.atlassian.net/projects/HHH/versions/31848
** Bug
* [HHH-13828] - Drop EntityPersister extending the internal interface InFlightEntityMappingType
** Improvement
* [HHH-14172] - Drop any/all usage of Javassist
* [HHH-14167] - JpaCompliance for @OrderBy handling
* [HHH-13745] - Verify HqlTranslator usability without SessionFactory
** New Feature
* [HHH-13132] - HQL inline EntityGraph support
* [HHH-1523] - Rebuild fetches from query-cache hits
** Task
* [HHH-14174] - Implent Collection#getElementByIndex
* [HHH-14173] - @Parent support
* [HHH-14171] - `@Formula` support
* [HHH-14170] - Implement RowId support
* [HHH-14169] - Implement SQM `member of` predicate
* [HHH-14168] - Support for custom Type/UserType impls
* [HHH-14166] - Allow nulls-precedence in HQL/SQM
* [HHH-14165] - Implement support for embeddable-valued QueryParameters
* [HHH-14164] - Verify / enable query result caching
* [HHH-14163] - Named ResultSet mappings
* [HHH-14162] - NativeQuery support
* [HHH-14161] - NamedQuery support
Changes in 6.0.0.Alpha5 (April 24, 2020)
------------------------------------------------------------------------------------------------------------------------
https://hibernate.atlassian.net/browse/HHH/fixforversion/31821
** Bug
* [HHH-13711] - H2 dialect not accurate for drop table since version 1.4.200
** Task
* [HHH-13937] - Remove JUnit 5 as compile-time dependency
* [HHH-13953] - Upgrade dom4j to 2.1.3
Changes in 6.0.0.Alpha4 (December 20, 2019)
------------------------------------------------------------------------------------------------------------------------
https://hibernate.atlassian.net/projects/HHH/versions/31817
** Bug
* [HHH-13777] - UnsupportedOperationException is thrown for MappedSuperclass if the id is declared on subclasses
** Task
* [HHH-13746] - Implement Load by Multiple Ids using SQL AST
* [HHH-13763] - Update all load-by-key handling to use SQL AST
* [HHH-13778] - `@OrderBy` handling using SQL AST
** Improvement
* [HHH-13718] - secondary tables support
* [HHH-13769] - Avoid unnecessary joins
Changes in 6.0.0.Alpha1 (November 23, 2019)
------------------------------------------------------------------------------------------------------------------------
https://hibernate.atlassian.net/projects/HHH/versions/31768/
** Sub-task
* [HHH-13714] - HQL/Criteria UPDATE support
* [HHH-13715] - HQL/Criteria DELETE support
** New Feature
* [HHH-11474] - Implement support for LIMIT and OFFSET clause
** Task
* [HHH-13395] - Update Envers to use the new Integrator signature.
* [HHH-13725] - Implement ToOne Associations support
* [HHH-13732] - Implement OneToOne support
** Improvement
* [HHH-11828] - Adjust EntityMode, Tuplizer and friends to the 6.0 metamodel (Navigable et.al.) contracts
* [HHH-13081] - Pass BootstrapContext to Integrator#integrate
* [HHH-13224] - Look at removing references to SessionFactory from various components
** Remove Feature
* [HHH-10071] - Remove support for "collection properties" in HQL
* [HHH-11990] - Remove LogicalConnectionImplementor#makeShareableCopy