hibernate-orm/changelog.txt

831 lines
46 KiB
Plaintext

Hibernate 6 Changelog
=======================
Note: Please refer to JIRA to learn more about each issue.
Changes in 6.2.0.CR1 (December 22, 2022)
------------------------------------------------------------------------------------------------------------------------
https://hibernate.atlassian.net/projects/HHH/versions/32077
** Bug
* [HHH-15900] - ID attributes with "select" generator are mapped to identity columns
* [HHH-15847] - DDL check constraint creation broken
* [HHH-15828] - setting TIMEZONE_DEFAULT_STORAGE to COLUMN does not work
* [HHH-15820] - inconsistent DDL generated Instant and ZonedDateTime, OffsetDateTime on Oracle
* [HHH-15819] - extract(offset hour|minute from datetime) are broken
* [HHH-15814] - Add missing current timestamp methods in CockroachDB dialect
* [HHH-15801] - IdentifierGeneratorHelper should compare column names case insensitively
* [HHH-15775] - Connection error can result in UnknownServiceException, hiding actual exception
* [HHH-15767] - missing unique constraints from optional @OneToOne
* [HHH-15750] - Hibernate.isInitialized() broken for EnhancementAsProxyLazinessInterceptor
* [HHH-15748] - Use JSON DDL type on Oracle 21+ and BLOB on 12+
* [HHH-15741] - Explicit declaration assigned identifier generator does not work
* [HHH-15715] - broken links in 6 docs
* [HHH-15709] - HQL local datetime literals on Postgres, Cockroach H2
* [HHH-15704] - ManyToManyTest produces invalid foreign keys
* [HHH-15689] - SessionFactoryOptionsBuilder.addEntityNameResolvers() has no effect
* [HHH-15687] - IllegalArgumentException with Type parameters and multiple bounds
* [HHH-15682] - static final instances of LockOptions are mutable
* [HHH-15679] - Respect the offset of OffsetTime when persisting/loading data
* [HHH-15670] - RequiresDialectFeature.reverse() not implemented
* [HHH-15669] - Oracle 21 and 11 spatial test failure
* [HHH-15668] - Cockroach test failure: BatchOptimisticLockingTest.testBatchAndOptimisticLocking
* [HHH-15634] - Lazy basic property does not get updated on change
* [HHH-15627] - useless error message of multi-@JoinColumn mapping does not specify referencedColumnName
* [HHH-15571] - Bundle-Manifest has no 'Bundle-Version'
* [HHH-15565] - @Table(fetch=SELECT) is gone from H6
* [HHH-15549] - incorrect DDL mapping DECIMAL -> BOOLEAN on Oracle
* [HHH-15545] - @NotFound(Ignore) defaults to eager loading
* [HHH-15522] - Hibernate.isInitialized method not working for Envers Collections
* [HHH-15505] - Getter of loaded entity returns null when using bytecode enhancement on entity whose field is defined both in mapped superclass and concrete entity
* [HHH-15485] - Tests for Collections in default FetchGroup are not enabling this property
* [HHH-15463] - Adjust JdbcType based on DDL capacity for varchar/varbinary like types
* [HHH-15159] - Orphan removal of an entity with an @ElementCollection causes a ConstraintViolationException
** Deprecation
* [HHH-15788] - deprecate GenerationTime
* [HHH-15772] - deprecate @Target, @Proxy, @Polymorphism
* [HHH-15714] - deprecate FilterKey and QuerySpacesHelper
* [HHH-15701] - deprecated CacheModeType
* [HHH-15697] - deprecate lock(entityName,...)
* [HHH-15684] - SelectionQuery.setAliasSpecificLockMode() confusion
* [HHH-15680] - deprecate LockRequest and buildLockRequest(), and have lock() accept LockOptions
* [HHH-15676] - deprecate SessionFactory.getFilterDefinition()
** Improvement
* [HHH-15926] - allow @Type and @CompositeType to be applied as meta-annotations
* [HHH-15919] - add trunc() / truncate() to the portable HQL functions
* [HHH-15912] - adaptive handling of DDL types for Java enums mapped as ORDINAL
* [HHH-15899] - Add @PartitionKey annotation
* [HHH-15898] - Add @Instantiator annotation to mark canonical constructor for embeddables
* [HHH-15887] - Avoid megamorphic calls on JdbcValuesSourceProcessingState#getSession
* [HHH-15886] - Micro optimisations in NavigableRole equals and hashcode
* [HHH-15879] - Introduce a fetchable key for Fetchable within FetchableContainer
* [HHH-15878] - Micro optimisations of StatefulPersistenceContext#clear
Changes in 6.1.2.Final (August 03, 2022)
------------------------------------------------------------------------------------------------------------------------
https://hibernate.atlassian.net/projects/HHH/versions/32087
** Bug
* [HHH-15430] - Allow use of @Enumerated on basic collection
* [HHH-15428] - Converters for BasicCollectionType don't work
* [HHH-15423] - @Any discriminated association fails to be implicitly fetched due to UnsupportedOperationException
* [HHH-15420] - Getting Started Guide Code does not build
* [HHH-15418] - Composite primary key with NativeQuery & alias not working
* [HHH-15417] - UUID with AttributeConverter, merge throws ClassCastException
* [HHH-15414] - For Oracle Dialect from version 8 Envers should not generate new revision when database replaces empty string with NULL during INSERT or UPDATE statements
* [HHH-15413] - For Oracle Dialect from version 8 Envers should use an ordered sequence
* [HHH-15406] - Tests annotated with org.hibernate.testing.RequiresDialect having as value deprecated dialect are not executed
* [HHH-15403] - Likely Statement leak on invoking a stored procedure
* [HHH-15396] - Quick Start guide, hibernate-tutorials.zip link is broken
* [HHH-15395] - HibernateCriteriaBuider#power(Expression<? extends Number> x, Number y) throws ClassCastException
* [HHH-15392] - Reinstantiate support for Character values for like expression escape character
* [HHH-15391] - StackOverflow when applying a load entity graphs to a query
* [HHH-15390] - Calling SqmQuery#getSqmStatement()#toHqlString() causes ClassCastExpection when using distinct in Criteria or HQL query
* [HHH-15379] - NPE building mapping from HBM for collections targeting a class that does not have an HBM mapping
* [HHH-15371] - Envers failure when run under SecurityManager
* [HHH-15323] - @AnyDiscriminator Unable to filter a polymorphic relationship in a query
* [HHH-15218] - @OptimisticLocking(DIRTY) leads to wrong query during delete of circular reference
** Improvement
* [HHH-15415] - Jackson and Jakarta Jsonb custom types to allow GraalVM compilation
** New Feature
* [HHH-15352] - ScrollableResults.setFetchSize()
** Task
* [HHH-15412] - Cleanup: remove reflection keeping JDK8 compatibility afloat in AggregatedServiceLoader
* [HHH-15411] - Introduce an system property to fully disable Hibernate's use of a system SecurityManager
* [HHH-15409] - Restore lazy initialization semantics for MetadataSources#xmlMappingBinderAccess
* [HHH-15408] - QueryEngine to be more defensive with passed parameters
* [HHH-15407] - Need to expose more internal state from MetadataImpl to allow copies of metadata instances
* [HHH-15404] - Move annotation to intended package: org.hibernate.Remove (from org.hibernate.annotations.Remove)
* [HHH-15322] - Allow JNDI lookups using the osgi scheme
Changes in 6.1.1.Final (July 01, 2022)
------------------------------------------------------------------------------------------------------------------------
https://hibernate.atlassian.net/projects/HHH/versions/32080
** Bug
* [HHH-15369] - UnknownTableReferenceException when two subclasses have same field with different type
* [HHH-15361] - Update assignment type check should allow subtypes
* [HHH-15360] - Listagg with nulls clause emulation in H2 before 2.0
* [HHH-15358] - @Where annotation with globally_quoted_identifiers causes Unable to determine TableReference Exception
* [HHH-15357] - ClassCastException when selecting map key FK part
* [HHH-15354] - NPE building mapping from HBM for associations targeting a non existing entity
* [HHH-15349] - Comparing entity join alias with collection part fails
* [HHH-15347] - Parent identity check in NavigablePath#relativize is too strict
* [HHH-15346] - @ManyToOne associations not loaded correctly with default EAGER and batch fetch property set
* [HHH-15343] - NPE in type determination for case expression returning null literal
* [HHH-15342] - Inappropriate variation of HQL left join to SQL inner join
* [HHH-15341] - Disallow transient entities as parameters
* [HHH-15339] - Association in embedded id initialized to null when selected
* [HHH-15338] - Impossible to give same path expression multiple aliases
* [HHH-15331] - Constructor expressions in the SELECT clause ignores attribute converter
* [HHH-15324] - Hibernate (6.0.2) Regression. Sets Legacy java.persistence properties, then logs deprecation warnings on these which spams log
* [HHH-15314] - Hibernate Gradle plugin is not working for Kotlin projects
** Improvement
* [HHH-15367] - Lift embedded/id-class to-one selection limitation for from clause subqueries
* [HHH-15329] - Remove workaround for HHH-10382
* [HHH-15325] - Avoid allocations from BitSet.stream() in AbstractEntityPersister.resolveDirtyAttributeIndexes()
Changes in 6.1.0.Final (June 07, 2022)
------------------------------------------------------------------------------------------------------------------------
https://hibernate.atlassian.net/projects/HHH/versions/32066
** Bug
* [HHH-15316] - Session.createQuery() doesn't accept JpaCriteriaInsertSelect
* [HHH-15297] - Invalid Automatic-Module-Name org.hibernate.orm.community-dialects
* [HHH-15294] - Type issues in CockroachDB dialect
* [HHH-15293] - CockroachDB BYTES type does not have a length specification
* [HHH-15291] - ClassCastException Regression in CriteriaBuilder
* [HHH-15288] - Switch to SMALLINT as recommended type for enums
* [HHH-15286] - Query with a Composite Identifier (@IdClass) throws an exception
* [HHH-15285] - Calling getJavaType() of @ElementCollection with basic types returns wrong type
* [HHH-15283] - NullPointerException from EntityManager.createNamedNativeQuery(…)
* [HHH-15281] - INSERTs/UPDATEs no longer executed as JDBC Batch statements if hibernate.temp.use_jdbc_metadata_defaults is set to false
* [HHH-15279] - NPE with Id on OneToOne referencing entity with multi-level EmbeddedId
* [HHH-15278] - NPE when NULL is used in a query projection
* [HHH-15270] - Inconsistent precedence of orm.xml implicit catalog over "default_catalog" in XML-mapped entities
* [HHH-15269] - Update NativeQuery unable to use h-schema placeholder, just emits placeholder contents into SQL
* [HHH-15267] - Some cache objects aren't implement Serializable interface
* [HHH-15266] - NullPointerException on
* [HHH-15265] - SchemaExport.execute does not add the configured schema to comments
* [HHH-15263] - @NamedQuery is not supported with UPDATE statement
* [HHH-15260] - Criteria query is unable to determine TableReference when combining subquery with join
* [HHH-15258] - Orphan removal for OneToMany relations is broken when used with GenerationType.IDENTITY
* [HHH-15256] - Query NPE when using ":param IS NULL" with a Left Join
* [HHH-15255] - Fix org.hibernate.orm.test.batch.BatchTest
* [HHH-15153] - @OneToOne does not support @EmbeddedId
* [HHH-15134] - Update a bytecode enhanced Entity with a Version attribute causes OptimisticLockException
* [HHH-15010] - @CreationTimestamp and @UpdateTimestamp documentation have an incomplete list of supported field types
** Improvement
* [HHH-15300] - Unnecessary memory usage detected in SqlStatementLogger.logSlowQuery()
* [HHH-15292] - escape special html chars in JavaDoc
* [HHH-15276] - Introduce ConverterRegistration annotation
* [HHH-15259] - Explicitly add JavaDoc to make @deprecated hint visible in Eclipse
** New Feature
* [HHH-15251] - Unified mapping XSD based on JPA 3.1
* [HHH-10999] - Arrays datatype support via java.sql.Array
* [HHH-3356] - Support for subselect (subquery) in from clause
** Task
* [HHH-15274] - Small optimisation for how LazyAttributeLoadingInterceptor is dealing with lazy fields
* [HHH-14614] - Better support for JUnit 5 on-failure handling
Changes in 6.0.1.Final (May 06, 2022)
------------------------------------------------------------------------------------------------------------------------
https://hibernate.atlassian.net/projects/HHH/versions/32061
** Bug
* [HHH-15246] - HQL fails to set enum col to NULL
* [HHH-15245] - Minor regression in CockroachDB test cases
* [HHH-15241] - fix nonexistent references in hibernate core's Javadoc
* [HHH-15240] - Defining a UserVersionType causes AssertionError from VersionResolution if running in JVM with "-ea" flag set
* [HHH-15239] - "user guide" for 5.6 is missing after 6.0 is released
* [HHH-15238] - Documentation: update JDBC logging configuration for 6.0
* [HHH-15236] - Fix signing of published artifacts
* [HHH-15233] - Query NPE when using ":param IS NULL" and the parameter value is an Entity
* [HHH-15232] - OneToOne-Relation: Exception when using empty List in setParameter
* [HHH-15229] - Query returns null for broken foreign key reference and NotFoundAction.EXCEPTION
* [HHH-15225] - Jta transactions, name queries with errors throw IllegalStateException instead of IllegalArgumentException when transaction is not active
* [HHH-15223] - Embeddables in the Query Result, the embeddable instance returned by the query will not be in the managed state
* [HHH-15212] - SchemaExport.execute does not replace the ${schema}-placeholder in HBM database-object with configured schema
* [HHH-15211] - ClassCastException being thrown in transaction commit()
* [HHH-15202] - Unnecessary memory waste due to SubselectFetch
* [HHH-15201] - Composite ID with dynamic-map entities fails with an exception
* [HHH-15196] - LikeExpression.getTypedValues() should use the default Locale instead of Locale.ROOT for lowercasing.
* [HHH-15193] - Fix Gradle plugin - forcing dependency on hibernate-core SNAPSHOT
* [HHH-15174] - TimeZoneStorageType.NORMALIZE_UTC doesn't normalize to UTC
* [HHH-15168] - Trying to execute a native query without parameters throws a NPE
* [HHH-15167] - IllegalArgumentException occurred while calling setter for property
* [HHH-15164] - Byte Code Enhancement : ClassNotFoundException: net.bytebuddy.NamingStrategy$SuffixingRandom$BaseNameResolver
* [HHH-15163] - hibernate-jpamodelgen 6.0 throws java.lang.ClassNotFoundException: jakarta.xml.bind.JAXBException at build time
* [HHH-15162] - Predicate with LENGTH(<clob>) is causing a QueryException
* [HHH-15161] - Insert statement not inferring types in select clause based on target paths
* [HHH-15154] - User Guide: "using passing" in section 11.11 FetchMode.SUBSELECT
* [HHH-15150] - Hibernate 6 EmbeddedId CacheKeys are no longer Serializable
* [HHH-15141] - Bytecode enhancement fails for a protected, embedded field in a MappedSuperclass from a different package than the entity
** Improvement
* [HHH-15221] - Fix a logging error in JdbcValuesCacheHit
* [HHH-15220] - correct obvious typos in either comment or variable name
* [HHH-15210] - Oracle dialect should have MaxIdentifierLength to 128 for version equals or above 12.2
* [HHH-15208] - Upgrade to Micrometer 1.8.4
* [HHH-15207] - Upgrade GraalVM SDK to 22.0.0.2
* [HHH-15206] - Upgrade to ANTLR 4.10
* [HHH-15204] - Remove dependency to jakarta.activation:jakarta.activation-api
* [HHH-15200] - Support XML DDL type
* [HHH-15189] - Deprecation warning for lock timeout is always printed
* [HHH-15187] - Upgrade to HCANN 6.0.0.Final
* [HHH-15184] - Improve efficiency of Component#getSelectables()
* [HHH-15170] - Dedicated chapter for "Build Tool Support"
* [HHH-15157] - Add HQL query to NoResultException
* [HHH-14992] - Stop building ZIP and TGZ dists to upload to SF
* [HHH-4384] - @JoinColumn must be set for @AssociationOverride to work
** New Feature
* [HHH-15165] - Add GEOGRAPHY constant to SqlTypes
** Task
* [HHH-15237] - Upgrade to Agroal 2.0
* [HHH-15226] - Publish a Gradle platform (Maven Bom++) for Hibernate ORM
* [HHH-15224] - Update list of modules in the documentation
* [HHH-15222] - Introduce an helper class SPI for decorating a Session instance when the instance is lazily provided
* [HHH-15219] - Re-introduce the ability to stop and then reactivate a ServiceRegistry
* [HHH-15209] - Upgrade to bytebuddy 1.12.9
Changes in 6.0.0.Final (March 31, 2022)
------------------------------------------------------------------------------------------------------------------------
https://hibernate.atlassian.net/projects/HHH/versions/32049
** Bug
* [HHH-15131] - JPA Compliance issue with Envers
* [HHH-15118] - PooledOptimizer generates duplicate ids when several JVMs initialize optimizer and sequence value is the initial value
* [HHH-15117] - ConstraintViolationException is thrown using same @SecondaryTable on two entities
* [HHH-15115] - Deleting an entity with Joined inheritance and default schema set is throwing and error
* [HHH-15113] - Exception setting ParameterExpressions on Update Queries
* [HHH-15111] - MappingException is thrown for @JoinColumn with referencedColumnName on a @SecondaryTable
* [HHH-15105] - Getting the CacheRegionStatistics before executing a query leads to a NPE later on
* [HHH-15098] - suboptimal/incorrect behavior when updating managed oneToMany collection on entity with naturalId
* [HHH-15091] - EntityManager.persist does not verify the existence of the one side of a many-to-one relationship, introduced 5.4.17
* [HHH-14487] - PropertyAccessStrategyMapImpl imports wrong class
** Improvement
* [HHH-15144] - Add IncubationLogger
* [HHH-15143] - Add an "implicit naming strategy" for database structures (sequence and tables) for identifier generators
* [HHH-15138] - Remove support for Eviction Listeners in BoundedConcurrentHashMap
* [HHH-15078] - Support for Tuple and SelectionQuery
* [HHH-15055] - Document SelectionQuery and MutationQuery
* [HHH-14672] - Allow specifying CHAR-based storage for UUID mappings
* [HHH-14510] - Remove deprecated id-gen related contracts and classes
* [HHH-13135] - Add support for KEY/NO KEY locking in PostgreSQL
** New Feature
* [HHH-14739] - Implement ILike support in 6
** Task
* [HHH-15139] - Improvements for QueryInterpretationCache
* [HHH-15133] - Use specified result-type to better infer "shape" of query results with implicit selections
* [HHH-15132] - Improvements for NavigablePath
* [HHH-15119] - Upgrade to ByteBuddy 1.12.8
* [HHH-15107] - Update build to make tests pass against JDK19
* [HHH-14884] - More improvements to Domain Model chapter of the User Guide
* [HHH-14872] - Re-enable hibernate-gradle-plugin
Changes in 6.0.0.CR2 (March 09, 2022)
------------------------------------------------------------------------------------------------------------------------
https://hibernate.atlassian.net/projects/HHH/versions/32033
** Bug
* [HHH-15084] - JpaCompliantLifecycleStrategy uses deprecated BeanManager method that's gone in CDI 4.0
* [HHH-15082] - JDBC Statement leaks after exceptions other than SQLException during insert/update/...
* [HHH-15073] - Criteria query built from JPA metamodel throws PersistenceException: Specified result type [long] did not match Query selection type [java.lang.Long]
* [HHH-15071] - "this.anticipatedType" is null
* [HHH-15068] - "CDI BeanManager not (yet) ready to use" when refferring to a user type by name and using an ExtendedBeanManager
* [HHH-15057] - JdbcSQLException: NULL not allowed for column "BOOKS_ORDER" when inserting into many-to-many list
* [HHH-15054] - NPE on cascade-delete for @OneToMany(mappedBy = ...) association
* [HHH-14932] - Spatial support for PostgreSQL 10+ uses invalid WKB dialect
* [HHH-13694] - Numeric Overflow Exception when retrieving the Meta-data for sequences from Oracle Database
* [HHH-10463] - Coalesce does not handle NULL values properly for PostgreSQL
* [HHH-15090] - Access to public field with extended bytecode enhancement returns null for entity lazy-loaded from polymorphic toOne association
** Improvement
* [HHH-15106] - fk() SQM function
* [HHH-15099] - Improve handling of associations marked with @NotFound
* [HHH-15094] - Handle http://hibernate.org and https://* for all DTDs in LocalXmlResourceResolver
** Task
* [HHH-15114] - Clean up deprecations
* [HHH-14604] - Sign published artifacts
Changes in 6.0.0.CR1 (January 27, 2022)
------------------------------------------------------------------------------------------------------------------------
https://hibernate.atlassian.net/projects/HHH/versions/32013
** Bug
* [HHH-15046] - DB2z and DB2i NullpointerException on initialization
* [HHH-15044] - Revert HHH-14826 fix because the provided test was wrong
* [HHH-15037] - Criteria Update/Delete with vararg parameters throws NullPointerException
* [HHH-15035] - Native query type discovery with h2 2.0.202 with float(..) DDL type
* [HHH-15014] - H2Dialect does not work properly with h2 2.0.202 on sub selects with tuples
* [HHH-15013] - H2Dialect does not work properly with h2 2.0.202 and sequences
* [HHH-15009] - H2Dialect does not work properly with h2 2.0.202 and updating schema
* [HHH-14991] - Cache StoreMode property not renamed to Jakarta Persistence API
* [HHH-14985] - H2Dialect does not work properly with h2 2.0.202 on inserts
* [HHH-14958] - Use of CDI to create built-in generators upon metadata creation, leading to errors if CDI is not yet initialized
* [HHH-9688] - Combination of @OrderBy and @SortComparator
** Improvement
* [HHH-15047] - Ensure all spatial functions have a valid FunctionReturnTypeResolver
* [HHH-15042] - Add Offset-Feature for DB2zDialect
* [HHH-15030] - Introduce SelectionQuery and MutationQuery
* [HHH-15021] - Support for UserCollectionType
* [HHH-15017] - Clean-up Query#setParameter overloads
* [HHH-14974] - Allow AttributeConverter as parameter type
* [HHH-14951] - Add @EmbeddableRepresentationStrategy
* [HHH-14950] - Support mapping of embeddables with no setters (assuming a custom instantiator or repo-strategy is used)
* [HHH-14808] - Refactor SpatialPredicates for H6
* [HHH-14807] - Upgrade spatial support for Oracle
* [HHH-14805] - Upgrade spatial support for SqlServer
* [HHH-14804] - Upgrade spatial support for MySQL
* [HHH-14682] - H2 supports COMMENT ON
* [HHH-13361] - Allow audited entities that use composite identifiers to support nested embeddables.
* [HHH-11836] - Create an @EndOfLife corollary to @Incubating
* [HHH-11696] - Remove (deprecated) Settings in favor of SessionFactoryOptions
** New Feature
* [HHH-14855] - Support passing a String representation of EntityGraph we can parse through the graph-language parser
* [HHH-11595] - Add complementing annotation for @CollectionTable for customizing audit table name
* [HHH-11433] - Allow usage of KEY expression in a join
** Remove Feature
* [HHH-14866] - Drop `@ParamDef#type`
* [HHH-11447] - Remove org.hibernate.query.procedure.ProcedureParameter#enablePassingNulls and #isPassNullsEnabled
** Sub-task
* [HHH-14497] - Drop legacy id-generator settings
** Task
* [HHH-15040] - Upgrade to Hibernate Commons Annotations 6.0.0.CR1
* [HHH-15033] - Restrict JNDI lookups to "java" scheme
* [HHH-15031] - Upgrade to ByteBuddy 1.12.7
* [HHH-15029] - Remove deprecated JndiHelper
* [HHH-15028] - Upgrade to JBoss Logging 3.4.3.Final
* [HHH-15026] - Upgrade to Log4J 2.17.1
* [HHH-15024] - Upgrade to Jandex 2.4.2.Final
* [HHH-15018] - OracleTypesHelper shouldn't log stacktraces when the Oracle JDBC driver isn't loadable
* [HHH-15000] - Upgrade to Hibernate Commons Annotations 6.0.0.Beta1
* [HHH-14999] - Upgrade to Hibernate Validator 6.2.1.Final (EE) and 7.0.2.Final (Jakarta)
* [HHH-14998] - Upgrade to GraalVM 21.3.0
* [HHH-14997] - Upgrade to Agroal 1.14
* [HHH-14996] - Upgrade to JBoss Logging Processor (and matching Annotations) 2.2.1.Final
* [HHH-14995] - Upgrade to Jandex 2.4.1.Final
* [HHH-14905] - Verify that custom JavaType and JdbcType registration combo works
* [HHH-14886] - Add ability to influence CollectionSemantics
* [HHH-14885] - New composite user-type
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