Hibernate 6 Changelog ======================= Note: Please refer to JIRA to learn more about each issue. 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