Hibernate 6 Changelog ======================= Note: Please refer to JIRA to learn more about each issue. Changes in 6.2.1.Final (April 14, 2023) ------------------------------------------------------------------------------------------------------------------------ https://hibernate.atlassian.net/projects/HHH/versions/32147 ** Bug * [HHH-16459] - Bytecode-enhanced inline dirty tracking ignores generic associations from mapped superclasses * [HHH-16429] - WF SessionFactoryTestCase test fails * [HHH-16413] - Subquery with multiple left joins broken in 6.2.0 * [HHH-16394] - Statement Batch + Version + Dirty Collection leads to OptimisticLockException: Batch update returned unexpected row count from update * [HHH-16387] - Entity in key not returned when querying * [HHH-16352] - DynamicUpdate / DynamicInsert with batching leads to parameter binding exception * [HHH-16349] - ORA-00979 not a group by expression when using a polymorphic entity in HQL group by * [HHH-16340] - Duplicate column exception when mapping discriminator column inside an EmbeddedId ** Improvement * [HHH-16414] - Improve table group resolution for subqueries using the same alias as parent ** Task * [HHH-16389] - Introduce annotations for nullness marking/checking Changes in 6.2.0.Final (March 31, 2023) ------------------------------------------------------------------------------------------------------------------------ https://hibernate.atlassian.net/projects/HHH/versions/32144 ** Bug * [HHH-16404] - SkipFirstLimitHandler calls insertAfterSelect with parameter in wrong order * [HHH-16402] - Fix default window frame mode to be RANGE instead of ROWS * [HHH-16396] - HQL with SubQuery having same alias of root Query generates wrong SQL * [HHH-16391] - Incorrect mutability-plan resolution for converted collection-as-basic mappings * [HHH-16390] - Execution of non-batched statements do not force execution of current batch * [HHH-16378] - SQM fails to resolve target type of association defined in mappersuperclass with generics * [HHH-16372] - NPE in EmbeddedIdentifierMappingImpl#disassemble * [HHH-16368] - UnsupportedOperationException: compare() not implemented for EntityType * [HHH-16359] - SingularAttribute with non-nullable column is wrongly reported as optional * [HHH-16358] - OneToMany with abstract TABLE_PER_CLASS element not working * [HHH-16355] - Map association with entity typed key breaks if mappedBy is specified * [HHH-16350] - PreLoadEvent listeners always receive PreLoadEvent with null state * [HHH-16337] - EntityCollection is not deleted when replaced * [HHH-16336] - Modify the newly introduced mappedBy type check to be more lenient * [HHH-16334] - Persisting and loading an entity with a null all-delete-orphan collection results in error * [HHH-16333] - Handle converters properly in BasicPluralType * [HHH-16305] - Error when using parameter as both a select function argument and in where clause * [HHH-16295] - JDBCUpdateMutation with MutationType.INSERT instead of MutationType.UPDATE * [HHH-16281] - Inconsistent Behaivor of L2 cache between Hibernate 5 and 6 * [HHH-16274] - Incorrect foreign key column order for @OneToMany with multiple join columns and @IdClass * [HHH-16272] - Hibernate 6 fails to refresh when collections are accessed in entity setter method when access type is property * [HHH-16255] - Logging "Executing import script" when it's not being executed * [HHH-16249] - StatelessSession does not flush when using jdbc batch_size > 1 * [HHH-16248] - Problem with batching and inheritance with @ManyToOne mapped in multiple subclasses * [HHH-16241] - Unable to write/query attribute on type with AttributeConverter * [HHH-16218] - Natural id cache is extremely slow for entities with compound natural id ** Deprecation * [HHH-16407] - EntityPersister and CollectionPersister deprecations ** Improvement * [HHH-16380] - Avoid map-based mapping metamodel access when instantiating entity instances * [HHH-16348] - Re-add JdbcOperationQuery#getAppliedParameters for query extensions * [HHH-16339] - Unify entity and any discriminator handling * [HHH-16317] - InstantAsTimestampWithTimeZoneJdbcType doesn't work for timestamp on PG-JDBC and MSSQL * [HHH-16287] - Consider hibernate.timezone.default_storage for OffsetTime typing and storage ** New Feature * [HHH-16353] - Make it possible for Hibernate Reactive to override the creation of AttributeMapping and Fetch strategies * [HHH-16097] - Move all tests from documentation into hibernate-core ** Task * [HHH-16400] - Avoid reflection for calls to StackWalker * [HHH-16388] - Configuration setting for wrapper Byte[]/Character[] treatment * [HHH-16386] - Disable batching for dynamic-insert and dynamic-update Changes in 6.2.0 (March 31, 2023) ------------------------------------------------------------------------------------------------------------------------ https://hibernate.atlassian.net/projects/HHH/versions/32144 ** Bug * [HHH-16404] - SkipFirstLimitHandler calls insertAfterSelect with parameter in wrong order * [HHH-16402] - Fix default window frame mode to be RANGE instead of ROWS * [HHH-16396] - HQL with SubQuery having same alias of root Query generates wrong SQL * [HHH-16391] - Incorrect mutability-plan resolution for converted collection-as-basic mappings * [HHH-16390] - Execution of non-batched statements do not force execution of current batch * [HHH-16378] - SQM fails to resolve target type of association defined in mappersuperclass with generics * [HHH-16372] - NPE in EmbeddedIdentifierMappingImpl#disassemble * [HHH-16368] - UnsupportedOperationException: compare() not implemented for EntityType * [HHH-16359] - SingularAttribute with non-nullable column is wrongly reported as optional * [HHH-16358] - OneToMany with abstract TABLE_PER_CLASS element not working * [HHH-16355] - Map association with entity typed key breaks if mappedBy is specified * [HHH-16350] - PreLoadEvent listeners always receive PreLoadEvent with null state * [HHH-16337] - EntityCollection is not deleted when replaced * [HHH-16336] - Modify the newly introduced mappedBy type check to be more lenient * [HHH-16334] - Persisting and loading an entity with a null all-delete-orphan collection results in error * [HHH-16333] - Handle converters properly in BasicPluralType * [HHH-16305] - Error when using parameter as both a select function argument and in where clause * [HHH-16295] - JDBCUpdateMutation with MutationType.INSERT instead of MutationType.UPDATE * [HHH-16281] - Inconsistent Behaivor of L2 cache between Hibernate 5 and 6 * [HHH-16274] - Incorrect foreign key column order for @OneToMany with multiple join columns and @IdClass * [HHH-16272] - Hibernate 6 fails to refresh when collections are accessed in entity setter method when access type is property * [HHH-16255] - Logging "Executing import script" when it's not being executed * [HHH-16249] - StatelessSession does not flush when using jdbc batch_size > 1 * [HHH-16248] - Problem with batching and inheritance with @ManyToOne mapped in multiple subclasses * [HHH-16241] - Unable to write/query attribute on type with AttributeConverter * [HHH-16218] - Natural id cache is extremely slow for entities with compound natural id ** Deprecation * [HHH-16407] - EntityPersister and CollectionPersister deprecations ** Improvement * [HHH-16380] - Avoid map-based mapping metamodel access when instantiating entity instances * [HHH-16348] - Re-add JdbcOperationQuery#getAppliedParameters for query extensions * [HHH-16339] - Unify entity and any discriminator handling * [HHH-16317] - InstantAsTimestampWithTimeZoneJdbcType doesn't work for timestamp on PG-JDBC and MSSQL * [HHH-16287] - Consider hibernate.timezone.default_storage for OffsetTime typing and storage ** New Feature * [HHH-16353] - Make it possible for Hibernate Reactive to override the creation of AttributeMapping and Fetch strategies * [HHH-16097] - Move all tests from documentation into hibernate-core ** Task * [HHH-16400] - Avoid reflection for calls to StackWalker * [HHH-16388] - Configuration setting for wrapper Byte[]/Character[] treatment * [HHH-16386] - Disable batching for dynamic-insert and dynamic-update Changes in 6.2.0.CR4 (March 17, 2023) ------------------------------------------------------------------------------------------------------------------------ https://hibernate.atlassian.net/projects/HHH/versions/32142 ** Bug * [HHH-16322] - Merge of entities having a collection with orphanRemoval true fails when bytecode enhancement is enabled * [HHH-16310] - Fix regressions in documentation and support for MultiTenantConnectionProvider * [HHH-16297] - Removing an element from a collection of elements removes the whole collection * [HHH-16280] - Fix Jackson XML mapper support for Oracle Array data types * [HHH-16279] - Hibernate ORM with hibernate.hbm2ddl.import_files_sql_extractor = multi-line fails to process import.sql containing only comments * [HHH-16263] - Unable to Join Tables with Superclasses - JoinColumn Occours Out of Order * [HHH-16258] - NPE with SubselectFetch and inheritance * [HHH-16252] - SQL syntax error on drop constraint * [HHH-16247] - Criteria Query with Object-Typed Embedded Parameter throws AssertionError * [HHH-16240] - ClassCastException when inserting an Entity with @CreationTimestamp in a StatelessSession * [HHH-16238] - Add support for multiple generic embeddable properties in MappedSuperclass * [HHH-16237] - versionUpdateGroup is null for Enity extending another Entity when only ElementCollection is updated. * [HHH-16234] - NPE when enabling DEBUG on orm.results.loading in Hibernate 6.1.7 * [HHH-16215] - Composite primary key @IdClass attribute mapping is borrowed from the first OneToMany backref and cannot be set * [HHH-16213] - Right join wrongly added to subquery when using FetchMode.SUBSELECT and is null predicate * [HHH-16211] - Error with like predicate's escape literal and converted char array property * [HHH-16210] - Join fetching nested @OneToMany collections causes result multiplication * [HHH-16191] - Since Hibernate ORM 6.x the FetchType.EAGER called from native queries raises error * [HHH-16189] - Hibernate 6, wrong order by and group by generated * [HHH-16188] - Exception when find by field of generic @EmbeddedId with @MappedSuperclass * [HHH-16180] - AssertionError when using using native query on table with InheritanceStrategy.JOINED * [HHH-16179] - Session.find should not apply filters * [HHH-16166] - ClassCastException, mixing mapping types for same field name on different entities * [HHH-16126] - TransientObjectException when loading versioned entity from second-level cache * [HHH-16019] - @Where not consistently applied across association boundaries * [HHH-16015] - Merge operation throws a NPE: Cannot invoke org.hibernate.property.access.spi.Setter.set(Object, Object) when using CompositeUserType * [HHH-15972] - entitygraph load error when Inheritance JOINED is used in 6.1.6 * [HHH-15885] - Hibernate 6 OrderBy in the wrong orders * [HHH-15802] - SubQuery with "in" results in java.lang.ClassCastException: class org.hibernate.metamodel.mapping.internal.BasicEntityIdentifierMappingImpl cannot be cast to class org.hibernate.metamodel.mapping.EntityValuedModelPart * [HHH-15766] - UNION query doesn't preserve the original parenthesis, and so it fails on PostgreSQL * [HHH-15664] - Documentation states that native database array types are unsupported * [HHH-15108] - AggregateClassLoader.findClass() drops all exceptions * [HHH-13627] - Updated items do not get invalidated when cachemode is set to CacheMode.GET ** Deprecation * [HHH-16264] - Deprecate `hibernate.use_entity_where_clause_for_collections` ** Improvement * [HHH-16323] - Ensure new service ParameterMarkerStrategy can be looked up efficiently * [HHH-16320] - Support H2's native json DDL type using custom 'format json' write expressions * [HHH-16313] - Throw an appropriate error when a mappedBy property references the wrong entity type * [HHH-16311] - Migrate away from UserType for enum handling * [HHH-16307] - Finish Gradle plugin DSL * [HHH-16290] - Mark `o.h.persister.entity` and `o.h.persister.collection` as internal * [HHH-16284] - Rename JdbcParameterRender to ParameterMarkerStrategy * [HHH-16276] - More readable exception for non-compliant @OrderBy expressions * [HHH-16273] - Support for Dialect native ParameterMarkerStrategy * [HHH-16265] - Remove `@Where#applyInToManyFetch` * [HHH-16257] - Add `@JavaServiceLoadable` to document Services or strategies that are loadable as Java services * [HHH-16256] - JdbcParameterRenderer to have an impact on write operations * [HHH-16198] - Fix splitting of SqlAstCreationState ** New Feature * [HHH-16282] - Make it possible for Hibernate Reactive to plug in some custom initializers * [HHH-16260] - JdbcParameterRenderer not called with dynamic filters ** Task * [HHH-16330] - Various micro upgrades of Jakarta EE10 APIs and references used by integration tests Changes in 6.2.0.CR3 (March 01, 2023) ------------------------------------------------------------------------------------------------------------------------ https://hibernate.atlassian.net/projects/HHH/versions/32132 ** Bug * [HHH-16233] - Bad error for mutable non-root entity * [HHH-16230] - Wrong data in self-reference using L2C and BatchSize * [HHH-16217] - Documentation for chapter 34 is being misrendered * [HHH-16209] - Identically-named association in entity root and embeddable leads to mixup during association loading * [HHH-16202] - @OrderBy not applied to collections when @Fetch(value = FetchMode.SUBSELECT) * [HHH-16199] - org.hibernate.AssertionFailure: force initializing collection loading * [HHH-16197] - Circular references of the same entity result in different Java objects when caching is enabled and using a query * [HHH-16195] - Hibernate 6 fails to bind appropriate type for mapped superclass with generic attribute * [HHH-16193] - LazyInitializationException when accessing loaded reference after session is closed using bytecode enhancement * [HHH-16184] - Two queries are execute to initialize empty collections * [HHH-16182] - Converted boolean mappings not always working in predicates * [HHH-16177] - Catalog/schema creation/dropping sometimes ignores default catalog/schema * [HHH-16175] - AssertionError in StandardEntityGraphTraversalStateImpl.traverse when using entity graph * [HHH-16169] - NullPointerException when merging detached collections due to LOG.debugf * [HHH-16165] - Incorrect SQL generated when using SELECT DISTINCT and @OrderBy * [HHH-16157] - Query with join fetch on collection of entities with @DiscriminatorValue causes duplicate condition * [HHH-16155] - Problem with @Generated and jdbc.batch_size * [HHH-16151] - NPE SqmTreePrinter.visitLikePredicate getEscapeCharacter is null * [HHH-16150] - Hibernate ORM no longer drops the schema when using the create-drop strategy and a session factory observer throws an exception on startup * [HHH-16137] - Same named parameter appearing in SELECT and WHERE clauses throws JDBC parameter value not bound error * [HHH-16136] - LAZY @ManyToOne may break EAGER @ManyToOne when used on the same entity in a different parent with Bytecode Enhancement * [HHH-16131] - Date calculation errors in Oracle and TiDB * [HHH-16123] - Invalid generated SQL query when accessing join from a treated abstract superclass path * [HHH-16122] - Named type [class xxx] did not implement BasicType nor UserType * [HHH-16119] - Named native queries do not work with jakarta.persistence.Tuple result class * [HHH-16113] - Add version checks for MERGE support to dialects * [HHH-16112] - Using hibernate.jdbc.batch_size configuration causes BatchedTooManyRowsAffectedException for OneToMany relationship with orphan removal * [HHH-16109] - createNamedQuery adds offset and limit to all queries * [HHH-16081] - Converted collection-as-basic values are considered immutable * [HHH-16080] - UnknownTableReferenceException with JPQL query of Entity with unidirectional OneToOne mapping * [HHH-16053] - join fetch in @Query has no effect for for nested entities with @DiscriminatorValue (SINGLE_TABLE inheritance) * [HHH-16009] - jakarta @OrderBy annotation generates a non-transformed column name in the SQL query for a composite key's field * [HHH-15990] - Unable to determine TableReference when associate ManyToOne fetch lazy and NotFound IGNORE: issue using Projection * [HHH-15964] - Incorrect results for pageable EntityGraph with Hibernate 6.1.6 * [HHH-15895] - IllegalArgumentException :Cannot create binding for parameter referencen with criteria builder * [HHH-15875] - Join fetch doesn't work with @EmbeddedId associations in Hibernate 6 * [HHH-14514] - Auto evict collection cache not work when use transactional cache concurrency strategy ** Improvement * [HHH-16243] - Change scope of AbstractEntityPersister#generateNonIdAttributeMapping * [HHH-16242] - Change scopes of methods in AbstractEntityInitializer class * [HHH-16229] - Consider pluggability for rendering "JDBC" parameters * [HHH-16227] - Introduce SqmMultiTableMutationStrategyProvider * [HHH-16226] - Introduce JdbcValuesMappingProducerProvider * [HHH-16214] - Improve memory and access efficiency in SqmFunctionRegistry * [HHH-16185] - Standardize the date_trunc() function, emulating it for Dialects that don't support native versions * [HHH-16183] - Change scopes of private methods in InsertCoordinator * [HHH-16174] - allow 'extract(epoch from ...)' in HQL * [HHH-16172] - Expose internal state of 2nd-level cache keys * [HHH-16170] - Support literal enum simple names in HQL 'set' clause. * [HHH-16133] - Allow @TenantId annotation on @Embedded * [HHH-15870] - allow SchemaMigrator to update column types Changes in 6.2.0.CR2 (January 27, 2023) ------------------------------------------------------------------------------------------------------------------------ https://hibernate.atlassian.net/projects/HHH/versions/32128 ** Bug * [HHH-16108] - NullPointerException when flushing a (simple) entity update for models with bytecode enhancement and multiple one-to-one associations (some lazy) * [HHH-16106] - Using BatchEntitySelectFetchInitializer causes PostLoad to be called before references are initialized * [HHH-16099] - Log about immutable properties only if dirty on update * [HHH-16096] - Passing an ExtendedBeanManager which is notified too late leads to initialization error * [HHH-16077] - Added named native queries cannot specify result-class * [HHH-16070] - Exception when find by association id that is a generic @EmbeddedId with @MappedSuperclass * [HHH-16069] - Skip CDI for Hibernate extensions by default * [HHH-16062] - jakarta.persistence.query.timeout not working on Hibernate 6.1.6 for Criteria Queries * [HHH-16061] - SqmDynamicInstantiation warns about dynamic Map instantiation when using an entity * [HHH-16049] - Setting a property to its current value with bytecode enhancement enabled results in unnecessary SQL Update in some (many) cases * [HHH-16045] - ambiguity in grammar of HQL datetime literals * [HHH-16043] - Hibernate 6.x breaks collection batch fetching * [HHH-16039] - Stream fails to fetch object during processing where BatchEntitySelectFetchInitializer gets used * [HHH-16036] - Fix Oracle CI parameter STATISTICS_LEVEL * [HHH-16035] - Duration literals and 'by' are almost completely broken * [HHH-16033] - Many-to-Many inverse mapping referencing the same class uses pk instead of fk field for removal * [HHH-16031] - @ManyToMany with @JoinTable(inverseColumn = ...) and SortedSet may results in data loss * [HHH-16025] - Using BatchEntitySelectFetchInitializer with caching leads to caching wrong values * [HHH-16023] - ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1 for NamedNativeQuery with generics * [HHH-16020] - Hibernate doesn't set the correct bind parameter for the offset when using NativeQuery.setFirstResult() on Postgresql * [HHH-16014] - Querying property from treated path causes IllegalArgumentException: Already registered a copy * [HHH-16010] - DefaultEvictEventListener calls handleEviction with swapped parameters * [HHH-16007] - PropertyAccessException when deleting entities with Embeddables with child collections * [HHH-16005] - @BatchSize with @ManyToMany does not work as expected when migrating 5 -> 6 * [HHH-16004] - Downcasting with CriteriaBuilder.treat causes ClassCastException * [HHH-15986] - Eager Bidirectional association, initializing an HibernateProxy should associate to the circular association the HibernateProxy itself * [HHH-15982] - Bidirectional one-to-one associations produce child entities with null parent entity references * [HHH-15967] - @OneToOne(mappedBy = ..., fetch = LAZY) in embedded referencing an association within another embedded * [HHH-15966] - ElementCollection with nested Embeddables fails with ArrayIndexOutOfBoundsException * [HHH-15950] - AssertionError with bidirectional OneToOne relation using AttributeConverter for the FK * [HHH-15934] - @Basic(optional=false) has no effect * [HHH-15933] - broken SQL generated for @ManyToOne with @JoinColumn which references a column of a @SecondaryTable * [HHH-15928] - Distinct with maxResults fails under SQLServer * [HHH-15921] - @BatchSize and @IdClass on join column throws exception * [HHH-15902] - @OneToMany relationship with @Where on child table generates wrong sql * [HHH-15890] - springboot 3.0.0 + hibernate 6.1.5.Final + IBM DB2 error after migrating from springboot 2.7.0 + hibernate 5.6.9.Final * [HHH-15888] - review exception reporting in Column.getSqlType()/getSqlTypeName() * [HHH-15866] - Hibernate validation fails when OneToMany refers to fereign key in embeddable object and is marked as nullable false * [HHH-15865] - OneToMany foreign key relation throws when id is inside nested embeddables * [HHH-15864] - OrphanRemoval does not work with embeddables when deleting entity * [HHH-15854] - Improve CollectionInitializer and EntityDelayedFetchInitializer resolveInstance methods performance when the parent entity is initialized * [HHH-15851] - Mixup of entities in refresh with BatchSize * [HHH-15839] - CriteriaBuilder treat method on Path causes ClassCastException * [HHH-15822] - Unexpected org.hibernate.UnknownEntityTypeException: Unable to locate persister * [HHH-15794] - NullPointerException when constructing mapping model for nested embeddables with not optional ManyToOne * [HHH-15617] - Fix Documentation for direct fetching with Filter * [HHH-15604] - Identically-named association in entity root and elementcollection of embeddables leads to assertion error * [HHH-15372] - Static metamodel generator references version 2.1 * [HHH-14526] - Problem with InheritanceType.JOINED without own subtable * [HHH-14338] - HSQLDialect relies on "MODULE"-Prefix for local temporary table creation but MODULE-Prefix has been dropped in HSQLDB Version 2.5.1 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 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() 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