Hibernate 6 Changelog ======================= Note: Please refer to JIRA to learn more about each issue. Changes in 7.0.0.Beta2 (November 13, 2024) ------------------------------------------------------------------------------------------------------------------------ https://hibernate.atlassian.net/projects/HHH/versions/32358 ** Bug * [HHH-18816] - Error when rendering the fk-side of an association in an exists subquery * [HHH-18808] - HqlParser.g4 outputs wrong token for `nakedIdentifier` and `identifier` when keyword is used * [HHH-18807] - a bug in HqlLexer.g4 * [HHH-18806] - handling of nationalized strings on Sybase / jTDS * [HHH-18773] - Multiple selections of same alias triggers possible non-threadsafe access to the session * [HHH-18770] - NPE when using the JFR integration with JFR disabled * [HHH-18764] - Class cast exception when using non basic type as identifier and in an embedded field using a natural ID * [HHH-18761] - named query method generation for @NamedQuery on entity * [HHH-18739] - Do not support join queries when using Mysql * [HHH-18738] - Schema of database sequence is not configured if xml mapping is used * [HHH-18730] - Multi-column association in aggregate component doesn't work * [HHH-18720] - Type check on select columns in union all gives SemanticException when there is a null column * [HHH-18719] - Previous row state reuse can provide detached entities to the consumer * [HHH-18712] - Warning about attempts to update an immutable entity for normal (not immutable) entity * [HHH-18703] - JoinedSubclassEntityPersister#getTableNameForColumn KO * [HHH-18702] - Exception using @EmbeddedId with @OneToMany that refers to an alternate key column * [HHH-18699] - Correctly handle @Id and @Version fields in query validation in Hibernate Processor * [HHH-18697] - JPA 3.2 spec compliance for uppercasing of names in Hibernate Processor * [HHH-18696] - @Find method for single @NaturalId field * [HHH-18692] - Hibernate attempts to close batched statements multiple times * [HHH-18689] - 'FULL' query cache sometimes incomplete * [HHH-18681] - InterpretationException executing subquery in case-when : o.h.query.sqm.tree.select.SqmSelection.getExpressible() is null * [HHH-18675] - Self-referencing many-to-many relation on generic entity gives NullPointerException in mapping * [HHH-18671] - Fix setting name (spelling) * [HHH-18669] - NullPointerException in the AgroalConnectionProvider * [HHH-18667] - Annotation processor leaks - OOME when used in Eclipse IDE * [HHH-18662] - Attribute not mentioned in orm.xml ends up not being mapped in Hibernate ORM 7 * [HHH-18658] - Inner join prevents finding an entity instance referencing an empty map * [HHH-18647] - SemanticException when using createCriteriaInsertValues to insert into foreign key column * [HHH-18645] - AssertionError in AbstractBatchEntitySelectFetchInitializer#registerToBatchFetchQueue * [HHH-18642] - DB2: select from new table with identity column not working when missing read permission * [HHH-18635] - Avoid using `bigdatetime` column type on Sybase jconn when not necessary * [HHH-18632] - Concurrency issue with AbstractEntityPersister#nonLazyPropertyLoadPlansByName * [HHH-18631] - AssertionError when loading an entity after removing another, associated entity * [HHH-18628] - Regression: Unable to determine TableReference * [HHH-18626] - @Id annotation in @Embeddable class results in AssertionFailure * [HHH-18617] - Fetching unowned side of bidirectional OneToOne mappings including tenant identifier triggers EntityFilteredException * [HHH-18608] - NPE in EntityInitializerImpl.resolveInstanceSubInitializers * [HHH-18596] - ValueHandlingMode hack in query pagination * [HHH-18585] - exposure of internal types via Dialect * [HHH-18582] - Mapping array of arrays with @JdbcTypeCode(SqlTypes.ARRAY) causes NPE * [HHH-18581] - Performance degradation from Hibernate 5 to 6 on NativeQuery * [HHH-18575] - IN predicate with numeric/decimal parameter types leads to Binding is multi-valued; illegal call to #getBindValue * [HHH-18571] - Entities and collections with batch size 1 are treated as batchable * [HHH-18570] - Invalid SQL when filter contains identifier named date * [HHH-18565] - Bytecode enhancement, assertion error on reloading *toOne entities * [HHH-18564] - Literal expressions using AttributeConverters stopped working in hibernate 6 * [HHH-18561] - Informix primary key constraint syntax error * [HHH-18560] - DB2iDialect executes incompatible query in combination with @AuditJoinTable mapping * [HHH-18558] - Informix UUID type support Changes in 7.0.0.Beta1 (August 01, 2024) ------------------------------------------------------------------------------------------------------------------------ https://hibernate.atlassian.net/projects/HHH/versions/32319 ** Bug * [HHH-18314] - dialect for Db2 claims to be NationalizationSupport.EXPLICIT but never generates DDL with NCHAR/NVARCHAR ** Improvement * [HHH-18453] - Fix Java code block highlighting in User Guide * [HHH-18448] - Add cast and notEqualTo methods to JpaExpression and SqmExpression * [HHH-18441] - Create extension to PersistenceConfiguration * [HHH-18440] - Rewrite the Bootstrapping chapter in the User Guide * [HHH-18412] - Upgrade JBoss Logging Tools (processor) to 3.0.1.Final * [HHH-18393] - Upgrade JBoss Logging Tools (processor) to 3.0.0.Final * [HHH-18316] - use utf8mb4 instead of utf8 a.k.a utf8mb3 on MySQL * [HHH-18097] - Replace `java.io.Closeable` with `java.lang.AutoCloseable` * [HHH-18009] - Consolidate JdbcObserver and ConnectionObserver into JdbcEventHandler * [HHH-17720] - Add common JAXB contracts for named queries ** New Feature * [HHH-18304] - Transform hbm.xml key-many-to-one references * [HHH-18281] - Transform and * [HHH-18266] - HbmXmlTransformer hbm inverse * [HHH-18265] - HbmXmlTransformer transform hbm * [HHH-18264] - HbmXmlTransformer collection classification * [HHH-18060] - HbmXmlTransformer work * [HHH-17979] - Add @PropertyRef ** Remove Feature * [HHH-18452] - Remove deprecated org.hibernate.Interceptor methods * [HHH-18449] - Remove deprecated Integrator#integrate form * [HHH-18444] - Remove deprecate Session#refresh methods * [HHH-18443] - Drop SessionFactoryBuilder#enableJpaListCompliance * [HHH-18442] - Drop DynamicInsert#value and DynamicUpdate#value * [HHH-18437] - Remove deprecations from JdbcSessionContext * [HHH-18428] - Remove Session#delete * [HHH-18199] - Remove @Where and @WhereJoinTable * [HHH-18196] - Remove Session#save / Session#update / Session#saveOrUpdate * [HHH-18195] - Remove @SelectBeforeUpdate * [HHH-18194] - Remove @Proxy * [HHH-18193] - Remove @Polymorphism * [HHH-18191] - Remove @LazyToOne * [HHH-18190] - Remove @LazyCollection * [HHH-18189] - Remove @IndexColumn * [HHH-18188] - Remove GenerationTime and its uses * [HHH-18186] - Remove @GeneratorType * [HHH-18184] - Remove CacheModeType and its uses * [HHH-17697] - Remove deprecated annotations ** Sub-task * [HHH-18197] - Remove @Table * [HHH-18192] - Remove @Loader * [HHH-18187] - Remove @Index * [HHH-18185] - Remove @ForeignKey * [HHH-18075] - Transform property-ref * [HHH-17888] - Remove support for MariaDB versions older than 10.5 ** Task * [HHH-18397] - Transform "foreign" generators * [HHH-18396] - Transform property-ref pointing to a to-one attribute * [HHH-18394] - Fix transformation of nested subclass mappings * [HHH-18037] - Move DerbyDialect to hibernate-community-dialects * [HHH-18010] - Investigate ConnectionObserver and friends * [HHH-17583] - Cleanup for 7.0 * [HHH-17448] - Add newly standard column annotation attributes to Hibernate column annotations Changes in 7.0.0.Alpha3 (June 14, 2024) ------------------------------------------------------------------------------------------------------------------------ https://hibernate.atlassian.net/projects/HHH/versions/32304 ** Bug * [HHH-18135] - GenerationTypeStrategy implementations always throw UnsupportedOperationException * [HHH-18081] - XML element is not added to JdkClassDetails * [HHH-11937] - Remove warnings about "empty composites" being experimental when feature is stabilized * [HHH-11936] - Stabilize "empty composites" feature ** New Feature * [HHH-18231] - SPI for persistence XML parsing * [HHH-18057] - Support for JPA 3.2 column options * [HHH-18056] - Support for JPA 32 table options * [HHH-18055] - Support for JPA 3.2 table comment * [HHH-18054] - Support for JPA 3.2 @CheckConstraint * [HHH-16153] - Support JPA 3.2 `@EnumeratedValue` ** Remove Feature * [HHH-18222] - remove hibernate.create_empty_composites.enabled in Hibernate 7 * [HHH-18207] - remove deprecated Dialects * [HHH-18139] - remove IdentifierGeneratorFactory and related code ** Sub-task * [HHH-18095] - Transform hbm.xml column read/write fragments * [HHH-18072] - Transform hbm.xml not-found ** Task * [HHH-18127] - Leverage hibernate-models Annotation-as-Class * [HHH-18096] - Support for JPA 3.2 database generator options Changes in 7.0.0.Alpha2 (May 03, 2024) ------------------------------------------------------------------------------------------------------------------------ https://hibernate.atlassian.net/projects/HHH/versions/32280 ** Bug * [HHH-18053] - duration arithmetic with fractional seconds * [HHH-18049] - Handle and * [HHH-18042] - ConstructorResults defined in XML are not applied * [HHH-18041] - With SharedCacheMode.DISABLE_SELECTIVE entities with cacheable false should not be cached * [HHH-18039] - EntityListeners defined in XML should replace those from annotations, not add to * [HHH-18038] - Fall back to persistence-unit name as SessionFactory name * [HHH-18036] - Retrieving java.sql.Date from Oracle contains unwanted milliseconds * [HHH-18028] - TCK test failure with attribute converter and Embeddable * [HHH-18018] - Derby implementation for 'right' function wrongly passes parameter to 'length' ** Improvement * [HHH-18048] - Split notions of SessionFactory name and SessionFactory JNDI name * [HHH-18005] - Remove AnnotationDescriptor#createUsage method calls that rely on lambdas for configuration * [HHH-18003] - Create a PersistenceUnitDescriptor wrapper around JPA 3.2 PersistenceConfiguration * [HHH-18000] - Remove XmlProcessingHelper methods for creating AnnotationUsage instances ** New Feature * [HHH-18025] - RefreshOptions & LockOptions for Hibernate 7 * [HHH-18001] - FindOptions for Hibernate 7 ** Task * [HHH-18043] - Change SQL Server default timestamp precision to 7 * [HHH-18035] - Change Oracle default timestamp precision to 9 * [HHH-17982] - Setup JPA 3.2 TCK testing automation for ORM 7 Changes in 7.0.0.Alpha1 (April 16, 2024) ------------------------------------------------------------------------------------------------------------------------ https://hibernate.atlassian.net/projects/HHH/versions/32214 ** Deprecation * [HHH-17441] - Deprecate @Comment ** New Feature * [HHH-17460] - Ongoing JPA 3.2 work * [HHH-17459] - Allow resolution callbacks on select o.h.mapping objects ** Remove Feature * [HHH-17961] - Drop support for hibernate.mapping.precedence * [HHH-17894] - Remove AdditionalJaxbMappingProducer * [HHH-17893] - Remove MetadataContributor * [HHH-17892] - Remove @Persister ** Task * [HHH-17444] - Ongoing JPA 32 work