diff --git a/changelog.txt b/changelog.txt index 15d72ff206..f5dd99e280 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,79 +1,8 @@ -Hibernate 5 Changelog +Hibernate 6 Changelog ======================= Note: Please refer to JIRA to learn more about each issue. -hanges in 5.4.12.Final (February 13, 2020) ------------------------------------------------------------------------------------------------------------------------- - -https://hibernate.atlassian.net/projects/HHH/versions/31827/tab/release-report-done - -** Bug - * [HHH-13858] - Fix Oracle failing tests - * [HHH-13859] - NPE on scanning for entities in a project having module-info.class resources - -** New Feature - * [HHH-13861] - Expose the doWork() and doReturningWork() APIs on StatelessSession as well - * [HHH-13863] - Introduce a module to distribute some helpers useful to compile Hibernate ORM to GraalVM native images - -** Improvement - * [HHH-13864] - Cosmetic change of format when reporting version number - - -Changes in 5.4.11.Final (February 07, 2020) ------------------------------------------------------------------------------------------------------------------------- - -https://hibernate.atlassian.net/projects/HHH/versions/31818/tab/release-report-done - -** Bug - * [HHH-6615] - int type in Revision number - * [HHH-6686] - JPQL operator "is empty" failes for @ElementCollection - * [HHH-10844] - Resolve columnDefinition to appropriate sql-type for audit mappings - * [HHH-13373] - Hibernate report query hibernate_sequence table error in spring-boot application starting on a multi-database mariadb server - * [HHH-13456] - ForeignGenerator Throws ClassCastException When Using StatelessSession - * [HHH-13472] - Error creating hibernate_sequence in MariaDB 10.3 - * [HHH-13644] - NullPointerException when calling StoredProcedureQuery.getResultStream() instead of StoredProcedureQuery.getResultList() - * [HHH-13677] - org.hibernate.flushMode property not applied - * [HHH-13704] - Make sure javassist is really an optional dependency - * [HHH-13752] - Delete doesn't work when many-to-many uses non-primary key for join table - * [HHH-13759] - Bytecode enhancement fails for an embedded field in a MappedSuperclass - * [HHH-13760] - Envers tries to use relationship's entity as value for column instead of numeric identifier (cast class exception happens) for LAZY @ManyToOne - * [HHH-13770] - Envers - modified flag column value set to null from 5.4.7 onwards - * [HHH-13780] - Allow NamedQuery to set hint QueryHints.PASS_DISTINCT_THROUGH - * [HHH-13783] - org.hibernate.MappingException: The increment size of the sequence is set to [10] in the entity mapping while … size is [1] - * [HHH-13792] - L2 entity cache is evicted prior to committing transaction for HQL/native updates - * [HHH-13796] - Missing from clause in query from BinaryLogicOperatorNode row value constructor translation - * [HHH-13804] - HibernateProxy might need to be instantiated even with build-time enhancement - * [HHH-13806] - CoreMessageLogger#unableToLoadCommand is not printing the cause of the error - * [HHH-13808] - Incorrect String format in log - * [HHH-13831] - Replaced listener is not called when EventListenerGroup#fireEventOnEachListener is called - -** Task - * [HHH-13726] - Extract org.hibernate.internal.SessionFactoryImpl#prepareEventListeners from SessionFactoryImpl - * [HHH-13767] - Remove mention of Oracle and DB2 not being in MC - * [HHH-13821] - Update to Byte Buddy 1.10.7 - * [HHH-13822] - OSGi integration tests need to be able to download dependencies from Maven Central using HTTPS - * [HHH-13823] - Various visibility changes to help prototyping of Hibernate RX - * [HHH-13833] - Byte Buddy enhancer should use ASM7 opcodes to improve compatibility with code compiled for Java 11 - * [HHH-13837] - Initialize the Hibernate VERSION as a real constant - * [HHH-13838] - Allow extension of PersistenceXmlParser - * [HHH-13849] - Convert ProxyFactoryFactory and BytecodeProvider into a Service - -** Improvement - * [HHH-8776] - Ability for JPA entity-graphs to handle non-lazy attributes as lazy - * [HHH-11958] - Apply QueryHints.HINT_READONLY to load operations - * [HHH-12856] - Upgrade DB2400 dialect to use the DB2 for i improvements - * [HHH-13390] - Upgrade JPA MetaModel Generator (jpamodelgen) to support Gradle Incremental Compile - * [HHH-13800] - Correct some typos in the javadocs of hibernate-core module - * [HHH-13802] - fix javadoc warnings in 'hibernate-core' - * [HHH-13809] - Various improvements in the user guides - * [HHH-13830] - Fixing typo on the build task description - * [HHH-13832] - Optimise setting of default Flush Mode on a newly created Session - * [HHH-13850] - Clear the BytecodeProvider caches both after SessionFactory creation and stop - * [HHH-13851] - Rework initialization of ProxyFactoryFactory to move responsibility out of PojoEntityTuplizer - * [HHH-13854] - Allow extensions of StandardServiceRegistryBuilder to ignore Environment variables - - Changes in 6.0.0.Alpha4 (December 20, 2019) ------------------------------------------------------------------------------------------------------------------------ @@ -92,33 +21,6 @@ https://hibernate.atlassian.net/projects/HHH/versions/31817 * [HHH-13769] - Avoid unnecessary joins -Changes in 5.4.10.Final (December 05, 2019) ------------------------------------------------------------------------------------------------------------------------- - -https://hibernate.atlassian.net/projects/HHH/versions/31811/tab/release-report-done - -** Bug - * [HHH-9301] - Group by on alias doesn't replace alias - * [HHH-12895] - Extra LEFT JOIN generated with @ManyToOne and @JoinTable when projecting on main entity id - * [HHH-13355] - StaleStateException for updates to optional secondary table using saveOrUpdate - * [HHH-13365] - Entities in joined subclass table are not inserted with batch size > 0 using sequence-identity ID generator - * [HHH-13608] - Oracle8iDialect should use CASE_INSENSITIVE pattern matching when checking the statement type - * [HHH-13722] - ArrayStoreException in Constraint.generateName - * [HHH-13737] - Add debug logging and a test case for HHH-13433 - * [HHH-13742] - Missing from clause with joined inheritance property in association subquery - * [HHH-13758] - Limit Handler for SQL server doesn't work with CTE queries with strings literals - * [HHH-13764] - Annotations are ignored during enhancement if they are on the getter instead of the field - -** Task - * [HHH-13739] - Upgrade to Agroal 1.7 - * [HHH-13761] - Debug logging of JPA compliance settings didn't log the value of the settings - * [HHH-13762] - Update vibur-dbcp dependency to 25.0 - -** Improvement - * [HHH-8091] - Hibernate produces SQL - "in ()" - which is invalid in at least Oracle, MySQL and Postgres - * [HHH-13755] - Update Hibernate Gradle Plugin example in the documentation - - Changes in 6.0.0.Alpha1 (November 23, 2019) ------------------------------------------------------------------------------------------------------------------------ @@ -146,2833 +48,3 @@ https://hibernate.atlassian.net/projects/HHH/versions/31768/ * [HHH-11990] - Remove LogicalConnectionImplementor#makeShareableCopy -Changes in 5.4.9.Final (November 14, 2019) ------------------------------------------------------------------------------------------------------------------------- - -https://hibernate.atlassian.net/projects/HHH/versions/31806/tab/release-report-done - -** Bug - * [HHH-12030] - Symbol$TypeVariableSymbol cannot be cast to TypeElement - * [HHH-13307] - On release of batch it still contained JDBC statements using JTA - * [HHH-13433] - EntityManager.find() should only check for roll-back-only condition if there is an active JTA transaction, otherwise ORM should throw convert( e, lockOptions ) - * [HHH-13614] - Allow the IntegratorProvider to be supplied via its FQN in the JPA persistence.xml - * [HHH-13670] - Missing from clause in query with joined inheritance, regression in 5.4.5 - * [HHH-13687] - TenantSchemaResolver not called in integration test after upgrade from 5.4.4 to >=5.4.5 - * [HHH-13690] - Multi-tenancy supporting session factories can not be created - * [HHH-13698] - Hibernate does not recognize MySQL 8 error code 3572 as PessimisticLockException - * [HHH-13700] - Configuration property CONNECTION_PROVIDER_DISABLES_AUTOCOMMIT should not be passed to the JDBC connection properties - * [HHH-13705] - Enhancement as Proxy with inline dirty checking - flush of an @ManyToOne with an Embedded value having not null properties causes PropertyValueException - * [HHH-13710] - Wrong tenant-identifier in Envers temporary session - * [HHH-13712] - inheritance - select count query is not working with inheritance - * [HHH-13727] - h2 database with DATABASE_TO_UPPER=false throws org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "sequences" not found - -** Task - * [HHH-13730] - Upgrade to Classmate 1.4.0 - * [HHH-13731] - Upgrade to Classmate 1.5.1 - * [HHH-13733] - Upgrade to Jandex 2.1.1.Final - -** Improvement - * [HHH-13654] - Avoid clearing of collections when closing StatefulPersistenceContext - * [HHH-13723] - Hint sizing of ArrayList in ResultSetProcessingContextImpl - - -Changes in 5.4.8.Final (October 28, 2019) ------------------------------------------------------------------------------------------------------------------------- - -https://hibernate.atlassian.net/projects/HHH/versions/31804/tab/release-report-done - -** Bug - * [HHH-12965] - Hibernate Envers Audit tables are created with foreign key with the entity. Because of this I am not able to delete any entries from the entity tables. - * [HHH-13446] - java.lang.VerifyError from compile-time enhanced @Entity - * [HHH-13651] - NPE on flushing when ElementCollection field contains null element - * [HHH-13695] - DDL export forgets to close a Statement - * [HHH-13696] - Multiple OSGi bundles initializing concurrently would overlap classloaders - -** Improvement - * [HHH-13686] - Upgrade to Agroal 1.6 - - -Changes in 5.4.7.Final (October 21, 2019) ------------------------------------------------------------------------------------------------------------------------- - -https://hibernate.atlassian.net/projects/HHH/versions/31799/tab/release-report-done - -** Bug - * [HHH-4235] - MapBinder.createFormulatedValue() does not honor DB schema name when creating query - * [HHH-13633] - Bugs join-fetching a collection when scrolling with a stateless session using enhancement as proxy - * [HHH-13634] - PersistenceContext can get cleared before load completes using StatelessSessionImpl - * [HHH-13640] - Uninitialized HibernateProxy mapped as NO_PROXY gets initialized when reloaded with enhancement-as-proxy enabled - * [HHH-13653] - Uninitialized entity does not get initialized when a setter is called with enhancement-as-proxy enabled - * [HHH-13655] - Envers Map causes NullPointerException when mapped with @MapKeyEnumerated since Hibernate 5.4.6 - * [HHH-13663] - Session#setHibernateFlushMode() method not callable without an active transaction - * [HHH-13665] - Selecting an entity annotated with @Immutable but not with @Cachable causes a NPE when use_reference_entries is enabled - * [HHH-13672] - The temporary PersistenceContext of a StatelessSession is not cleared after a refresh operation - * [HHH-13675] - Optimize PersistentBag.groupByEqualityHash() - -** New Feature - * [HHH-10398] - _MOD columns not named correctly when using custom column names - -** Task - * [HHH-13680] - Upgrade to Byte Buddy 1.10.2 - * [HHH-13681] - Upgrade to Byteman 4.0.8 - -** Improvement - * [HHH-12858] - integration overrides during JPA bootstrap ought to override all logically related settings - * [HHH-13432] - Have EntityManagerFactory expose persistence.xml `jta-data-source` element as a `javax.persistence.nonJtaDataSource` property - * [HHH-13660] - Reduce allocation costs of IdentityMaps used by ResultSetProcessingContextImpl - * [HHH-13662] - Avoid initializing XmlMappingBinderAccess when no XML mappings are defined - * [HHH-13666] - AssertionFailure: Exception releasing cache locks upon After/BeforeTransactionCompletionProcess failure - * [HHH-13673] - Cryptic error when providing import.sql file without a terminal char at the end of each line - - -Changes in 5.4.6.Final (September 30, 2019) ------------------------------------------------------------------------------------------------------------------------- - -https://hibernate.atlassian.net/projects/HHH/versions/31794/tab/release-report-done - -** Bug - * [HHH-11797] - Envers Map not auditing correctly - * [HHH-13493] - For a native query, the SessionImpl class does not call applyQuerySettingsAndHints - * [HHH-13597] - Building DatabaseInformation fails on H2 without DATABASE_TO_UPPER - * [HHH-13625] - After upgrading to 5.4.5, it's no longer possible to bootstrap Hibernate if the org.hibernate.cfg LOG is set to DEBUG - * [HHH-13645] - StatsNamedContainer#getOrCompute throws NullPointerException when computed value is null - -** Improvement - * [HHH-13130] - Provide Gradle-based bytecode enhancement as a task separate from the compileJava task - - -Changes in 5.4.5.Final (September 17, 2019) ------------------------------------------------------------------------------------------------------------------------- - -https://hibernate.atlassian.net/projects/HHH/versions/31779/tab/release-report-done - -** Bug - * [HHH-13259] - StackOverflowError from StringHelper - * [HHH-13466] - ClassCastException when changing a Collection association to a Set if @PreUpdate listener exists - * [HHH-13544] - Restore logged warning on jdbc code mapping issue in NationalizedTypeMappings - * [HHH-13550] - Fix Oracle failure for test added by HHH-13424 - * [HHH-13551] - StrategyRegistrationProvider does not properly handle implementations from different classloader - * [HHH-13554] - QueryAndSQLTest.testNativeQueryWithFormulaAttributeWithoutAlias() fails on Oracle, MSSQL, Sybase, DB2, MariaDB - * [HHH-13555] - FetchGraphTest, MergeProxyTest and ProxyDeletionTest fail due to ConstraintViolationException - * [HHH-13556] - Tests doing dynamic fetch scrolling a collection fail on DB2 - * [HHH-13557] - LocalTimeTest#writeThenNativeRead and OffsetTimeTest#writeThenNativeRead tests are failing on SQL Server - * [HHH-13558] - InstantTest, LocalDateTimeTest, OffsetDateTimeTest, ZonedDateTimeTest failing on Sybase for year 1600 - * [HHH-13564] - Envers - Getting NPE while reading revisions of entity with @EmbeddedId composite key located in parent @MappedSuperclass - * [HHH-13569] - org.hibernate.test.annotations.embedded.EmbeddedTest failures on Sybase - * [HHH-13570] - Test failures due to Sybase not supporting UPDATE statement with WITH(NOWAIT) - * [HHH-13571] - Test failures due to cross joined table out of scope of a subsequent JOIN on Sybase - * [HHH-13573] - Test failure due to Sybase not supporting cascade delete on foreign key definitions - * [HHH-13574] - SybaseASE does not support PARTITION BY - * [HHH-13577] - LockTest.testContendedPessimisticLock and StatementIsClosedAfterALockExceptionTest.testStatementIsClosed tests fail on Sybase - * [HHH-13580] - LocalTimeTest#writeThenNativeRead* and OffsetTimeTest#writeThenNativeRead* failing on MySQL - * [HHH-13581] - LocalTimeTest#writeThenRead* and OffsetTimeTest#writeThenRead* failing on MariaDB - * [HHH-13582] - LocalDateTest failures on MySQL - * [HHH-13586] - ClassCastException when using a single region name for both entity and query results - * [HHH-13590] - TransientObjectException merging a non-proxy association to a HibernateProxy - * [HHH-13592] - AutoFlushEvent#isFlushRequired is always false - * [HHH-13607] - Exception thrown while flushing uninitialized enhanced proxy with immutable natural ID - * [HHH-13611] - Restore EntityMetamodel constructor to take SessionFactoryImplementor argument instead of PersisterCreationContext. - * [HHH-13616] - Enable the hibernate-orm-modules test for JDK 11 - * [HHH-13621] - Exception if spaces after value of javax.persistence.schema-generation.scripts.action in hibernate.properties - -** New Feature - * [HHH-13249] - Introduce an option to Log slow queries instead of all queries - -** Task - * [HHH-13525] - Make test SessionDelegatorBaseImplTest more resilient to previously existing alias definition - * [HHH-13526] - Optimise ResourceRegistryStandardImpl#release - * [HHH-13527] - Performance regression in org.hibernate.stat.internal.StatisticsImpl - * [HHH-13528] - Invoke afterStatements only at the end of releasing all statements for a batch - * [HHH-13529] - Performance regression in org.hibernate.engine.spi.SessionFactoryImplementor#getDialect - * [HHH-13531] - Some more opportunities to reuse the constants pool in AliasConstantsHelper - * [HHH-13534] - AbstractLoadPlanBasedLoader never needs a List of AfterLoadAction - * [HHH-13546] - Make the sessionFactory field in StatisticsImpl required - * [HHH-13549] - Cleanup dead code in StringHelper - * [HHH-13552] - CollectionType needs a direct reference to its Persister - * [HHH-13553] - Fix test failures on SAP HANA - * [HHH-13561] - Do not retrieve the same ActionQueue multiple times - * [HHH-13562] - List of TransactionObserver for JdbcResourceLocalTransactionCoordinatorImpl should be lazily initialized - * [HHH-13563] - ResultSetReturnImpl is looking up JdbcServices on each construction - * [HHH-13565] - Improve Session opening efficiency - * [HHH-13568] - Instances of NaturalIdXrefDelegate should be lazily initialized if possible - * [HHH-13605] - InstantTest, OffsetDateTimeTest, ZonedDateTimeTest fail for MariaDB on CI - * [HHH-13606] - LocalDateTimeTest fails for HANA on CI - * [HHH-13622] - Upgrade the WildFly Transaction Client to 1.1.7.Final - -** Improvement - * [HHH-13133] - Print message about 'successfully enhanced class' as debug in Maven enhancement plugin - * [HHH-13412] - Move hibernate.connection description out of c3p0 section - * [HHH-13512] - Avoid allocating an array in org.hibernate.internal.util.StringHelper#unquote(String[], Dialect) if there are no changes to be applied - * [HHH-13521] - Avoid excessive validation of enabled filters - * [HHH-13522] - Optimise LoadQueryInfluencers by making maps lazily initialized - * [HHH-13523] - StatementPreparerImpl should not need to retrieve the JDBCService as often - * [HHH-13524] - Remove unused fields xref,unassociatedResultSets from JdbcCoordinatorImpl - * [HHH-13541] - ExceptionConverter instance in AbstractSharedSessionContract should be lazily initialized - * [HHH-13548] - Since SessionOwner is deprecated several fields in SessionImpl can be removed - * [HHH-13576] - Invoking tracef() or debugf() w/o an array of parameters actually allocates an empty Object[] - * [HHH-13579] - Cleanup of resources in ResourceRegistryStandardImpl allocates many Iterators - * [HHH-13584] - Reduce ServiceRegistry lookups in LocalConnectionAccess in SessionFactory - * [HHH-13585] - Duplicate resource release in PessimisticReadSelectLockingStrategy - * [HHH-13587] - Initialize selected collections of StatefulPersistenceContext lazily - * [HHH-13588] - MySQL Dialect: missed functions: weight_string, to_base64, from_base64, regexp_replace, regexp_instr, regexp_substr - * [HHH-13589] - Minor memory allocation improvements in ActionQueue - * [HHH-13591] - Replaces simple uses of array iteration with a corresponding for-each loop - * [HHH-13594] - ResourceRegistryStandardImpl#release could avoid allocating a capturing lambda - * [HHH-13599] - Avoid ArrayList allocation in JtaTransactionCoordinatorImp in common scenario - * [HHH-13600] - Avoid allocation of capturing lambdas in ParameterTranslationsImpl and AbstractDomainDataRegion - -** Deprecation - * [HHH-13595] - Deprecate ConnectionObserver - - -Changes in 5.4.4.Final (July 29, 2019) ------------------------------------------------------------------------------------------------------------------------- - -https://hibernate.atlassian.net/projects/HHH/versions/31774/tab/release-report-done - -** Bug - * [HHH-12642] - Lazy enhanced entity as relationship is always loaded in a criteria query - * [HHH-13357] - OffsetTimeTest fails using TimeAsTimestampRemappingH2Dialect in non-GMT European time zones - * [HHH-13379] - Regression of Instant serialization - * [HHH-13409] - Hibernate ORM does not detect services provided by libraries in the module path - * [HHH-13424] - Table nullability should not depend on JpaCompliance.isJpaCacheComplianceEnabled() - * [HHH-13443] - Build failing to parse *.properties file attributes containing trailing space - * [HHH-13454] - org.hibernate.orm.test.query.criteria.BasicCriteriaExecutionTests fails on Oracle - * [HHH-13455] - Enabling Enhancement as a Proxy causes IllegalStateException when using Javassist - * [HHH-13459] - Unit test lock up when they run on PostgreSQL - * [HHH-13460] - FetchGraphTest is failing on MariaDB - * [HHH-13463] - Hibernate has a dependency on plexus-utils:3.0.1 that is vulnerable to CVE-2017-1000487 with a CVSS of 7.5 - * [HHH-13492] - OptimisticLockException after locking, refreshing, and updating an entity - * [HHH-13500] - Subquery of DefaultAuditStrategy results in a wrong revision - * [HHH-13505] - NullPointerException thrown by StatisticsImpl#getCacheRegionStatistics - * [HHH-13514] - Calling the wrong method inside SessionDelegatorBaseImpl#createStoredProcedureQuery - -** New Feature - * [HHH-11147] - Allow enhanced entities to be returned in a completely uninitialized state - * [HHH-13154] - Add support for JPA criteria on stateless sessions - -** Task - * [HHH-13415] - Improve build compatibility with JDK11.0.3 - * [HHH-13461] - Style and formatting fixes: CollectionEntry - * [HHH-13504] - Upgrade ByteBuddy to 1.9.11 - * [HHH-13513] - Partial revert of string interning introduced by HHH-3924 - * [HHH-13520] - Deprecate mutators on SqlStatementLogger - -** Improvement - * [HHH-11032] - Improve performance of PersistentBag.equalsSnapshot - * [HHH-13226] - Typo in some configuration properties (HBM2DDL vs HBM2DLL) - * [HHH-13303] - Fix some alerts from LGTM - * [HHH-13428] - Minor cleanup of build scripts - * [HHH-13429] - Upgrade WildFly provisioning plugin to version 0.0.11 - * [HHH-13442] - CollectionType#getCollection() method improvements - * [HHH-13444] - Remove ignored EntityMode field from CollectionKey - * [HHH-13447] - Minimize number of EventListenerRegistry lookups within a Session use - * [HHH-13448] - Avoid retrieving PRE_LOAD and POST_LOAD Event listeners within the inner loops of TwoPhaseLoad - * [HHH-13450] - Do not compute the full role name of a collection unless necessary - * [HHH-13451] - Logging typo in CascadingActions causing significant allocations - * [HHH-13452] - Missing log level guard on formatting in DefaultPersistEventListener#entityIsDeleted - * [HHH-13453] - Optimise CascadingActions for the most likely case - * [HHH-13458] - Update Hibernate's custom IdentityMap to better match its use - * [HHH-13462] - Introduce a fastpath for SessionImpl#fireLoad to be used by internal loops - * [HHH-13465] - Allow inlined access to the PersistenceContext for internal methods - * [HHH-13467] - Make average BatchFetchQueue consume less memory - * [HHH-13471] - Avoid invoking delayedAfterCompletion() multiple times from the same SessionImpl method - * [HHH-13475] - SessionImpl#applyQuerySettingsAndHints should not rely on defensive copies to just read properties - * [HHH-13476] - Micro-optimisations of TwoPhaseLoad#getOverridingEager - * [HHH-13477] - Make heavily invoked method final: EventListenerGroupImpl#listeners() - * [HHH-13478] - Various low hanging fruits identified by CPU flame graphs - * [HHH-13494] - LobTypeMappings should not use a Bounded ConcurrentHashmap - * [HHH-13495] - NationalizedTypeMappings should not use a Bounded ConcurrentHashmap - * [HHH-13496] - Apply some minor yet improvements identified via static code analysis tools - * [HHH-13508] - Reuse alias names generated by BasicLoader#generateSuffixes - * [HHH-13511] - Remove old org.hibernate.loader.DefaultEntityAliases#intern - - -Changes in 5.4.3.Final (May 30, 2019) ------------------------------------------------------------------------------------------------------------------------- - -https://hibernate.atlassian.net/projects/HHH/versions/31762/tab/release-report-done - -** Bug - * [HHH-13343] - Bytecode enhancement using ByteBuddy fails when the class is not available from the provided ClassLoader - * [HHH-13364] - Query.getSingleResult and getResultList() throw PessimisticLockException when pessimistic lock fails with timeout - * [HHH-13418] - Revert log level caching in static fields - -** Task - * [HHH-13416] - Unguarded debug message being rendered in org.hibernate.engine.internal.Collections.processReachableCollection - * [HHH-13419] - Support building javadoc with JDK 11.0.3 - * [HHH-13421] - Disable OSGi testing for JDK 11+ - - - -Changes in 5.4.2.Final (March 21, 2019) ------------------------------------------------------------------------------------------------------------------------- - -https://hibernate.atlassian.net/projects/HHH/versions/31748/tab/release-report-done - -** Bug - * [HHH-13194] - Some methods returning org.hibernate.query.Query are not defined for StatelessSession - * [HHH-13216] - Criteria query doesn't handle BigDecimal correctly - * [HHH-13217] - Don't throw exception if both @MappedSuperclass and @Inheritance are used - * [HHH-13219] - The sentence "The chapter 6 (e.g. Criteria API)" should be "The chapter 6 (i.e., Criteria API)" - * [HHH-13225] - Fix minor version detection in BasicDialectResolver - * [HHH-13227] - UnsupportedOperationException when programmatically overriding hibernate.ejb.cfgfile - * [HHH-13228] - The modification of a @OneToOne with @MapsId property is silently ignored during a merge operation - * [HHH-13229] - Sequences in MariaDB doesnt work on existing sequence - * [HHH-13230] - The AvailableSettings.HBM2DDL_HALT_ON_ERROR setting does not accept String values - * [HHH-13233] - Eager loading via EntityGraph doesn't work with subgraph - * [HHH-13236] - @Column insertable and updatable on ElementCollection items' fields are ignored when generating statements - * [HHH-13239] - The query hint javax.persistence.lock.timeout doesn't work correctly on HANA - * [HHH-13241] - Constraint violation when deleting entites in bi-directional, lazy OneToMany association with bytecode enhancement - * [HHH-13244] - setting hibernate.jpa.compliance.proxy=true and org.hibernate debug level to DEBUG breaks hibernate - * [HHH-13256] - Fix the fieldsPreUpdateNeeded property index allocation in AbstractEntityPersister#update - * [HHH-13262] - javax.persistence.TransactionRequiredException: Executing an update/delete query - * [HHH-13265] - Remove double semicolon - * [HHH-13266] - LocalDateTime values are wrong around 1900 (caused by JDK-8061577) - * [HHH-13269] - Embeddable collection regression due to HHH-11544 - * [HHH-13277] - HibernateMethodLookupDispatcher - Issue with Security Manager - * [HHH-13281] - java.lang.ClassCastException: org.hibernate.internal.SessionImpl cannot be cast to org.hibernate.ejb.HibernateEntityManager - * [HHH-13285] - ClassCastException: org.dom4j.DocumentFactory cannot be cast to org.dom4j.DocumentFactory after dom4j update - * [HHH-13300] - query.getSingleResult() throws org.hibernate.NonUniqueResultException instead of javax.persistence.NonUniqueResultException - * [HHH-13309] - Extended bean managers implementing the new interface are not correctly detected - * [HHH-13324] - NullPointerException if security manager is set after startup - * [HHH-13326] - Transaction passed to Hibernate Interceptor methods is null when JTA is used - -** New Feature - * [HHH-13202] - Add support for PostgreSQL "GENERATED BY DEFAULT AS IDENTITY" - -** Task - * [HHH-13232] - Upgrade ByteBuddy to 1.9.8 - * [HHH-13238] - Reuse static logger in QueryTranslatorFactoryInitiator - * [HHH-13254] - Upgrade Agroal to 1.4 - * [HHH-13258] - ASTQueryTranslatorFactory.createQueryTranslator undocumented Parameter - * [HHH-13271] - Javadoc build failures on JDK 12 - * [HHH-13272] - Upgrade to Byte Buddy 1.9.10 - * [HHH-13275] - Re-introduce usage of net.bytebuddy.experimental=true when testing on JDK > 11 - * [HHH-13304] - MySQLDialect shouldn't access System Properties - * [HHH-13305] - Deprecate public static helpers returning the current Dialect - * [HHH-13306] - Remove verbose logging from the standard ExceptionMapper - * [HHH-13332] - Upgrade to c3p0 0.9.5.3 - -** Improvement - * [HHH-6190] - Leverage JmxService to expose management and monitoring capabilities. - * [HHH-10148] - SQLServer2012SpatialDialect - * [HHH-13220] - In the ByteBuddy enhancer, avoid creating a PersistentAttributeTransformer if the class is not enhanced - * [HHH-13257] - Support mysql8 spatial - -** Patch - * [HHH-13330] - Minor typo in ManagedBeanRegistryInitiator - -Changes in 5.4.1.Final (January 19, 2019) ------------------------------------------------------------------------------------------------------------------------- - -https://hibernate.atlassian.net/projects/HHH/versions/31726/tab/release-report-done - -** Bug - * [HHH-11807] - Enhanced entity delete not cascaded for some case - * [HHH-12555] - Merging a blob on an entity results in a class cast exception - * [HHH-13059] - OneToMany with referencedColumnName returns too many entities - * [HHH-13068] - "order_inserts = true" causes FK Violation when inserting Self Referential Entity with Single_Table Inherited Entities - * [HHH-13080] - ManyToMany List update with detached entities throws EntityExistsException - * [HHH-13084] - Querying entity with non-ID property named 'id' fails if entity has an IdClass composite key - * [HHH-13094] - Setting @Any.fetch to FetchType.EAGER doesn't work - * [HHH-13104] - Oracle 12c / SAP Hana insert fails when entity contains only an identity-based column. - * [HHH-13114] - Query "select count(h) from Human h" fails if a subclass has a non-Id property named "id" - * [HHH-13129] - Cascaded merge fails for detached bytecode-enhanced entity with uninitialized ToOne - * [HHH-13138] - Work around class loading issues so that bytecode enhanced tests can run as expected - * [HHH-13145] - Generated metamodel class can't be compiled. - * [HHH-13146] - Hibernate Ehcache no longer supports the `net.sf.ehcache.hibernate.cache_lock_timeout` configuration property - * [HHH-13151] - TreatedRoot misses fetches in query - * [HHH-13153] - No content in 15.1. Query API of User Guide - * [HHH-13160] - Polymorphic query for InheritanceType.TABLE_PER_CLASS is not using UNION ALL - * [HHH-13163] - Fix DDLWithoutCallbackTest#testRangeChecksGetApplied which fails on MariaDB - * [HHH-13164] - Detecting transient state of mandatory toOne relations is broken - * [HHH-13167] - When omitting the OTHERWISE clause in a CASE expression built with Criteria API, Hibernate throws a NullPointerException - * [HHH-13169] - Table alias used instead of exact table name in multitable update query - * [HHH-13172] - Log a warning instead of throwing an Exception when @AttributeOverride is used in conjunction with inheritance - * [HHH-13175] - Eager subsequent-select fails when EntityGraph is specified for find operation - * [HHH-13184] - Oracle dialect detection does not return latest dialect in the default case - * [HHH-13189] - org.hibernate.Query#setParameter(String, Object) is extremely slow - * [HHH-13191] - LazyInitializationException when Envers persists audit data that uses a proxy with JPA_PROXY_COMPLIANCE enabled under JTA - * [HHH-13192] - Select alias in Criteria API seems to bleed into where condition - * [HHH-13199] - NullPointerException when using case on select clause using JPA Criteria API - -** New Feature - * [HHH-13204] - Introduce a configuration flag to skip processing of XML mapping metadata - * [HHH-13209] - Experimental feature: Allow for ServiceRegistry "suspend and restore" - -** Task - * [HHH-13197] - Reduce bootstrap log verbosity - * [HHH-13198] - Introduce a global configuration flag to disable JPA callbacks - * [HHH-13210] - Don't log about running a script of type ScriptSourceInputNonExistentImpl - * [HHH-13211] - Reduce logging verbosity of QueryTranslatorFactoryInitiator - -** Improvement - * [HHH-12878] - StaleStateException does not log out the stale object or the statement that was executed - * [HHH-13162] - Upgrade MySQL and MariaDB Dialects as they support UNION ALL - * [HHH-13165] - Don't use confusing "this" in the User Guide admonition blocks - * [HHH-13181] - Reduce bootstrap log verbosity - * [HHH-13186] - MariaDB dialect detection does not return the latest by default - * [HHH-13206] - Apply dialect checks from both method and class level. - - - -Changes in 5.4.0.Final (December 12, 2018) ------------------------------------------------------------------------------------------------------------------------- - -https://hibernate.atlassian.net/projects/HHH/versions/31738/tab/release-report-done - -** Bug - * [HHH-13110] - @PreUpdate method on a Embeddable null on the parent caused NullPointerException - * [HHH-13141] - Could not fetch the SequenceInformation from the database when using SQL Server with a case-sensitive collation - * [HHH-13147] - DelayedPostInsertIdentifier handling broken since 5.3.0 - -** New Feature - * [HHH-13083] - Add st_makeenvelope to the supported PostGIS functions in hibernate-spatial - -** Task - * [HHH-13095] - Document how to use arithmetic expressions in CASE statements - * [HHH-13096] - Document that composite identifier cannot use auto-generated properties - -** Improvement - * [HHH-10778] - Add support for non-public AttributeConverter implementations - * [HHH-13144] - Move the doInAutoCommit utility to TranscationUtil - * [HHH-13156] - Enhance the @AnyMetaDef annotation section with more details about the optimal placement - - - -Changes in 5.4.0.CR2 (November 29, 2018) ------------------------------------------------------------------------------------------------------------------------- - -https://hibernate.atlassian.net/projects/HHH/versions/31729/tab/release-report-done - -** Bug - * [HHH-13107] - JtaWithStatementsBatchTest fails on Oracle - * [HHH-13111] - Subquery cannot occur in select clause anymore for Criteria API - * [HHH-13112] - Proxies on entity types in the default package lead to MappingException with JDK9+ - * [HHH-13116] - Jaxb-runtime transitive dependencies are ignored when building a Maven project on JDK11 with a dependency to Hibernate ORM - * [HHH-13118] - Use the provided class loader even when using the default URI - * [HHH-13128] - Missing jaxb-runtime dependency for hibernate-jpamodelgen - -** Task - * [HHH-13043] - Upgrade to JAXB 2.3 - -** Improvement - * [HHH-13102] - Document how catalog and schema attributes need to be applied based on the underlying DB capabilities - * [HHH-13115] - Document how to define timezone per tenant when using Multitenant Database - * [HHH-13124] - Document the CachingRegionFactory resolution algorithm has changed - * [HHH-13125] - Remove the Javadoc links in the User Guide pointing internal classes - * [HHH-13127] - Document JAXB dependencies should be added for using hibernate-jpamodelgen in Eclipse IDE - - - -Changes in 5.4.0.CR1 (November 15, 2018) ------------------------------------------------------------------------------------------------------------------------- - -https://hibernate.atlassian.net/projects/HHH/versions/31691/tab/release-report-done - -** Bug - * [HHH-7686] - org.hibernate.proxy.map.MapProxy loses all important state on serialization - * [HHH-8805] - [SchemaUpdate] javax.persistence.ForeignKey doesn't respect ConstraintMode.NO_CONSTRAINT - * [HHH-10201] - Hibernate does not audit @ElementCollection when revision_on_collection_change is false - * [HHH-10603] - ORA-00932: inconsistent datatypes: expected - got BLOB after HHH-10345 with Oracle12cDialect - * [HHH-10891] - Exception at bootstrap when @Any is inside an @Embeddable object - * [HHH-11096] - @CreationTimestamp doesn't works with @Column(nullable=false) - * [HHH-11209] - NullPointerException in EntityType.replace() with a PersistentBag - * [HHH-11771] - @Id annotation ignored with @MappedSuperclass inheritance - * [HHH-12200] - Docs mention outdated APIs - * [HHH-12320] - @JoinColumn's foreign key custom name does not work with @MapsId - * [HHH-12425] - LazyInitializationIssue when enhancement enableDirtyTracking is enabled after session is committed - * [HHH-12436] - Attempted to assign id from null one-to-one property - * [HHH-12492] - JPA delete query generated has missing table alias and thus incorrect semantics - * [HHH-12542] - WildFly integration test, HibernateNativeAPINaturalIdTestCase, fails when security manager is enabled - * [HHH-12666] - Add an option for restoring 5.1 native exception handling - * [HHH-12675] - @Table(Inverse=true) ignored for SecondaryTables in JoinedSubclassEntityPersister - * [HHH-12695] - Incompatibility in return value for org.hibernate.procedure.ParameterRegistration.getType() 5.1 vs 5.3 - * [HHH-12718] - Entity changes in @PreUpdate callback are not persisted when lazy loading is active for more than one field - * [HHH-12720] - LazyInitializationException with hibernate.enable_lazy_load_no_trans - * [HHH-12740] - Subselect fetching doesn't work when multiLoad was used - * [HHH-12753] - org.hibernate.envers.test.integration.collection.StringMapNationalizedLobTest fails with DB2 - * [HHH-12768] - TimeAndTimestampTest fails with SQL Server and MYSQL - * [HHH-12771] - Caused by: java.lang.UnsupportedOperationException: Cache provider [org.hibernate.cache.ehcache.internal.EhcacheRegionFactory@3271ec2a] does not support `transactional` access - * [HHH-12776] - NullPointerException when executing native query on an Audited Entity - * [HHH-12779] - Revert HHH-12670 - Allows native SQL queries that take a given resultClass to map the result set to the required type - * [HHH-12781] - Update Javassist dependency to 3.23.1 - * [HHH-12784] - Javassist support broken by HHH-12760 - * [HHH-12786] - Deleting an entity leads to NullPointerException in ByteBuddy proxy - * [HHH-12787] - SessionJdbcBatchTest hangs with DB2 - * [HHH-12791] - ComponentTuplizer generates a LOT of proxy classes when using Bytebuddy as bytecode provider - * [HHH-12795] - Setting FlushMode to manual for a @NamedQuery is ignored - * [HHH-12797] - Fix cache modes relationships table layout in the documentation - * [HHH-12798] - Nested spatial functions are not rendered correctly on SAP HANA - * [HHH-12800] - TuplizerInstantiatesByteBuddySubclassTest uses ByteBuddy operation unsafe with JDK 11 - * [HHH-12802] - Hibernate does not throw an exception when more than one entity is loaded with the same ID - * [HHH-12815] - LocalDateCustomSessionLevelTimeZoneTest fails with mysql 5.5 and 5.7 - * [HHH-12822] - Skip "case when" tests requiring casts for DB2 - * [HHH-12823] - CompositeIdTest.testDistinctCountOfEntityWithCompositeId fails on databases that don't support tuple distinct counts because it expects wrong exception - * [HHH-12824] - ASTParserLoadingTest.testComponentNullnessChecks fail with DB2 because it uses legacy-style query parameter - * [HHH-12825] - CriteriaHQLAlignmentTest.testCountReturnValues fails on databases that don't support tuple distinct counts because it expects wrong exception - * [HHH-12826] - Persist cascade of collection fails when orphan removal enabled with flush mode commit. - * [HHH-12827] - NUMERIC column type is not handled correctly on DB2 - * [HHH-12829] - Invalid references to outdated EhCache classes - * [HHH-12832] - SchemaUpdateHaltOnErrorTest and SchemaMigratorHaltOnErrorTest fail with DB2 - * [HHH-12833] - UniqueConstraintDropTest fails with DB2 - * [HHH-12834] - org.hibernate.envers.test.integration.collection.StringMapNationalizedLobTest fails with Sybase - * [HHH-12835] - Wrong assertion in BatchFetchQueueHelper - * [HHH-12838] - AndNationalizedTests fails with DB2 - * [HHH-12839] - EntityProxySerializationTest fails with oracle - * [HHH-12842] - Non-optional OneToOne relation can't be lazy loaded anymore - * [HHH-12843] - CreateDeleteTest and FlushIdGenTest fail with ORA-00936 on oracle - * [HHH-12844] - HbmWithIdentityTest fails with ORA-00936 on oracle - * [HHH-12846] - Merge cascade of collection fails when orphan removal enabled with flush mode commit - * [HHH-12847] - NullPointerException in FetchStyleLoadPlanBuildingAssociationVisitationStrategy::adjustJoinFetchIfNeeded - * [HHH-12848] - UpgradeSkipLockedTest, PessimisticReadSkipLockedTest and OracleFollowOnLockingTest fail with Oracle12c - * [HHH-12849] - QuotedIdentifierTest fails with ORA-04043 on Oracle12c - * [HHH-12850] - null values for columns mapped as "Boolean" cause exception when saving entity with SAP Sql Anywhere jdbc4 - * [HHH-12851] - ConverterTest fails with SQL Server depending on collation - * [HHH-12861] - SchemaUpdate doesn't work with Sybase - * [HHH-12863] - SchemaUpdateTest should be skipped with Sybase - * [HHH-12868] - Using CacheConcurrencyStrategy.NONE leads to a NPE when trying to load an entity - * [HHH-12869] - SingletonEhcacheRegionFactory initialization fails - * [HHH-12871] - Metamodel contains managed types related to dynamic-map entities that have been excluded. - * [HHH-12875] - Class level where="..." clause in hbm.xml mappings is not enforced on collections of that class - * [HHH-12880] - LockModeTest hangs indefinitely with Sybase due to HHH-12847 - * [HHH-12882] - Where clauses mapped on collections and entities need parentheses when used in conjunction - * [HHH-12883] - NaturalIdDereferenceTest fails with Sybase - * [HHH-12890] - Fix link to JPA Metamodel generator documentation - * [HHH-12903] - CommitFlushCollectionTest fails when running on Oracle. - * [HHH-12905] - Passing null as parameter is not allowed even when enablePassingNulls() has been called - * [HHH-12906] - Statistics.getCollectionRoleNames() reports incorrect value - * [HHH-12913] - AuditJoinTable does not work when specified in an AuditOverride annotation. - * [HHH-12915] - Concurrency issue within org.hibernate.internal.SessionFactoryImpl - * [HHH-12920] - AbstractCachedDomainDataAccess.clearCache() throws MissingFormatArgumentException at DEBUG level - * [HHH-12921] - Hibernate Connection Pool Validation Thread should be defined as a daemon Thread - * [HHH-12927] - Immutable warning issued if immutable entities are referenced but not changed during update - * [HHH-12931] - Revert HHH-12542 as it introduces some issues with the security manager - * [HHH-12932] - Add privileged blocks in ByteBuddyState initialization - * [HHH-12933] - Generate_statistics grows QueryStatistics ConcurrentHashMap indefinitely - * [HHH-12934] - Exception handling documentation does not apply only to "Session-per-application anti-pattern" - * [HHH-12935] - Constraint and AuxiliaryDatabaseObject export identifiers are not qualified by schema or catalog - * [HHH-12937] - Where clause for collections of basic, embeddable and "any" elements is ignored when mapped using hbm.xml - * [HHH-12939] - Database name not quoted at schema update - * [HHH-12944] - MultiIdentifierLoadAccess ignores the 2nd level cache - * [HHH-12945] - MapJoin#entry() does not seem to work. - * [HHH-12955] - hibernate.hbm2ddl.auto option 'create-only' not recognized - * [HHH-12963] - HANA dialect doesn't set internal configuration for use_unicode_string_types correctly - * [HHH-12964] - Upgrade to dom4j 2.1.1 - * [HHH-12966] - Make statistics serializable to allow JMX access - * [HHH-12968] - Flush is not flushing inserts for inherited tables before a select within a transaction - * [HHH-12973] - Inconsistent identity generation when using the default @SequenceGenerator with a database sequence having the increment size of 1 - * [HHH-12975] - Foreign key constraint cannot be disabled with @JoinColumn(foreignKey=@ForeignKey(NO_CONSTRAINT)) in some cases - * [HHH-12979] - Setting hibernate.javax.cache.uri property value as relative path causes an error - * [HHH-12990] - JPA Model generator does not work in Java 9+ - * [HHH-12992] - ClassCastException for an audited ordered collection - * [HHH-12995] - Querying DECIMAL columns via Double fields can lead to precision loss on SAP HANA - * [HHH-13000] - Association with -ToOne relation with JoinTable can't be refreshed on entity with PESSIMISTIC_LOCK - * [HHH-13001] - NPE rendering nested criteria expressions - * [HHH-13012] - JDBC default connection release mode does not match documentation - * [HHH-13027] - org.hibernate.ejb.HibernatePersistence can no longer be used as a persistence provider name - * [HHH-13040] - MetadataBuilderContributor should be applied before MetadataBuildingProcess.prepare - * [HHH-13042] - DelayedPostInsertIdentifier cannot be cast to class java.lang.Integer - * [HHH-13044] - MapsId and flushMode commit causes PersistenceException - * [HHH-13045] - Accessing id property of association within element collection in query leads to exception - * [HHH-13050] - On release of batch it still contained JDBC statements logged; unable to release batch statement - * [HHH-13053] - DelayedPostInsertIdentifier EXCEPTION on flush of identity created PARENT that has sequence created CHILD with cascade, when batch_update is true - * [HHH-13060] - Throw an exception when two entities are declared with the same name - * [HHH-13062] - Migrate User Guide links from Java EE 7 to 8 - * [HHH-13064] - Documentation of Lock and LockModeType is on two columns instead of 3 - * [HHH-13070] - callbackRegistry is not injected to event listener when appended to listener group using REPLACE_ORIGINAL duplication strategy - * [HHH-13076] - Hibernate “Transaction already active” behaviour with custom transaction manager - * [HHH-13097] - Hibernate enhancer is superslow after upgrade to latest 5.3 or 5.4-SNAPSHOT - -** New Feature - * [HHH-12857] - Support the security manager with ByteBuddy as bytecode provider - -** Task - * [HHH-10782] - Add a comment about what you can expect from a query plan cache cleanup - * [HHH-12730] - User types built using 5.1 are not binary compatible with 5.3 - * [HHH-12751] - Remove the hibernate-infinispan OSGi feature as it's now provided by Infinispan - * [HHH-12762] - No longer needing to use port-offset in WildFly integration tests - * [HHH-12774] - JARs missing from the distribution ZIP - * [HHH-12785] - Test Javassist support - * [HHH-12788] - Enable mockito-inline for the Agroal integration module - * [HHH-12789] - Upgrade to Mockito 2.19.0 - * [HHH-12793] - Upgrade Karaf, pax-exam and reenable the OSGi tests - * [HHH-12799] - Enforce version alignment of Mockito and ByteBuddy dependencies - * [HHH-12801] - Error message in SqlFunctionMetadataBuilderContributorIllegalClassArgumentTest differs with JDK 11 - * [HHH-12803] - Upgrade ByteBuddy to 1.8.13 - * [HHH-12805] - Upgrade Mockito to 2.19.1 - * [HHH-12807] - Disable the hibernate-orm-modules tests for JDK 11 - * [HHH-12808] - Upgrade Gradle to 4.8.1 - * [HHH-12809] - Use an HTTP link for the Javadoc link to our Bean Validation documentation - * [HHH-12813] - Disable Asciidoclet in Javadoc generation - * [HHH-12816] - Enable the experimental features of ByteBuddy when building with JDK 11 - * [HHH-12820] - Merge the migration guides in the code base - * [HHH-12828] - ScannerTests#testGetBytesFromInputStream() is not stable enough - * [HHH-12840] - Simplify implementation of LocalObjectUuidHelper - * [HHH-12841] - DriverManagerConnectionProviderImpl: implement lazy Thread starting and fix visibility guarantees - * [HHH-12877] - Upgrade ByteBuddy to 1.8.15 - * [HHH-12884] - Upgrade to Gradle 4.9 - * [HHH-12887] - Remove direct dependency on ASM - * [HHH-12894] - Simplify code of StandardSessionFactoryServiceInitiators - * [HHH-12898] - Enable integration tests for Oracle Standard Edition Two 12.1.0.2.v12 on the AWS build slaves - * [HHH-12899] - Enable integration tests for MS SQL Server on the AWS build slaves - * [HHH-12901] - Enable loading of additional JDBC drivers from a local path - * [HHH-12904] - Removing some dead code in InFlightMetadataCollectorImpl and MetadataImpl - * [HHH-12909] - Upgrade ByteBuddy to 1.8.17 - * [HHH-12911] - Removing unused field from org.hibernate.mapping.Collection - * [HHH-12914] - Avoid need to create a java.lang.reflect.Proxy to implement org.hibernate.engine.jdbc.BlobProxy - * [HHH-12947] - Remove need for BootstrapContext where it's unused - * [HHH-12948] - Allow using a custom SessionFactoryOptionsBuilder to create a SessionFactoryBuilderImpl - * [HHH-12949] - Upgrade to Gradle 4.10 - * [HHH-12950] - Use the Annotation Processor specific scopes of Gradle - * [HHH-12954] - Refactor boot/model/relational/Database to avoid holding references to MetadataBuildingOptions - * [HHH-13006] - Upgrade to Gradle 4.10.2 - * [HHH-13007] - No longer use net.bytebuddy.experimental=true when testing on JDK11 - * [HHH-13014] - Expose bytecode common utilities as SPI - * [HHH-13015] - Optimise loading of EntityCopyObserver implementation - * [HHH-13018] - Upgrade to Hibernate Commons Annotations 5.0.5.Final - * [HHH-13026] - Documentation: fixing link to Infinispan documentation section regarding Hibernate 2LC - * [HHH-13028] - Make ASTPrinter caches use less memory - * [HHH-13029] - Avoid static singletons to hold on Strategy Registration Implementations - * [HHH-13030] - Provide a`hibernate-orm-modules` tested version for WildFly 14.0.x - * [HHH-13033] - Upgrade ByteBuddy to 1.9.1 - * [HHH-13034] - Upgrade Hibernate Validator to 6.0.13.Final - * [HHH-13035] - Upgrade Agroal to 1.2 - * [HHH-13036] - Upgrade HikariCP to 3.2.0 - * [HHH-13037] - Upgrade Vibur to 22.2 - * [HHH-13038] - Upgrade ByteBuddy to 1.9.2 - * [HHH-13039] - Upgrade Agroal to 1.3 - * [HHH-13047] - Deprecate Environment#verifyProperties - * [HHH-13048] - Allow for parallel processing of entity enhancements via ByteBuddy - * [HHH-13074] - Upgrade ByteBuddy to 1.9.3 - * [HHH-13075] - Upgrade Javassist to 3.24.0-GA - * [HHH-13091] - Upgrade Ehcache 2 to 2.10.6 and Ehcache 3 to 3.6.1 - * [HHH-13092] - Upgrade Hibernate Commons Annotations to 5.1.0.Final - * [HHH-13099] - Update to Byte Buddy 1.9.4 - * [HHH-13100] - All custom implementation of Byte Buddy "Implementation" s should have a proper equals and hashcode - * [HHH-13101] - Document hibernate.id.disable_delayed_identity_inserts in user guide and migration guide - -** Improvement - * [HHH-9038] - Use "cascade constraints" when dropping tables for HSQLDB - * [HHH-9241] - Allow declaring non-java.util Collection interfaces - * [HHH-12144] - Support JTS version 1.16.0 - * [HHH-12196] - Sybase Dialect not supporting max result - paging - * [HHH-12349] - User Guide documentation for @Filter is too verbose - * [HHH-12361] - In the User Guide, omit constructors and equals/hashCode for brevity - * [HHH-12368] - java.sql.SQLFeatureNotSupportedException in LobCreatorBuilderImpl - * [HHH-12608] - Add the ST_DWithin() function in DB2 Spatial Dialect - * [HHH-12653] - Throw MappingException if both @MappedSuperclass and @Inheritance are used - * [HHH-12713] - Make EntityGraph creation more convenient - * [HHH-12763] - Log which JtaPlatform implementation is used at startup on info level. - * [HHH-12770] - HHH-12770 - Document @NotFound(action = NotFoundAction.IGNORE) and FetchType.LAZY behavior - * [HHH-12775] - Avoid join on property access mapped by natural id - * [HHH-12778] - BasicProxyFactoryImpl.getProxy() swallows exception - * [HHH-12804] - No need to mock Map in CollectionBinderTest - * [HHH-12811] - @UpdateTimestamp and @CreationTimestamp missing @Target annotation and breaking in Kotlin - * [HHH-12830] - Improve error output with transaction issues - * [HHH-12855] - Add query plan compilation statistics - * [HHH-12872] - Reduce memory consumption of XSD schema validations - * [HHH-12879] - Remove unnecessary constants in StandardDialectResolver - * [HHH-12892] - Fix spelling issues in the User Guide - * [HHH-12896] - Minor memory improvements in HQLQueryPlan - * [HHH-12907] - Avoid garbage collection pressure when creating proxies with ByteBuddy - * [HHH-12917] - Interning of strings for Filter definitions - * [HHH-12918] - Interning of strings for Formula and Column exctraction templates - * [HHH-12919] - Interning of strings for EntityReferenceAliases - * [HHH-12922] - Hibernate Connection Pool Validation Thread should have a name - * [HHH-12925] - The JDBC Type to Hibernate matching is limited to the Dialect only instead of considering the Type contributions as well - * [HHH-12928] - Remove vestigial 'naturalIdTypes' field - * [HHH-12929] - Add AtomikosJtaPlatform implementation - * [HHH-12946] - Include JAXB as a dependency as it's not provided by JDK 11 - * [HHH-12952] - Document the hibernate.statistics.query_max_size behavior and explain its implications - * [HHH-12957] - Calling custom functions in JPQL with the function() is missing in the documentation - * [HHH-12961] - The links in the Javadoc of the SAP HANA dialects don't work - * [HHH-12962] - Document how to tune the query plan cache size - * [HHH-12974] - Document @OnDelete behavior in regards to disabling the Persistence Context entity removal cascading event - * [HHH-12977] - Update latest dialect for MySQL - * [HHH-12978] - Enum value binding is not logged by BasicBinder - * [HHH-12982] - Generify Hibernate#unproxy - * [HHH-12989] - Support heterogeneous collections passed to JPA's (criteria) Expression#in - * [HHH-13003] - Skip processing of empty resource names defined for hibernate.hbm2ddl.import_files - * [HHH-13005] - Upgrade ByteBuddy to 1.9.0 - * [HHH-13009] - No documentation for "hibernate.javax.cache.cache_manager" - * [HHH-13011] - Add option enabling/disabling use of an entity's mapped where-clause when loading collections of that entity - * [HHH-13017] - Exception on Service stop isn't logging the full stack - * [HHH-13020] - When proxying an entity having a private default constructor, the log message is not very clear about the problem - * [HHH-13021] - Add support for SAP HANA full-text search functions - * [HHH-13022] - Make OSGi integration work on JDK11 - * [HHH-13025] - Rename MetadataContext#getEmbeddableTypeMap to getEmbeddableTypeSet - * [HHH-13051] - Structure of audit-tables should be extensible - * [HHH-13056] - Fix typo in documentation: "listner" should be "listener" - * [HHH-13057] - Prevent Byte Buddy's Advice helper to need reloading many resources from the ClassLoader - * [HHH-13061] - Introduce a 'none' option for BytecodeProvider implementation choice - * [HHH-13069] - Update the links to JBoss Nexus to use the direct repository over https - * [HHH-13071] - Remove deprecated call from gradle plugin - * [HHH-13078] - Not choosing the right dialect for SQL Anywhere 17 - * [HHH-13090] - Allow to use specific cache implementations in Ehcache cache provider - - - -Changes in 5.3.2.final (July 5, 2018) ------------------------------------------------------------------------------------------------------------------------- - -https://hibernate.atlassian.net/projects/HHH/versions/31676/tab/release-report-done - -** Sub-task - * [HHH-12683] - Update documentation about support for JPA CriteriaUpdate and CriteriaDelete - -** Bug - * [HHH-9403] - AssertionFailure: Fail to process type argument in a generic declaration - * [HHH-11979] - Invalid SQL when force increment version of inherited entity - * [HHH-12124] - The JPA Metamodel does not allow to retrieve the actual EmbeddableType since all instances are registered by the associated Java type - * [HHH-12247] - Bootstrap error information is only logged at DEBUG level - * [HHH-12353] - Document that Session.getReference not always returns a T - * [HHH-12396] - Problem with mapping of the annotation @Enumerated(EnumType.STRING) - * [HHH-12476] - NativeQuery with EntityGraphs assumes a HQL query - * [HHH-12531] - JCache existing cache not detected. - * [HHH-12553] - ConcurrentModificationException in OsgiClassLoader - * [HHH-12561] - bulk_id_strategy does not work with globally_quoted_identifiers - * [HHH-12594] - Using property "hibernate.default_batch_fetch_size" crashes bootstrapping - * [HHH-12603] - Contributing using Eclipse Documentation out of Date - * [HHH-12607] - Wrong audit data of ElementCollection attribute of map - * [HHH-12633] - ClassCastException when updating lazy loaded bytecode enhanced byte[] - * [HHH-12639] - No user friendly error on incompatible WildFly Transactions Client - * [HHH-12640] - Update to JBossStandAloneJtaPlatform should be backward compatible attempting old names as well - * [HHH-12649] - Auto-register entity and collection caches based on the Hibernate @Cache annotation (XML mapping) settings - * [HHH-12651] - org.hibernate.Session.*Query(Ljava/lang/String) methods return different types in 5.1 and 5.3 - * [HHH-12657] - ClassCastException: org.hibernate.mapping.SingleTableSubclass cannot be cast to org.hibernate.mapping.RootClass - * [HHH-12660] - Missing verb in reference documentation - * [HHH-12661] - Hibernate types (e.g. NumericBooleanType, YesNoType and any implementations of UserType) cannot bind value in StoredProcedureQuery - * [HHH-12668] - support for persistence_2_2.xsd and orm_2_2.xsd - * [HHH-12671] - INSERT time in-db generated properties not persisted with IDENTITY insert - * [HHH-12684] - Hibernate fails when mapping one-to-many collections by non-primary key - * [HHH-12685] - java.lang.ClassCastException when checking if parameter isBound in criteria query - * [HHH-12687] - ManyToOne associations in embeddable collection elements and composite IDs are always eagerly loaded - * [HHH-12688] - Duplicated Error Information Displayed in the Log - * [HHH-12691] - Code block is broken in documentation about AUTO flushing - * [HHH-12697] - Headings problem in Hibernate Documentation 5.3.1 - Proxool configuration - * [HHH-12698] - Headings problem in Hibernate Documentation 5.3.1 - Transation Patterns - * [HHH-12700] - Missing property in sample code in documentation of bulk-id strategies - * [HHH-12715] - Error in documentation sample code about JPQL and HQL - * [HHH-12724] - Add javax.activation as a dependency - * [HHH-12729] - Binary and behavioral incompatibilities of org.hibernate.Query.getFirstResult(), setFirstResult(), getMaxResults(), setMaxResults() - * [HHH-12731] - TOC hidden in the generated Asciidoctor docs - * [HHH-12732] - Don't generate auxiliary HTML files in the documentation - * [HHH-12738] - Session/EntityManager is closed in ForeignGenerator (JTA setup) - * [HHH-12739] - CLONE - AssertionFailure: Fail to process type argument in a generic declaration - * [HHH-12754] - *EqualsHashCodeTest, UnspecifiedEnumTypeTest fail with DB2, SQL Server, Sybase and Oracle - * [HHH-12755] - RevisionConstraintQuery.testRevisionsLtQuery fails with PostgreSQL 10.1 and EnterpriseDB 10.1 - * [HHH-12757] - EntityMapCompositeElementTest fail with oracle - * [HHH-12764] - IdClassReferenceIdentifierTest fail with Oracle - * [HHH-12765] - LazyInitializationWithoutInlineDirtyTrackingTest fails with SQL Server - * [HHH-12767] - Fix tests failing on Oracle - -** New Feature - * [HHH-12662] - JPQL queries fail when using the Java attribute type which has an associated AttributeConverter (only the DB column type works) - -** Task - * [HHH-12348] - Hibernate ORM Document user guide, architecture of Hibernate class is out of date - * [HHH-12637] - Add more tests and improve fix for HHH-12592 - * [HHH-12658] - Upgrade to Gradle 4.7 - * [HHH-12659] - Configure ForbiddenAPIs for JDK10 as intended target compatibility - * [HHH-12663] - Avoid depending on any SNAPSHOT dependency - * [HHH-12674] - Upgrade to Gradle 4.8 - * [HHH-12677] - Update javadoc API links from EE7 to EE8 - * [HHH-12689] - Upgrade to Gradle WildFly build tools 0.0.9 - * [HHH-12692] - Modify SessionImpl.toString to be quiet by default and verbose when trace is enabled - * [HHH-12694] - Upgrade to Hibernate Commons Annotations 5.0.4.Final - * [HHH-12701] - Upgrade to Jandex 2.0.5.Final - * [HHH-12743] - Cleaning ProviderChecker from some deprecated and dead code - * [HHH-12744] - Remove no longer necessary jboss-deployment-structure.xml from integration tests - * [HHH-12758] - Arquillian JVM configuration for integration tests is ignoring system properties - * [HHH-12759] - Upgrade integration tests to WildFly 13.0.0.Final - * [HHH-12760] - Remove no longer needed EqualsHelper and cleanup some equality checks - * [HHH-12766] - Upgrading to Byteman 4.0.3 - -** Improvement - * [HHH-11495] - Cache MetaModel#getImplementors() results - * [HHH-12341] - Documentation refers to nonexistent "image clob" - * [HHH-12350] - User Guide documentation for @Any is too verbose - * [HHH-12351] - User Guide: document why Subselect always requires Synchronize - * [HHH-12604] - Replace EqualsHelper.equals with Objects.equals - * [HHH-12630] - Add error logging to org.hibernate.cache.spi.AbstractRegionFactory.start(SessionFactoryOptions, Map) - * [HHH-12654] - Throw MappingException if both @Inheritance and @AttributeOverride are used - * [HHH-12656] - Document how contributors can run tests on different databases - * [HHH-12670] - Allows native SQL queries that take a given resultClass to map the result set to the required type - * [HHH-12686] - Replace EmptyIterator with Collections.emptyIterator() - * [HHH-12699] - Performance issue in ResultSetWrapperProxy.locateCorrespondingColumnIndexMethod() line 137 due to repeated use of Class.getMethod(String, Class[]) reflection call - * [HHH-12702] - Make JCacheRegionFactory easier to subclass - * [HHH-12710] - BaseCoreFunctionalTestCase opens an InputStream for mapping files but never closes it - * [HHH-12716] - Sample code is required for documentation of disabling polymorphism in queries - * [HHH-12723] - Revert the changes applied by HHH-12585 to the DefaultFlushEntityEventListener#invokeInterceptor() method - * [HHH-12725] - Upgrade the Asciidoctor plugin to 1.5.7 for JDK 9 compatibility - * [HHH-12727] - Performance issue in ResourceRegistryStandardImpl.register lines 67, 70 - * [HHH-12734] - StrategySelectorImpl - Add original exception when selected strategy could not be loaded - * [HHH-12741] - Register new reserved words added in MySQL 8.0 - * [HHH-12749] - Avoid setting the isolation level to the same value in C3P0ConnectionProvider - * [HHH-12769] - Rework LockTest#testContendedPessimisticLock so that it can work on Oracle without throwing exceptions - - - -Changes in 5.3.1.final (May 25, 2018) ------------------------------------------------------------------------------------------------------------------------- - -https://hibernate.atlassian.net/projects/HHH/versions/31673/tab/release-report-done - -** Bug - * [HHH-12569] - Referential integrity violation on insert when using @OneToOne with @JoinColumn with hibernate.order_inserts=true - * [HHH-12577] - Warning log appears on an AttributeConverter - * [HHH-12579] - Bytecode enhancement with Generics on @MappedSuperclass crashes bootstrapping while using Bytebuddy - * [HHH-12581] - NPE for Criteria query containing fetch join as a regression of HHH-12338 - * [HHH-12584] - Bytebuddy ReflectionOptimizer does not work with abstract class - * [HHH-12586] - Strange date type confusion in JdbcDateTypeDescriptor - * [HHH-12587] - Flushing enhanced entity with @Cache(usage = CacheConcurrencyStrategy.NONE) fails - * [HHH-12592] - Merge of detached, enhanced entity with orphanRemoval = true collection fails since 5.2.13 - * [HHH-12599] - Add Javadoc indicating that region names do not include a prefix - * [HHH-12602] - Bytecode Enhancement documentation refers to removed property hibernate.ejb.use_class_enhancer - * [HHH-12612] - TYPE_USE annotated collections and elements fail metamodel generation. - * [HHH-12614] - Protection domain ignored when enhancing+loading classes with ByteBuddy - * [HHH-12617] - Caching log message prints null rather than class name. - * [HHH-12620] - Update JBossStandAloneJtaPlatform to use org.wildfly.transaction.client.* TM/UT - * [HHH-12621] - Thread-unsafe behavior of Query Spaces in Named Queries - * [HHH-12622] - JdbcResourceLocalTransactionCoordinatorImpl#markRollbackOnly should be ignored if there is no TX - * [HHH-12627] - Caching debug log error: java.util.MissingFormatArgumentException: Format specifier '%s' - * [HHH-12631] - Fix invalid tracev calls in DefaultResolveNaturalIdEventListener - * [HHH-12634] - Make EntityPrinter more permissive regarding the parameters passed - -** Task - * [HHH-12575] - Upgrade to Classmate 1.3.4 - * [HHH-12576] - Upgrade to jboss-transaction-api 1.1.1.Final - * [HHH-12580] - The WildFly module of ByteBuddy should be marked as private API - * [HHH-12583] - Deprecate hibernate.proc.param_null_passing setting - * [HHH-12610] - Upgrade to Byte Buddy 1.8.11 to improve JDK compatibility - -** Improvement - * [HHH-12559] - Add support for MySQL 8 SKIP LOCKED and NOWAIT - * [HHH-12572] - Exclude LockMode.WRITE from loader creation loop - * [HHH-12585] - Improve DefaultFlushEntityEventListener#invokeInterceptor method execution - * [HHH-12589] - Add support for registering custom SQL functions when bootstrapping via JPA - * [HHH-12591] - Remove second call to Scope#setSessionFactory(SessionFactoryImplementor) from TypeConfiguration#scope(SessionFactoryImplementor,BootstrapContext) - * [HHH-12605] - Boxed variables never null - * [HHH-12606] - Container contents are never accessed - * [HHH-12615] - Make AbstractEntityPersister#getLoaderByLockMode() and a few others protected final - * [HHH-12616] - Clarify ambiguity in License name - * [HHH-12618] - ByteBuddy enhancement - Use MethodHandle lookup if available - * [HHH-12626] - Avoid high CPU contention by not allocating Session UUIDs eagerly - * [HHH-12629] - Make some methods protected in DefaultLoadListener - * [HHH-12636] - Upgrade to ByteBuddy 1.8.12 to fix issue with entities having no package - - - -Changes in 5.3.0.Final (May 14, 2018) ------------------------------------------------------------------------------------------------------------------------- - -https://hibernate.atlassian.net/projects/HHH/versions/31661/tab/release-report-done - -** Bug - * [HHH-8786] - find, refresh, lock should throw LockTimeoutException or PessimisticLockException when lock problems occur - * [HHH-10435] - ClassLoaderServiceImpl is getting a Permission check failed "createClassLoader" when run under Java security manager - * [HHH-11859] - Class annotated with @Audited (withModifiedFlag = true) is giving error when executing update. - * [HHH-12011] - Field annotated with target TYPE_USE break metamodel generation - * [HHH-12090] - PropertyAccessBuildingException: Could not locate setter for property named XXX for Java 8 default methods - * [HHH-12199] - Static fields should be ignored when resolving property type via reflection - * [HHH-12362] - Allow both SQL query hints and comments - * [HHH-12470] - Batching statements fails for delete - * [HHH-12517] - Incorrect method references in @deprecated elements of the Query javadoc - * [HHH-12529] - Some StatisticsImpl methods throw an exception instead of returning null - * [HHH-12534] - SAP HANA dialects use unqualified dummy table in queries - * [HHH-12535] - SAP HANA dialect doesn't support circular cascade delete constraints - * [HHH-12539] - NPE in AbstractPropertyMapping.getCommonPersistentClass when creating UnionSubclassEntityPersister for dynamic-map - * [HHH-12540] - Reusing same EntityTransaction with JTA enabled - * [HHH-12546] - locate function doesn't work on SAP HANA - * [HHH-12565] - Can't use TYPE function on leaf subtype of a table per class inheritance hierarchy - -** New Feature - * [HHH-12505] - Option to disable scanning of entity mapping metadata - -** Task - * [HHH-12316] - Document usage of the new Feature Packs - * [HHH-12503] - Finalize 5.3 Migration Guide - * [HHH-12519] - Use Forbidden APIs library (Gradle plugin) to check our use of APIs - * [HHH-12527] - Verify that all binary compatibility breaks between 5.1 and 5.3 are accounted for - * [HHH-12530] - Add processing of unknown hints - * [HHH-12545] - ByteBuddy based enhancer not accepting special character in description names - * [HHH-12554] - Make ByteBuddy EnhancerImpl more closely match the semantics described in Enhancer javadoc - * [HHH-12562] - Remove DefaultSchemaNameResolver#delegate since the value should not be cached - -** Improvement - * [HHH-12463] - Delegate CustomType#equals/hashCode to wrapped UserType - * [HHH-12472] - WildFly (IronJacamar) - EntityManager#find with roll-back-only leads to exception rather than return null - * [HHH-12537] - Query hint test for SAP HANA - * [HHH-12541] - Test for SAP HANA calculation views - * [HHH-12544] - Add jipijapa hook to plug in specialized caching and transaction services - * [HHH-12556] - Share data structures between similar LoadPlan based EntityLoaders - * [HHH-12558] - Lazy load EntityLoaders to improve memory usage - * [HHH-12560] - Make sure only one Service registration (initiator/provided) exists per role - * [HHH-12570] - MariaDB 10.3 adds support for lock timeouts via WAIT plus NOWAIT - - - -Changes in 5.3.0.CR2 (April 27, 2018) ------------------------------------------------------------------------------------------------------------------------- - -https://hibernate.atlassian.net/projects/HHH/versions/31640/tab/release-report-done - -** Bug - * [HHH-3813] - Automatic flush to the join table before a criteria query - * [HHH-3930] - one-to-one causes redundant select query - * [HHH-7119] - Hibernate filter's parameters are not populated when an entity's Collection is populated using a fetch mode of subselect. - * [HHH-7809] - ehcache region factory should set a name for the CacheManager - * [HHH-8382] - Oracle ORA-24816 - Issue HH4635 solved for annotation, not for hbm version - * [HHH-8944] - ColumnTransformer handling is too aggressive in qualifying "column names" - * [HHH-9186] - ORM wrongly assumes that an element of a set has a primary key - * [HHH-9460] - Removing non-optional bidirectional @OneToOne association with cascade - * [HHH-10333] - Schema validation: incorrect use of schema and catalog filters - * [HHH-10667] - Envers cannot support @IdClass referencing foreign entity identifier - * [HHH-11286] - Schema-validation fails with Oracle - * [HHH-11440] - In hibernate 5.2.4 hbm2ddl.auto=validate does not work with oracle - * [HHH-11544] - Joins over type variable defined relations is non-deterministic - * [HHH-11766] - Accessing lazy basic property on entity loaded from 2nd level cache throws exception - * [HHH-11867] - @UpdateTimestamp not working with @Inheritance( strategy = JOINED ) - * [HHH-11901] - Map with null values cannot be audited - * [HHH-11924] - ElementCollection ignore converter for XML mapping - * [HHH-11981] - Association query causes QueryException: Named parameter [revision] not set. - * [HHH-12059] - hibernate.hbm2ddl.auto=update stopped working in Oracle since 5.1.4 - * [HHH-12092] - Bad PrimitiveCharacterArrayNClobType INSTANCE typo - * [HHH-12166] - AbstractCompositionAttribute#getAttributes throws NPE for nested CompositeCustomType - * [HHH-12221] - Incorrect formatting of SQL statement on logging when entities/tables or fields/columns named like keywords (e.g. "group" or "order"). - * [HHH-12225] - NullPointerException When Using type() in HQL - * [HHH-12226] - ObjectNotFoundException thrown when @NotFound(action = NotFoundAction.IGNORE) used with enhancement - * [HHH-12230] - SelectCase does not work when simultaneously exists in select and group by sections - * [HHH-12257] - Refreshing an entity clears the lock mode returned from EntityManager.getLockMode - * [HHH-12260] - Detach of entity with lazy-loaded collection and orphan removal leads to exception during flush of session - * [HHH-12273] - Load Proxy by its identifier should consider the Session UUID - * [HHH-12285] - DB connection exception on rollback causes connection leak - * [HHH-12290] - Failure with JPQL positional queries with collection parameter (IN statement for example) - * [HHH-12292] - QueryParameterBindingValidator does not allow null values in Object arrays - * [HHH-12297] - Relations are not loaded when using Fetch Profiles - * [HHH-12304] - MappingException occurs when a custom enum type is applied to an audited property. - * [HHH-12306] - Fix org.hibernate.envers.test.integration.manytomany.MappedByEmbeddableAttributeTest on HANA - * [HHH-12313] - org.hibernate.jpa.test.transaction.TransactionCommitFailureTest fails on HANA - * [HHH-12314] - CriteriaAPI - Cannot use a not clause on a join, with explicit "on" argument - * [HHH-12332] - 5.2.14 regression: NullPointerException in AbstractPropertyMapping.getSuperCollection - * [HHH-12352] - The new ByteBuddy module for WildFly 12 is not working on JDK9 - * [HHH-12355] - Insert fails on one-to-one mapping when an intermediate embeddable type is between mappings when using ordered inserts. - * [HHH-12357] - NamingHelper uses system default encoding - * [HHH-12369] - Integer overflow in limit handlers when firstResult used with maxResults=Integer.MAX_VALUE on DB2 - * [HHH-12370] - Lazily-initialized byte[] LOB gets turned into a String, resulting in poor performance - * [HHH-12374] - Order inserts sorting code gives up too soon - * [HHH-12375] - 5.2.15 regression: 'could not resolve property: attributes of: org.hibernate.test.inheritance.discriminator.JoinedInheritanceTest$BaseEntity' with FetchType.EAGER - * [HHH-12379] - Add support for persistence_2_2.xsd and orm_2_2.xsd - * [HHH-12380] - Stackoverflow when order_inserts=true - * [HHH-12383] - JoinedSubclassEntityPersister throws ClassCastException for AnyType - * [HHH-12387] - Immutable entities can be updated via bulk update queries - * [HHH-12388] - User Guide and Javadoc typo fixes - * [HHH-12389] - Remove usage of javax.script.ScriptEngine from org.hibernate.test.bytecode.enhancement.access.MixedAccessTest - * [HHH-12391] - calls to EntityTransaction.rollback() should be ignored if the LogicalConnection.physicalConnection is null or the LogicalConnection.physicalConnection.getAutoCommit() returns true - * [HHH-12392] - Caching SchemaResolver delegate with multiple data sources - * [HHH-12397] - org.hibernate.jpa.test.query.QueryTest fails with TImeoutException - * [HHH-12410] - Cannot use AttributeConverter with spatial types - * [HHH-12412] - QueryException Thrown on Abstract Property of Abstract Class - * [HHH-12423] - SecondaryTable is not taking into account the schema while mapping the entity - * [HHH-12427] - Prevent classloader leak in ByteBuddy based BasicProxyFactoryImpl - * [HHH-12439] - Merging of new entities can fail depending on cascade order - * [HHH-12448] - Possible memory leak in Envers due to Narayana Transaction Reaper - * [HHH-12451] - Hibernate CurrencyType info is not correct in the table - * [HHH-12464] - NPE upon insert & delete with identity generated id - * [HHH-12473] - EntityManager.close() should throw an ISE if called on already closed EntityManager - * [HHH-12479] - Document the converted:: prefix for HBM type mappings - * [HHH-12487] - Calling getTransaction() on a closed Session should not throw ISE - * [HHH-12498] - Audit entity with composite-key association to non-audit entity leads to NullPointerException - * [HHH-12507] - InsertOrderingWithCompositeTypeAssociation test fails on Oracle due to reserved word - * [HHH-12508] - SessionFactoryOptions#isSecondLevelCacheEnabled returns true by default with NoCachingRegionFactory - -** New Feature - * [HHH-8058] - Querying property-level revisions - * [HHH-11769] - New MariaDB Dialect for MariaDB >= v10.1 - * [HHH-11790] - Support for DB2 spatial extender - * [HHH-12315] - Publish WildFly Feature Packs rather than a zip file of modules - * [HHH-12417] - default strategy based on registrations with StrategySelector - * [HHH-12424] - Fix unintended binary compatibility breaks between 5.1 and 5.3 - -** Task - * [HHH-12317] - Move module path of the new Feature packs to org.hibernate.orm - * [HHH-12321] - Separate the Wildfly module for ByteByddy to make it private API - * [HHH-12327] - Fix MapProxyTool not to depend directly on Javassist, allowing for BytecodeProvider agonostic support - * [HHH-12328] - ByteBuddyInterceptor#intercept should not wrap Exception types - * [HHH-12334] - ASTUtil improvements in Map usage - * [HHH-12335] - StrategySelectorImpl can avoid some unnecessary String formatting during bootstrap - * [HHH-12336] - Avoid unnecessary invocations of fillInStackTrace() in the tests - * [HHH-12339] - Optimise TypeNames for memory consumption: avoid autoboxing - * [HHH-12340] - BasicTypeRegistry would benefit from string interning - * [HHH-12342] - Upgrade to Byteman 4.0.1 - * [HHH-12343] - Upgrade to WildFly 12.0.0.Final for integration tests - * [HHH-12344] - Upgrade to JBoss Logging 3.3.2.Final - * [HHH-12358] - Upgrade Agroal dependency to 0.4 - * [HHH-12366] - Enable EE8 preview mode on WildFly 12 for integration tests - * [HHH-12367] - Create a separate JBoss Module for Hibernate Envers - * [HHH-12382] - TypeTest is creating a Proxy which is not necessary - * [HHH-12406] - Add a test for HHH-11440 - * [HHH-12455] - WildFly provisioning build helpers should not implicitly change repository configurations - * [HHH-12474] - Make sure the JPA version is defined by a single property across build files - * [HHH-12475] - Remove unnecessary dependencies from gradle build. - * [HHH-12477] - Javassist no longer needed in the JBoss Module for Hibernate Envers - * [HHH-12478] - Upgrade to Mockito 2.18.0 to improve memory utilization of tests - * [HHH-12501] - Fallback implementation for BytecodeProvider should match the default - * [HHH-12509] - Reduce memory usage of PreparedStatementSpyConnectionProvider - * [HHH-12510] - Upgrade PostgreSQL driver - -** Improvement - * [HHH-7555] - Ability to query only for @Revision object without instantion of entities. - * [HHH-11253] - Make Byte Buddy BytecodeProvider impl the default - * [HHH-11356] - Adjust the 2nd-Cache SPIs to better reflect supported uses - * [HHH-11528] - Rename hibernate-modules to better represent their nature of feature pack - * [HHH-11953] - Disallow dynamic creation JCache Cache instances - * [HHH-12296] - Upgrade to Byte Buddy 1.7.10 to support JDK10 - * [HHH-12302] - Schema creation uses non-unicode string types on SAP HANA - * [HHH-12323] - Update Statistics API and SPI based on changes to 2nd level caching changes - * [HHH-12331] - Avoid swallowed instances of PropertyNotFoundException - * [HHH-12346] - Replace StringHelper#join by Java's String#join - * [HHH-12364] - ElementCollectionMapTest contains unnecessary MapKeyJoinColumn - * [HHH-12365] - User Guide: call_key should change to call_timestamp_epoch - * [HHH-12373] - Better document AuditReader#getEntityName() as throwing an exception rather than it returning null. - * [HHH-12376] - Apply some ThreadLocal optimisations made possible by new Java 8 API - * [HHH-12378] - JDK 9 support: Remove javax.annotation.Generated import - * [HHH-12384] - Have proxies generated by ByteBuddy to conform to legacy naming strategies - * [HHH-12398] - Upgrade to Byte Buddy 1.8.0 to support JDK10 and preliminary support for JDK11 - * [HHH-12399] - Re-introduce Environment#jvmHasTimestampBug as deprecated method - * [HHH-12415] - Update Gradle wrapper to Gradle 4.6 - * [HHH-12419] - Incorrect batch inserts example - * [HHH-12426] - SAP HANA spatial dialect should support all SAP HANA spatial functions - * [HHH-12432] - Upgrade to Hibernate Commons Annotations 5.0.3.Final - * [HHH-12440] - Manage the SessionFactory's UUID on SessionFactoryOptions - wider availability - * [HHH-12443] - Introduce TypeConfiguration - * [HHH-12444] - Introduce BootstrapContext - * [HHH-12454] - Offer flag to consider id generator with local scope (legacy non JPA behavior) - * [HHH-12467] - ByteBuddy TypeCache stale entries should be cleared to avoid (weak) references to application classloader - * [HHH-12471] - Avoid using a TypeCache in the ByteBuddy BytecodeProvider - * [HHH-12481] - Reduce the visibility of internal implementations of Callback - * [HHH-12482] - Avoid logging overhead within CallbackBuilderLegacyImpl loops - * [HHH-12484] - Improved error output for LazyInitializationException to include entity-related info - * [HHH-12485] - MetamodelImpl throws exceptions unnecessarily since it could cache failed imports - * [HHH-12486] - SessionFactoryHelper#findEntityPersisterByName unnecessarily tries to find entity persisters via a method that causes MappingExceptions - * [HHH-12491] - Document the usage of the maven-compiler-plugin for hibernate-jpamodelgen - * [HHH-12493] - Further reduce allocations of ByteBuddy engines - * [HHH-12511] - Make ASTPrinter threadsafe and have code reuse their instances - * [HHH-12514] - Avoid repeated creations of costly Xsd definitions and definition lookups - * [HHH-12515] - LocalXsdResolver should attempt local resource loading before attempting it via URL - * [HHH-12521] - Take advantage of Java 8 improvements to optimise Statistics - * [HHH-12523] - Invoke CacheTransactionSynchronization.transactionCompleting - * [HHH-12524] - Rename JBoss modules from hibernate-core-jbossmodules to hibernate-orm-jbossmodules - * [HHH-12525] - Allow JBoss module definition to eventually import an Infinispan 2LC module - * [HHH-12526] - WildFly integration tests no longer need to override the Javassist module - -** Deprecation - * [HHH-12441] - Port hibernate-ehcache to the new caching SPI, but deprecate - - - -Changes in 5.3.0.CR1 (February 15, 2018) ------------------------------------------------------------------------------------------------------------------------- - -https://hibernate.atlassian.net/projects/HHH/versions/31633/tab/release-report-done - -** Bug - * [HHH-8916] - SQLServer2005LimitHandler bind top parameter to wrong position - * [HHH-10961] - Update address of Free Software Foundation - * [HHH-12114] - Union-select aliases not injected before "clazz_" conditions in HQL query - * [HHH-12141] - SQL insert in stateless session causes javax.persistence.TransactionRequiredException - * [HHH-12271] - SchemaDropperImpl does not drop constraints with IF EXISTS - * [HHH-12286] - Update Vibur dependency from 21.3 to 22.0 - * [HHH-12289] - One call of the SessionImpl#listeners( ) method from SessionImpl#autoFlushIfRequired() is useless. - * [HHH-12294] - Regression after fixing HHH-12064 - -** Task - * [HHH-12293] - Upgrade to Hibernate Commons Annotations 5.0.2.Final - -** Improvement - * [HHH-12236] - Document 5.3 changes - * [HHH-12280] - Resolve {alias} in @Formula like Restrictions.sqlRestriction() - * [HHH-12282] - Allow disabling of invalidation of second-level cache entries for multi-table entities - - - - -Changes in 5.3.0.Beta2 (February 1, 2018) ------------------------------------------------------------------------------------------------------------------------- - -https://hibernate.atlassian.net/projects/HHH/versions/31621/tab/release-report-done - -** Bug - * [HHH-1268] - Unidirection OneToMany causes duplicate key entry violation when removing from list - * [HHH-11587] - Reordering items in List throws a constraint violation - * [HHH-11845] - Warn user when multiple persistence-units use the same name - * [HHH-12107] - ClassCastException when using L2Cache with "structured_cache"=true - * [HHH-12227] - {h-schema} tag is not replaced in @Formula - * [HHH-12238] - aliasToBean throws confusing ClassCastException if class lacks setters - * [HHH-12240] - mapped attribute link to the attribute in the embeddable attribute in the referenced entity is not supported - * [HHH-12241] - BinderHelper:644 logdebugf FAILS - * [HHH-12244] - The validation-api in libraries.gradle should be 2.0.1.Final, not 1.1.0.Final - * [HHH-12245] - The metamodel generator does not handle primitive types very well - * [HHH-12246] - Gradle build fails with Java 9 - * [HHH-12249] - Wrong format in debug message of CollectionBinder - * [HHH-12256] - org.hibernate.test.lazyload.JtaLazyLoadingTest is not using JTA - * [HHH-12266] - The release task does not upload the documentation - -** New Feature - * [HHH-12252] - New module for Agroal connection pool integration - * [HHH-12264] - Updated Vibur dependency from 21.2 to 21.3 - -** Task - * [HHH-12172] - Move to BinTray for publishing artifacts - * [HHH-12231] - Use the org.wildfly.build.provision Gradle plugin to fetch WildFly instances for integration testing - * [HHH-12250] - Avoid WildFly thin servers as they require Maven settings - * [HHH-12267] - Update migration guide to cover Generators name scope changes - -** Improvement - * [HHH-11571] - Please update Hibernate with awareness of WebSphere Liberty transaction manager - * [HHH-12034] - According to JPA, a Proxy should be loaded even when accessing the identifier - * [HHH-12258] - Make credentials masking consistent - - - - - -Changes in 5.3.0.Beta1 (January 17, 2018) ------------------------------------------------------------------------------------------------------------------------- -https://hibernate.atlassian.net/projects/HHH/versions/31612/tab/release-report-all-issues - -** Sub-task - * [HHH-12133] - Create ManagedBeanRegistry and ManagedBean - * [HHH-12134] - Convert entity listener CDI support to use ManagedBean/MenagedBeanRepository - * [HHH-12135] - Support for AttributeConverters as CDI beans - -** Bug - * [HHH-1830] - Error during parse query on MS SQL - * [HHH-9965] - Pagination ignored on collection fetch join: Add the ability to throw an exception instead of loggin a warn - * [HHH-10575] - MapKeyColumn on Map<> association causes Insert constraint violation - * [HHH-11366] - Problem with Pax exam and injection - * [HHH-11913] - Schema generation ignores index DESC/ASC order - * [HHH-12075] - SQLQuery.executeUpdate() ignores SQLQuery.setTimeout() - * [HHH-12096] - Problem finding correlated getter-method for field access - * [HHH-12097] - EntityManagerFactory open/closed checks per JPA spec - * [HHH-12099] - Query#getLockMode ought to throw exception for non-SELECT - * [HHH-12106] - Database name not quoted at schema update - * [HHH-12116] - Positional parameters report position as name - * [HHH-12122] - Checking @OrderBy for special cases should perform case-insensitive checking - * [HHH-12125] - Support @GeneratedValue without explicit generator definition - * [HHH-12129] - Fix expected exceptions on various Query methods - * [HHH-12136] - Various improvements for ProcedureCall/StoredProcedureQuery - * [HHH-12150] - @MapKeyColumn referring to otherwise non-mapped column - * [HHH-12157] - TableGenerator defined on one class is not visible on another - * [HHH-12171] - Fix tests for hibernate-orm-modules - * [HHH-12173] - The new org.hibernate.resource.beans.spi.ExtendedBeanManager breaks compatibility with implementations of org.hibernate.jpa.event.spi.jpa.ExtendedBeanManager - * [HHH-12175] - ParameterParser doesn't handle JPA positional parameters correctly - * [HHH-12203] - NUMERIC column type is not handled correctly on HANA - * [HHH-12212] - Derived Identifiers component column size not applied - -** New Feature - * [HHH-10294] - EntityGraph improvement: For each jpa attribute, generate also a String constant holding the attribute field name - * [HHH-10541] - Create Vibur DBCP connection pool module - * [HHH-12147] - Add support for JPA2.2 @TableGenerators and @SequenceGenerators - * [HHH-12148] - Add setting indicating if the value stored in the table used by the @TableGenerator is the last value generated or the next value to be used. - -** Task - * [HHH-12098] - Prep for 5.3 - * [HHH-12117] - Make sure Hibernate returns null on failed attempt to create EMF - * [HHH-12155] - Update documentation regarding limitation of defining caching on just root entity - * [HHH-12167] - Add matrix testing configuration for HANA database - * [HHH-12176] - Relax the checkstyle requirement for file headers. - * [HHH-12177] - Drop hibernate-infinispan module - relocated - * [HHH-12183] - Upgrade Gradle to work with JDK 9.0.1. - * [HHH-12211] - Test failure on MariaDB when the database charset is configured to UTF8 - -** Improvement - * [HHH-9641] - Resume uploading Javadoc JARs to Maven - * [HHH-11019] - Extend DelayedPostInsertIdentifier support to include checks for FlushMode (EXTENDED PC) - * [HHH-11798] - Provide method for overriding delete statement in GlobalTemporaryTableBulkIdStrategy - * [HHH-12095] - MavenEnhancePlugin causes compile phase run twice - * [HHH-12131] - Small memory improvement when parsing / transforming UUID - * [HHH-12139] - Allow Hibernate's Transaction act like JPA's EntityTransaction - * [HHH-12146] - Support enabling caching at any level within a mapped hierarchy - * [HHH-12164] - Upgrade the version of Hibernate Validator used for testing - * [HHH-12185] - Simplify SessionFactoryBuilder / SessionFactoryOptions handling - * [HHH-12187] - Drop custom javadoc css - * [HHH-12188] - Add Java 9 automatic module name hinting - * [HHH-12189] - Only call setAccessible() when member is not accessible - * [HHH-12190] - General tidying of Gradle scripts - * [HHH-12191] - Add Travis CI support - * [HHH-12216] - Improve logging for when Hibernate throws the "illegally attempted to associate a proxy with two open Sessions" Exception - -** Deprecation - * [HHH-12194] - Deprecate Environment-scoped settings - -** Remove Feature - * [HHH-12101] - Remove support for legacy HQL-style positional parameters - * [HHH-12110] - IllegalStateException should be thrown for some methods when called on a closed EntityManager - * [HHH-12118] - Removing handling of old JVM_HAS_TIMESTAMP_BUG - - - -Changes in 5.2.12.Final (October 19, 2017) ------------------------------------------------------------------------------------------------------------------------- -https://hibernate.atlassian.net/projects/HHH/versions/31000 - -** Bug - * [HHH-3870] - Hibernate proxies Groovy's getMetaClass method breaking proxies when used with Groovy - * [HHH-7842] - Hibernate Criteria does not respect fetch mode, when alias is used - * [HHH-11615] - Envers integration tests fail when WildFly security manager is enabled - * [HHH-11640] - NamedQuery doesn't log comment when UPDATE/DELETE - * [HHH-11651] - unwrapping errors in multiple classes - * [HHH-11656] - Optimistic Locking with HANA Dialect results in invalid SQL syntax. - * [HHH-11732] - HHH000352: in StatelessSession on rollback with JDBC batch - * [HHH-11816] - JoinProcessor considers table names with colons dynamic filter parameters - * [HHH-11838] - Id retrieving from proxy with FK leads to query execution - * [HHH-11863] - Implement REF_CURSOR support for StoredProcedureQuery.getOutputParameterValue(4); - * [HHH-11965] - Using unproxy in getter does not work properly - * [HHH-11969] - hibernate-spatial requires old 9.4-1200-jdbc41 dependency - * [HHH-11970] - Use of @NotFound(IGNORE) and @BatchSize when there are unresolved foreign key values results in extra queries - * [HHH-11971] - QueryParameterBindingValidator does not handle primitive types - * [HHH-11980] - MultiTenantConnectionProvider is required for MultiTenancyStrategy.DISCRIMINATOR - * [HHH-11988] - Envers creates unnecessary audit records for unchanged BigDecimal values - * [HHH-11996] - order_inserts causing constraint violation - * [HHH-11997] - EntityManager.createNamedQuery throwing illegalstateexception - * [HHH-12018] - NonUniqueObjectException when trying to update audited ElementCollection - * [HHH-12022] - hibernate-spatial adds org.slf4j:slf4j-simple:jar:1.7.7:runtime dependency - -** New Feature - * [HHH-6382] - Support OnDelete=OnDeleteAction.CASCADE for unidirectional OneToMany ( JPA ) - * [HHH-11984] - Add support for navigating between different doc versions - * [HHH-12006] - Make User Guide sections bookmark-able - * [HHH-12020] - Add SAP HANA to the list of provided dialects - * [HHH-12021] - Fix tests failing on SAP HANA - * [HHH-12033] - README.md links should use Markdown notation instead of AsciiDoc - -** Task - * [HHH-11507] - Upgrade to Gradle 4.2 - * [HHH-12001] - Allow ORM to be built with Java 9 - * [HHH-12010] - Improve documentation for computeAggregationInInstanceContext - -** Improvement - * [HHH-2897] - Adding support for use of sequence objects in DB2 V8 OS390 - * [HHH-9576] - Use JDBC bind variables for handling JPA Criteria query numeric literals - * [HHH-11999] - Envers documentation issues - * [HHH-12026] - Make sure that search icon is rendered correctly in TOC - * [HHH-12037] - Remove unused code in ArrayHelper - * [HHH-12042] - Update to latest geolatte-geom version - -** Deprecation - * [HHH-11989] - Deprecate LogicalConnectionImplementor#makeShareableCopy - -** Remove Feature - * [HHH-11906] - Add support for MySQL query optimizer hints - - -Changes in 5.2.11.Final (September 13, 2017) ------------------------------------------------------------------------------------------------------------------------- -https://hibernate.atlassian.net/projects/HHH/versions/28600/ - -** Bug - * [HHH-5933] - NoopOptimizer ignores negative allocationSize; uses default of 1 instead - * [HHH-10747] - Enhanced entity classes initialize lazy collections when loaded. - * [HHH-11283] - hibernate spatial - getSRID returning 0 - * [HHH-11374] - ConcurrentStatisticsImpl#getSecondLevelCacheStatistics() throws NPE if second level cache is not activated - * [HHH-11463] - HBM mappings generate a foreign-key even when foreign-key="none" is specified. - * [HHH-11465] - [Patch] @AttributeOverride does not work for CompositeUserType inside of @Embeddable - * [HHH-11600] - Sap HANA PreparedStatement implements CallableStatement and is treated as such by Hibernate - * [HHH-11614] - Wrong result for @Lob column with postgresql DB since 5.2.9 - * [HHH-11624] - LazyInitializationException on enhanced class for Map - * [HHH-11634] - ActionQueue#InsertActionSorter fails to generate right order - * [HHH-11635] - MySQLSkipAutoCommitTest fails when run on MariaDB - * [HHH-11642] - SQLServerException: The index 2 is out of range when executiong Spring Data findAll(Pageable) - * [HHH-11645] - HikariCP shutdown() method is deprecated, close() should be called instead - * [HHH-11646] - Incorrect search-and-replace has changed "before" to "beforeQuery" and "after" with "afterQuery" during HHH-10664 - * [HHH-11650] - Parenthesis are interpreted in WHERE conditions when using paging and SQL Server - * [HHH-11655] - SessionImpl does not load EntityPersister by entity name - * [HHH-11703] - Entity with Natural ID not being cached in the persistenceContext, causing extra queries - * [HHH-11707] - README.md claims Java 6 compatibility - * [HHH-11709] - NoopOptimizer skips negative values and 0 when it has a positive incrementSize - * [HHH-11712] - PostgreSQL does not support positive/negative initial sequence values for descending/ascending sequences unless MAXVALUE/MINVALUE is defined as well - * [HHH-11714] - Entities with InheritanceType.SINGLE_TABLE and SecondaryTable are not being saved correctly - * [HHH-11716] - @Transient annotation not respected when class defines 'get' and 'is' accessor variants - * [HHH-11718] - Fix various alerts reported by lgtm.com - * [HHH-11725] - Javadoc typo - * [HHH-11726] - PASS_DISTINCT_THROUGH hint is ignored when used in conjunction with maxResults/firstResult limiters - * [HHH-11728] - Typo in PooledConnections - * [HHH-11729] - Add clarifications in the User Guide related to how Hibernate FetchMode types translate to JPA - * [HHH-11730] - Unable to audit entity with originalId property - * [HHH-11739] - globally_quoted_identifiers_skip_column_definitions property does the opposite of what the doc describes - * [HHH-11740] - Default MultiTableBulkIdStrategy for DB2 does not work with connection pools - * [HHH-11743] - Query.stream() does not map Tuple - * [HHH-11747] - Pagination with DB2390Dialect: TypedQuery.getResultList() always returns the first "maxResults" rows of the table for each call - * [HHH-11748] - RelatedId queries against Id annotated properties result in AuditException - * [HHH-11762] - PersistenceUnitUtilImpl#getIdentifier throws MappingException for non-entity - * [HHH-11764] - JTS geometry being bound to byte array instead of PGgeometry - * [HHH-11768] - foreign key violation with order_inserts=true and cascading persist - * [HHH-11770] - Audit queries for a OneToMany that is mapped to an EmbeddedId fails. - * [HHH-11783] - Wrong comment in UpdateTimestampsCache - * [HHH-11788] - Project gitignore ignores test classes - * [HHH-11795] - Support Ant Task for Bytecode Enhancement - * [HHH-11804] - Embeddable class' name and the reference to it are different - * [HHH-11815] - @org.hibernate.annotations.Index and NullPointerException in IndexOrUniqueKeySecondPass - * [HHH-11818] - ClassCastException when binding a MaterializedNClobType value as NClob - * [HHH-11826] - ImplicitNamingStrategyComponentPathImpl generates invalid SQL for Entity with Embedded ElementCollection - * [HHH-11827] - JPA entity native query not eagerly fetching associations as suggested by documentation. - * [HHH-11830] - Shared Session memory leak via TransactionObserver reference - * [HHH-11832] - ManyToManyWithDynamicFilterTest fails on Sybase due to reserved word - * [HHH-11837] - MapsId and PrimaryKeyJoinColumn examples in the documentation should use OneToOne rather than ManyToOne - * [HHH-11841] - QueryException on map associaton when using Envers - * [HHH-11851] - BaseEnversFunctionalTestCase tests do not test against all parameterized audit strategies. - * [HHH-11864] - AutoCommit mode not reset after use by SchemaValidator - * [HHH-11868] - Documentation : Bad Hibernate type mapped to java.time.ZonedDateTime (Java 8) - * [HHH-11881] - Null Set collection elements are inserted into collection table - * [HHH-11884] - wrong class in returnedClass() in UserType example - * [HHH-11892] - Audit data not loaded for @ElementCollection - * [HHH-11897] - Fix support for Tuple results for native queries - * [HHH-11904] - EnumExplicitTypeTest test assert fails on mariadb clusters - * [HHH-11905] - AbstractLobTest Fails on Sybase - * [HHH-11910] - SchemaUpdateTest fails on databases using case-insensitive identifiers - * [HHH-11914] - SchemaUpdate.setHaltOnError(true) does nothing - * [HHH-11915] - DatabaseMetaData#getIndexInfo can return column names enclosed in quotes on PostgresPlus - * [HHH-11916] - Unnecessary initialization of lazy collection on PERSIST cascade - * [HHH-11922] - Entity with null many-to-one cannot be loaded when associated entity has composite ID with hibernate.create_empty_composites.enabled=true - * [HHH-11927] - CascadeMergeToChildBeforeParentTest should not assume the persisted entity has the id with a value of 1 - * [HHH-11928] - Empty left join fetched collection is uninitialized when collection key is composite with hibernate.create_empty_composites.enabled=true - * [HHH-11935] - Log a warning and update documentation that enabling "empty" composites is an experimental feature - * [HHH-11944] - Fix the Session related delegating classes - * [HHH-11957] - DB2 substring method needs to be exposed in DB297Dialect - * [HHH-11982] - AbstractSharedSessionContract#getInterceptor should not call checkTransactionSynchStatus() - -** New Feature - * [HHH-11907] - Add the getResultStream() default method in org.hibernate.query.Query - * [HHH-11942] - ANTLR parser should fail when providing an extra parenthesis - -** Task - * [HHH-11698] - Upgrade to Byte Buddy 1.6.14 for improved JDK9 compatibility - * [HHH-11752] - Remove reference to old types. - * [HHH-11756] - Typo in public API method name: requiresPostCommitHanding on PostInsertEventListener - * [HHH-11808] - Update migration guide and documentation - * [HHH-11878] - Minor typo in CascadeStyles.java - * [HHH-11950] - Target WildFly 11 for produced hibernate-orm-modules - -** Improvement - * [HHH-8955] - Add HSQLDialect support for trunc - * [HHH-10934] - Preventing duplicate ForeignKey generation - * [HHH-11176] - Add support for Tuple results for native queries - * [HHH-11186] - Add examples for all Hibernate annotations - * [HHH-11290] - Migrate all documentation snippets that derive the source code from extras instead of actual Unit Tests - * [HHH-11411] - Two column navigation and search box for documentation - * [HHH-11500] - Provide the cause of the error when validating @Loader named queries - * [HHH-11526] - Documentation for custom collection types - * [HHH-11546] - Add support for SAP NetWeaver Application Server as JTA Platform - * [HHH-11647] - Use ALTER TABLE IF EXISTS on Postgres - * [HHH-11750] - Fix typos in Hibernate 5.2 user guide - * [HHH-11759] - Improve deterministic nature of generated SQL of audited properties. - * [HHH-11793] - Change docs to point out that EAGER associations cannot be turn to LAZY with entity graphs - * [HHH-11820] - Do not inject CollectionTracker into entity without collection - * [HHH-11824] - Remove reflection for accessing Types.REF_CURSOR - * [HHH-11886] - Elaborate Envers documentation and switch to actual source code examples - * [HHH-11929] - Improve Performance of SQLServer2012LimitHandler.hasOrderBy() - * [HHH-11934] - Add a protected getter for the delegate in SessionFactoryDelegatingImpl - * [HHH-11945] - Make ExceptionConverterImpl use SharedSessionContractImplementor instead of AbstractSharedSessionContract - * [HHH-11946] - Configure the Configurable services in SessionFactoryServiceRegistryImpl - * [HHH-11951] - Improve TransactionStatus javadoc - * [HHH-11956] - Add createCustomLoader() to the NativeQueryInterpreter contract - * [HHH-11962] - Unmark deprecated the NativeQuery methods and add missing covariant overrides - -** Patch - * [HHH-3924] - Use intern() to reuse strings and reduce memory usage - -** Deprecation - * [HHH-11660] - Deprecate org.hibernate.mapping.RelationalModel - * [HHH-11700] - Deprecate three org.hibernate.engine.spi.SessionFactoryImplementor methods - * [HHH-11737] - Remove dependency on legacy criteria package. - -** Remove Feature - * [HHH-11890] - Remove old docbook folder from the documentation module - * [HHH-11891] - Clarify documentation about Hibernate support for basic array types - - -Changes in 5.2.10.Final (April 14, 2017) ------------------------------------------------------------------------------------------------------------------------- -https://hibernate.atlassian.net/projects/HHH/versions/28100 - -** Bug - * [HHH-3628] - Hilo optimizer problem in case of multiple threads accessing the sequence table - * [HHH-8001] - Apply query timeouts to Oracle follow-on locking - * [HHH-9663] - Orphan removal does not work for OneToOne relations - * [HHH-10062] - ScrollableResults with join fetch reuses proxy rather than loading actual object. - * [HHH-10728] - NullPointerException when using CriteriaBuilder.selectCase with CriteriaBuilder.equal - * [HHH-11459] - Bytecode-enhanced Entity cannot be merged or refreshed - * [HHH-11557] - DB2 gets confused with numerical parameters in nullif function DB2Dialect - * [HHH-11575] - Multiple revisions are created during a single transaction with FlushMode COMMIT - * [HHH-11576] - Unloaded collections get deleted when entity is bytecode enhanced - * [HHH-11579] - Disable Query parameter validation when a Session is unwrapped from an EntityManager - * [HHH-11580] - EnversPreCollectionRemoveEventListener fails because EntityManager is closed when using JPA + JTA + Envers - * [HHH-11582] - Hibernate-Envers has incoherent behavior for modified flag when create new Entity - * [HHH-11591] - Nullable check should not be skipped for OneToOne annotated with @NotFound(action = NotFoundAction.IGNORE) - * [HHH-11592] - The Field org.hibernate.jpa.AvailableSettings.JDBC_PASSWORD is initialized with org.hibernate.cfg.AvailableSettings.JPA_JDBC_USER - * [HHH-11596] - @OneToOne association with @JoinTable ignores optional attribute - * [HHH-11601] - Fix tests failing on Oracle - * [HHH-11602] - Session close counter statistic not updated when using Hibernate in JPA mode - * [HHH-11609] - Cascade @OneToOne persist with enabled order_inserts generates statements in a wrong order - * [HHH-11612] - SINGLE_TABLE associated entity query missing restriction of DiscriminatorColumn - reverting HHH-11375 - * [HHH-11616] - Refactor org.hibernate.jpa.test.lock.LockTest - * [HHH-11617] - Statement leak in case of "SQLGrammarException: could not extract ResultSet" - * [HHH-11625] - Namespace uses physicalNamingStrategy.toPhysicalCatalogName() for schema name. - -** New Feature - * [HHH-10654] - LockOptions.SKIP_LOCKED semantics implementation on MSSQL - * [HHH-10850] - SQLServerDialect doesRepeatableReadCauseReadersToBlockWriters impelmentation - -** Improvement - * [HHH-10831] - Hibernate method to un-proxy a javassist proxy - * [HHH-11409] - Bind registered collection types using their type handler - * [HHH-11499] - Add a new DB2 dialect that uses "cross join" for cross joins instead of "," - * [HHH-11542] - Allow the auto-commit resolution to be configurable for RESOURCE_LOCAL transactions - * [HHH-11569] - Return only distinct elements when query is hinted with EntityGraph - * [HHH-11584] - Made parameter names of Restrictions#between more readable - * [HHH-11585] - Batch ordering fails for bidirectional one-to-one associations - * [HHH-11593] - Fix test issues in SQL Server - * [HHH-11598] - Use the default catalog when scanning the tables for hbm2ddl schema migration - - -Changes in 5.2.9.Final (March 16, 2017) ------------------------------------------------------------------------------------------------------------------------- -https://hibernate.atlassian.net/projects/HHH/versions/27600 - -** Bug - * [HHH-9114] - @IdClass with @MappedSuperclass results in "property not found" - * [HHH-11372] - Do not send RemoveExpiredCommands in repl/dist caches - * [HHH-11373] - Silence lock acquisition failures on remote nodes - * [HHH-11381] - In nonstrict mode, putFromLoad after evict can behave incorrectly - * [HHH-11397] - Query parameter binding validation issue - * [HHH-11470] - Schema update should not try to query sequences for Dialects not supporting them (DB2400Dialect, DerbyDialect, DB2390Dialect) - * [HHH-11477] - HQL query against field marked with @Lob fails on PostgreSQL - * [HHH-11502] - XML Mapped Entity with a ManyToOne association to a Annotation Mapped Entity -> NullPointerException - * [HHH-11503] - LimitHandler parameter binding fails on SQL Server 2012 - * [HHH-11506] - Lazy properties are not updated on bytecode-enhanced entity if not all lazy properties (e.g. collections) are initialized - * [HHH-11510] - NativeQuery#iterate throws QuerySyntaxException instead of UnsupportedOperationException - * [HHH-11511] - QuerySyntaxException when sorting by a column using a JPQL reserved keyword - * [HHH-11516] - Level two cache may not be enabled when using @Cacheable without/instead of @Cache - * [HHH-11529] - Getting NullPointerException from ScanningCoordinator debug log - * [HHH-11536] - Fix unit tests failing on Oracle - * [HHH-11538] - Redundant left outer joins in generated SQL - * [HHH-11540] - Metamodel does not include embeddable type used in type variables - * [HHH-11545] - ForeignKey definition of @CollectionTable isn't properly used - * [HHH-11547] - Misspelling in documentation - * [HHH-11549] - Unable to locate MappedSuperclass version attribute when mixing annotations with hibernate mapping files - * [HHH-11554] - Inherited interfaces are not considered when creating EntityMetamodel - * [HHH-11555] - AbstractSharedSessionContract doesn't restore ExceptionConverter after de-serialization - * [HHH-11559] - Fix tests catching exceptions without re-throwing them - * [HHH-11560] - Envers throws a MappingException for Lob + ElementCollection for non-audited properties. - * [HHH-11570] - Hibernate Envers listeners fail because EntityManager is closed when using JPA/JTA/Hibernate 5.2.8/Envers - -** Improvement - * [HHH-11089] - Naming Strategy Does not affect the user-specified index/foreign-key names - * [HHH-11143] - Log a warning if @Cache / @Cacheable specified on non-root entities - * [HHH-11473] - Refactor MySQL Dialects - * [HHH-11509] - Infomix limit handler support for offset - * [HHH-11518] - Log4DelegatingLogger slows down testsuite execution by formatting messages too eagerly - * [HHH-11530] - IdentityGeneratorExtendsTest.testIdentifierGeneratorExtendsIdentityGenerator failing on Oracle DBs - * [HHH-11551] - Forward IOException in ClassFileArchiveEntryHandler::toClassFile - * [HHH-11558] - Envers Query API throws NullPointerException when providing a non-audited entity class. - * [HHH-11563] - Avoid calling multiple times org.hibernate.mapping.Component#getComponentClass() during the PojoComponentTuplizer creation - * [HHH-11564] - ThreadLocal access in ManagedSessionContext does not need synchronization - * [HHH-11568] - Throw QueryException rather than antlr-specific exceptions when query parsing fails. - - -Changes in 5.2.8.Final (February 17, 2017) ------------------------------------------------------------------------------------------------------------------------- -https://hibernate.atlassian.net/projects/HHH/versions/27000 - -** Sub-task - * [HHH-7132] - Split Oracle spatial dialect into OGC Strict/non-strict dialects - * [HHH-11475] - Deprecate ModificationStore - -** Bug - * [HHH-10256] - ClassCastException in ResultSetReturnImpl.java:75 - * [HHH-10537] - Usage of JPQL KEY() with entity key generates inner join - * [HHH-10577] - Allow dereferencing of KEY() path - * [HHH-10930] - Need to add jta dependency for the plugin to work - * [HHH-10938] - Substantial native memory leak when bootstrapping EntityManagerFactory - * [HHH-10989] - Unidirectional one-to-many doesn't take care of many side during removal if bytecode enhancement is on - * [HHH-11161] - @LazyCollection(LazyCollectionOption.EXTRA) is not extra lazy for bytecode enhanced classes - * [HHH-11180] - JPA @ForeignKey still not consistently applied from annotation binding - * [HHH-11237] - Incorrect update occurs when updating a detached object with empty component and @SelectBeforeUpdate - * [HHH-11262] - Bulk Operations attempt to create temporary tables, but user does not have permission to create table - * [HHH-11299] - Uninitialized ManyToMany Entry is not removed when bytecode-enhanced Entity is deleted - * [HHH-11301] - Oracle Spatial Dialect non-string mode is unavailable - * [HHH-11410] - ManyToMany with Filter generates incorrect load SQL - * [HHH-11412] - EntityManager/Session setProperty should permit custom properties - * [HHH-11416] - Envers query API: cannot traverse relation if target entity is mapped with JOINED subclass mapping/Unrelated property joins do not work when target entity is Mapped with JOINED subclass mapping - * [HHH-11418] - SynonymValidationTest failure - * [HHH-11419] - QueryAndSQLTest failing on MS SQL Server - * [HHH-11425] - Karaf feature misses byte buddy dependency - * [HHH-11426] - NullPointerException in getPersistenceUnitUtil().getIdentifier() on detached enhanced entity - * [HHH-11434] - Failure in some tests causes TS to hang infinitely - * [HHH-11436] - SQLTest failure - * [HHH-11437] - Entity joins are not polymorphic - * [HHH-11438] - Inconsistencies in the documentation for bytecode enhancement - * [HHH-11455] - When "schema" attribute is set explicitly, tables are identified by schema name even when underlying database doesn't support schemas - * [HHH-11456] - SequenceHiLoGeneratorTest fails due to wrong select string on SQL Server - * [HHH-11467] - Form-feed (\f 0x0C) in generated SQL triggers exceptions in Firebird - * [HHH-11484] - Conversion from String to Locale.ROOT is not working - -** Task - * [HHH-11431] - Remove unintended deprecations on Query - * [HHH-11439] - Switch from Geronimo JTA to Narayana JTA - * [HHH-11445] - Improve Infinispan second-level cache documentation - * [HHH-11461] - Remove reference to tools class EnversSchemaGenerator - * [HHH-11468] - Update CreationTimestamp and UpdateTimestamp Javadoc - -** Improvement - * [HHH-8768] - Add support for OFFSET/FETCH pagination for SQL Server 2012 - * [HHH-11417] - Upgrade Byte Buddy to 1.6.4 - * [HHH-11420] - Update Byte Buddy to 1.6.6. and use more granular locks on type caches - * [HHH-11428] - When multiple @RequiresDialect annotation is applied the test is ignored - * [HHH-11442] - Update documentation for HHH-10858 - * [HHH-11448] - Fix tests failing on PostgreSQL - * [HHH-11450] - The testWithClause from WithClauseTest class fails on PostgreSQL - * [HHH-11453] - Documentation: explain/state find() and Query on a single entity can behave differently - * [HHH-11457] - Add MariaDB specific Dialects - * [HHH-11458] - Optimize the SQL formatter call when iterating through multiple targets - * [HHH-11482] - SUBSTRING example code suggests start position is 0-based - * [HHH-11485] - Document that the @Filter annotation only applies to query - * [HHH-11489] - Improve the documentation about upgrading WidFly with latest Hibernate ORM modules - * [HHH-11491] - Add documentation to non-temporary tables bulk-id strategies - - -Changes in 5.2.7.Final (January 19, 2017) ------------------------------------------------------------------------------------------------------------------------- -https://hibernate.atlassian.net/projects/HHH/versions/26401 - -** Bug - * [HHH-4712] - Field named "id" (but not an @Id) in a class referenced via join table leads to "Column 'col_1_1_' not found" when retrieving old versions - * [HHH-8973] - support auditing revised properties on detatched objects - * [HHH-9108] - Envers with Embeddable having a collection of other entities results in PropertyAccessException: IllegalArgumentException - * [HHH-9834] - Audit table creation fails for ElementCollection Map with CLOB/NCLOB element column - * [HHH-10183] - Mapping for NVARCHAR in SqlServer not working with native queries; org.hibernate.MappingException: No Dialect mapping for JDBC type: -9 - * [HHH-10561] - Join on treated root not rendered in HQL - * [HHH-11134] - StringIndexOutOfBoundsException in BooleanTypeDescriptor - * [HHH-11173] - Bytecode enhanced lazy collection won't load from cache - * [HHH-11202] - IllegalAccessException on Embeddable ID after serializing Getter in cache key - * [HHH-11236] - JPA hbm2ddl auto-generation creates ddl with invalid syntax for Unique Key with any MySQLDialect - * [HHH-11242] - Unable to enhance property from MappedSuperclass: class is frozen - * [HHH-11284] - Enhancer dirty tracking doesn't work with inherited entities - * [HHH-11309] - Cannot install Hibernate feature into Karaf 4.0.7 - * [HHH-11323] - Evict during concurrent update and putFromLoad can result in stale entry in 2LC - * [HHH-11350] - Intermittent failure in testEvictAll/testRemoveAll - * [HHH-11352] - Hibernate & Paging: BROKEN when a column contains the word "FROM" for SQL Server - * [HHH-11364] - Unable to populate an ElementCollection (of an embeddable type) of an audited entity when the collection has a null value for a property with JoinColumn - * [HHH-11369] - gradle tasks fail to list - * [HHH-11375] - SINGLE_TABLE associated entity query missing restriction of DiscriminatorColumn - * [HHH-11376] - Malformed SQL query sent to SQL Server with left outer join and pessimistic lock - * [HHH-11383] - Envers Query API: Cannot traverse relation of superclass with table-per-subclass mapping - * [HHH-11393] - Hibernate/JPA CriteriaQuery trim function generate wrong SQL for PostgreSQL - * [HHH-11394] - Custom WildFly modules include a duplicate dependency on Javassist - * [HHH-11400] - HHH90000016: Found use of deprecated 'collection property' issue for valid JPQL query - * [HHH-11401] - Subquery join rewrite produces wrong SQL in some cases - * [HHH-11404] - ManagedSuperclass not enhanced when extending another ManagedSuperclass - * [HHH-11407] - JPA + JDBC transaction - when a commit fails rollback is executed twice - -** Task - * [HHH-11382] - Upgrade WildFly version used for integration tests to 10.1.0.Final - -** Improvement - * [HHH-10858] - Could not find matching type descriptor for requested Java class [...]; using fallback - * [HHH-11339] - PutFromLoads in replicated/distributed caches should propagate asynchronously - * [HHH-11344] - Reduce execution time of hibernate-infinispan testsuite - * [HHH-11370] - Consider making javax.enterprise:cdi-api dependency "provided" - * [HHH-11377] - ReflectHelper#getConstantValue should consider digits as well - * [HHH-11388] - Fix documentation typos spotted by FabioUeno - * [HHH-11389] - Upgrade Byte Buddy to 1.6.0 - * [HHH-11395] - ServiceRegistry#getService(...) throws NPE when service initiator returns null - * [HHH-11408] - Fixing typos in documentation - - -Changes in 5.2.6.Final (December 20, 2016) ------------------------------------------------------------------------------------------------------------------------- -https://hibernate.atlassian.net/projects/HHH/versions/26100 - -** Bug - * [HHH-4313] - ConcurrentModificationException when collection of embeddable contains a collection - * [HHH-7940] - NullPointerException with indexed Collections - * [HHH-7949] - Mapping of modified flags for bidirectional association causes lazy loading of collections - * [HHH-10465] - Loss of precision in temporal JavaTypeDescriptor implementations - * [HHH-10623] - Persist of detached entity in derived ID - * [HHH-11183] - Mixed line endings in schema creation script - * [HHH-11241] - Missing column when executing HQL and criteria query with secondary table - * [HHH-11257] - Connection leak when SQLGrammarException is thrown - * [HHH-11274] - EntityManagerFactoryImpl.getIdentifier uses deprecated version of getIdentifier - * [HHH-11277] - SQLServerDialect does not adhere to supportsVariableLimit setting - * [HHH-11278] - setMaxResult(0) should return an empty List - * [HHH-11287] - requiresDependencyResolution must bet set in plugin.xml to include maven dependencies in enhancement classpath - * [HHH-11288] - Execution project artifacts are always empty, so dependencies are never included - * [HHH-11289] - Lazy-initializing a static Method and making accessible not thread-safe - * [HHH-11293] - Use of enhancer dirty tracking causes collections in entities to not be persisted - * [HHH-11294] - NPE in org.hibernate.jpa.internal.util.PersistenceUtilHelper.isInitialized(PersistentAttributeInterceptable) - * [HHH-11296] - Incorrect handling of NCLOB streaming - * [HHH-11304] - Invalidations are not cleared when transaction rolls back - * [HHH-11305] - @OneToOne association, Nullable check does is not skipped for @NotFound(action = NotFoundAction.IGNORE) - * [HHH-11314] - BasicHibernateAnnotationsTest.testInheritFiltersFromMappedSuperclass fails on MS SQL Server - * [HHH-11315] - EnhancerTest fails on Oracle databases - * [HHH-11316] - EnhancerTest fails on Oracle databases - * [HHH-11324] - SQLServer2005LimitHandler uncapable of handle subquery in column list - * [HHH-11328] - Persist of transient entity in derived ID that is already in merge process throws javax.persistence.EntityExistsException - * [HHH-11329] - Too long identifiers in tests in org.hibernate.test.inheritancediscriminator.embeddable package - * [HHH-11330] - Skip IdentifierGeneratorWithNaturalIdCacheTest on dialects that do not support identity columns - * [HHH-11331] - SQLLoaderTest fails on DB2 - * [HHH-11332] - QueryAndSQLTest and QueryTest failing on Sybase because null == null - * [HHH-11335] - ByteArrayIdTest and PrimitiveByteArrayIdTest failing on Oracle DBs - * [HHH-11337] - Incorrect SQL generated when use both left join with unrelated entity and implicit join to another entity in select-clause - * [HHH-11340] - Joins on Entity Joins are not rendered into SQL - -** Improvement - * [HHH-4959] - Concurrent HQL parsing blocks on ReflectHelper.classForName() - * [HHH-11265] - JCacheRegionFactory should allow for subclasses to specify CacheManager - * [HHH-11295] - Some improvements to EntityJoinTest - * [HHH-11307] - When .class cannot be loaded, throw a sensible exception instead of NPE - * [HHH-11308] - Bump c3p0 version up to support JDBC 4.2 - * [HHH-11317] - Several typos and style fixes in documentation - * [HHH-11318] - Fix Infinispan Javadoc documentation typos - * [HHH-11319] - The dirtyPropertyNames content is NOT logged properly - * [HHH-11320] - Disable EntityRegionAccessStrategyTest#testContestedPutFromLoad because of short timeout - * [HHH-11321] - ByteBuddy Enhancer throws java.lang.IllegalStateException: Cannot resolve type description for certain classes - * [HHH-11338] - Apply HHH-11194 fix to Dialect subclasses - * [HHH-11346] - Upgrade gradle to 3.2.1 + Upgrade build scan plugin to 1.3 - - -Changes in 5.2.5.Final (November 24, 2016) ------------------------------------------------------------------------------------------------------------------------- -https://hibernate.atlassian.net/projects/HHH/versions/25600 - -** Sub-task - * [HHH-2705] - optimistic-lock = "dirty" does not support detached objects - -** Bug - * [HHH-5467] - API documentation for @Fetch(SUBSELECT) is ambiguous. - * [HHH-6941] - Erroneous Javadoc for getReferencedProperty, getReferenceablePropertyIterator - * [HHH-9816] - Document exclude-unlisted-classes and hibernate.archive.autodetection in the manual - * [HHH-11083] - WrongClassException using Infinispan and sharing cache regions - * [HHH-11155] - Lazy properties are not updated if not all lazy properties (e.g. collections) are initialized - * [HHH-11194] - [Regression] SQLServerDialect no longer supports setFirstResult(n) - * [HHH-11197] - Hibernate Spatial cannot parse WKT from PostGIS - * [HHH-11205] - char is not treated as nationalized character - * [HHH-11214] - ValidityAuditStrategy not audit properly nested collection with nulls - * [HHH-11215] - NullPointerException when reading an audited entity that has a collection of embeddables with a ManyToOne to an unaudited entity. - * [HHH-11216] - @ElementCollection for enumerations is failing when enabling insert ordering - * [HHH-11217] - SessionImpl.refresh() throws IllegalArgumentException, "not an Entity" when using custom entity name - * [HHH-11226] - Hibernate cache throws NullPointerException during wildfly app server startup - * [HHH-11230] - Aggregate on (mappedBy) joined column produces invalid query - * [HHH-11232] - Session closed exception when using Envers in a JTA transaction - * [HHH-11248] - Warn user when multiple persistence-units use the same name - * [HHH-11250] - NPE occurs when using filters whose name contains a dot - * [HHH-11254] - Timestamps cache fails validation if eviction strategy = MANUAL - * [HHH-11258] - Using nested order by in a function context produces wrong sql - * [HHH-11267] - hibernate-infinispan testsuite is broken - * [HHH-11269] - JPA & JTA - Error during managed flush [Session/EntityManager is closed] on flush-time cascades - -** New Feature - * [HHH-3674] - Expose SchemaUpdate#haltOnError as a configuration property - -** Task - * [HHH-7424] - document HHH-2576 - * [HHH-11238] - Upgrade JBoss Logging Tools to 2.0.1.Final - * [HHH-11239] - Upgrade Jandex to version 2.0.3.Final - * [HHH-11240] - Upgrade Infinispan to version 8.2.4.Final - * [HHH-11268] - Changes required after upgrading to Infinispan to 8.2 - * [HHH-11270] - Upgrade to Infinispan 8.2.5.Final - * [HHH-11271] - Fix hidden failure in InfinispanRegionFactoryTestCase#testTimestampValidation - -** Improvement - * [HHH-476] - Event System documentation - * [HHH-4465] - Document @Entity.name != Hibernate entity name - * [HHH-10127] - Allow indication that converted types are immutable - * [HHH-10211] - Create Postgis9Dialect, Postgis92Dialect and Postgis94Dialect - * [HHH-11034] - Query.stream() Javadoc should specify whether the resulting Stream contains resources - * [HHH-11152] - ByteBuddy BytecodeProvider - * [HHH-11204] - Fix typo for all "occured" error message to occurred - * [HHH-11206] - Document all configurations that are not present in AvailableSettings - * [HHH-11220] - Auto-detect SQL Server 2016 when the major version is 13 - * [HHH-11221] - Add more authors to the User Guide header - * [HHH-11225] - Add CriteriaBuilder overloads for methods dealing with Collection to also deal with Map - * [HHH-11233] - JPA SQL function with no arguments can only be called if we provide a comma - * [HHH-11235] - split checkstyles into fatal and non-fatal configs - * [HHH-11245] - Usage of a closed Thread Context ClassLoader - * [HHH-11255] - @NaturalId mapping fails when using a composite natural identifier - -** Patch - * [HHH-2123] - clarification on the way interceptors and event system interact. - - -Changes in 5.2.4.Final (October 26, 2016) ------------------------------------------------------------------------------------------------------------------------- -https://hibernate.atlassian.net/projects/HHH/versions/25400 - -** Bug - * [HHH-8512] - Hibernate documentation is not clear what Java/JDBC version is required - * [HHH-9864] - foreign key violation with order_inserts=true and batches with mixed subclass entities - * [HHH-11012] - Hibernate Spatial Geometry Not Serializable - * [HHH-11050] - Gradle Enhancement Task RuntimeException: class is frozen - * [HHH-11087] - MySQL56SpatialDialect does not register geometry types causing Geometry types are not correctly deserialized - * [HHH-11107] - Audit table schema generation creates foreign key constraint to Entity table for EmbeddedId containing ManyToOne - * [HHH-11145] - SQLServer2005LimitHandler creates invalid query when quoted column uses keywords. - * [HHH-11149] - Update plugin parameters for maven enhancer plugin - * [HHH-11157] - Invalid identifiers generated in org.hibernate.engine.internal.JoinSequence - * [HHH-11159] - JPA CriteriaUpdate - NullLiteral causes IllegalArgumentException: Could not convert java type to Hibernate type - * [HHH-11166] - JPA & JTA - java.lang.IllegalStateException: Session/EntityManager is closed when EntityManager is closed with an active Transaction - * [HHH-11171] - Java 8 time types fail Externalization - * [HHH-11179] - NullPointerException on lazy load of non-existed entity outside transaction - * [HHH-11182] - HQL subquery with constraint property in superclass does not join superclass table - * [HHH-11184] - SessionFactoryDelegatingImpl.registerNamedSQLQueryDefinition call wrong delegate method - * [HHH-11188] - SessionImpl.refresh() throws IllegalArgumentException, "Entity not managed" for detached instances when JPA bootstrapped - * [HHH-11203] - UniqueConstraintGenerationTest fails on db2 - - -** New Feature - * [HHH-3771] - Best practice for equals/hashCode implementation - -** Task - * [HHH-5152] - Update Configuration chapter (chapter 3) to reflect Hibernate Annotations - * [HHH-7010] - Document mapping annotations - * [HHH-9216] - Add documentation about merging multiple detached representations of the same entity - * [HHH-10243] - document package registration for Hibernate 5 - * [HHH-11105] - Update Ehcache to 2.10.3 - -** Improvement - * [HHH-5037] - Improve documentation for immutable/read-only entity and immutable collection functionality - * [HHH-10489] - DB2400Dialect could use the same LimitHandler as DB2Dialect - * [HHH-11066] - Documentation regarding the reason @Filter is not supported with @Cache for collections - * [HHH-11127] - Confused batch processing doc example - * [HHH-11142] - Document supported use/implications of @Cache / @Cacheable - * [HHH-11148] - Migrate HikariCP from Java 1.6 to Java 1.8 - * [HHH-11151] - Update Getting Started guide to Hibernate 5.2 - * [HHH-11174] - Document that XML file mappings can reside outside of JAR - * [HHH-11175] - Remove the Cartesian Product note from JOINED inheritance - * [HHH-11177] - Duplicate queries during startup - * [HHH-11189] - Remove all links to external blog posts from User Guide - - -Changes in 5.2.3.Final (September 30, 2016) ------------------------------------------------------------------------------------------------------------------------- -https://hibernate.atlassian.net/projects/HHH/versions/24650 - -** Bug - * [HHH-3846] - LazyInit error on persting with detached association - * [HHH-5908] - unnecessary updates when using select-before-update dirty check with entity that has immutable many-to-one properties. - * [HHH-6562] - Unknown collection role when accessing ElementCollection in Embeddable via Criteria API - * [HHH-7681] - Collection changes result in null audit values when collection entity participates in a fake bidirectional relationship. - * [HHH-8630] - random map key column generated when using @AttributeOverrides and @ElementCollection - * [HHH-9329] - Join With SQL generation regression - * [HHH-9739] - Updated object is written to second level cache with CacheMode.IGNORE - * [HHH-10229] - Select value from element collection results in wrong SQL being produced - * [HHH-10502] - ORDER BY FIELD(..) throws java.sql.SQLException: Operand should contain 1 column(s) - * [HHH-10629] - Spatial not bundled in release bundles - * [HHH-10659] - Natural Id 2nd level Cache not working when Identity is database generated - * [HHH-10693] - PostgreSQL should not use nvarchar when using Nationalization - * [HHH-10695] - MySQL fails using the NCLOB type - * [HHH-10818] - Allow AttributeConverter on attributes marked as Lob (REALLY this time) - * [HHH-10978] - Hibernate throws SQLGrammarException: Error accessing table metadata when @Table is used with schema value and no catalog - * [HHH-10981] - Support private persistent attributes in @MappedSuperclas - * [HHH-10998] - NullPointerException when using join with subselect in hbm mapping - * [HHH-11004] - Array types as @ElementCollection values not handled - * [HHH-11005] - OneToMany generated incorrect SQL where MapKey is on superclass and using InheritanceType.JOINED - * [HHH-11023] - Startup performance regression : schema update/validate - * [HHH-11030] - InformationExtractorJdbcDatabaseMetaDataImpl getTable method wrong default namespace lookup - * [HHH-11033] - NativeQueryImpl::doScroll seems to be broken when used with setParameterList (affects scroll and stream) - * [HHH-11036] - The drop schema filtering of sequence generation with schemaFilter is wrong - * [HHH-11037] - Subclass embeddable sub-properties ignored if superclass has property with same name - * [HHH-11038] - Invalid statement generated for @MapKeyColumn(updatable=false) for @OneToMany - * [HHH-11051] - Cache EventListenerRegistry and StatisticsImplementor - * [HHH-11056] - Envers audits unchanged objects for a certain use case - * [HHH-11058] - NPE in SchemaValidator with DdlTransactionIsolatorJtaImpl - * [HHH-11061] - Attempt to resolve foreign key metadata from JDBC metadata failed to find column mappings for foreign when keywords auto quoting is enabled - * [HHH-11063] - Auditing tables are not filled correctly when using a custom hashCode method that does not use the entity id. - * [HHH-11067] - Proxy-wrapped Sessions (ThreadLocalSessionContext.TransactionProtectionWrapper) handle equals incorrectly - * [HHH-11072] - Skip CriteriaLiteralInSelectExpressionTest#testStringLiteral2 for Oracle, DB2, SQL Server, and Sybase dialects - * [HHH-11073] - Casting to boolean in query fails on MySQL - * [HHH-11081] - JPA join with treat causes QuerySyntaxException: Invalid path - * [HHH-11084] - SQLServer2005LimitHandler applies TOP(?) to subselect - * [HHH-11092] - NamedNativeQueries ordinal parameters are zero based - * [HHH-11097] - Performance problem if cached entity has attribute state with an expensive toString() method (LOB, etc) - * [HHH-11099] - Closing EntityManager with an active transaction causes JTA connection leak - * [HHH-11101] - Missing unique constraint for many-to-many with unique=true in list mapping - * [HHH-11120] - SessionFactoryOptionsImpl#releaseResourcesOnCloseEnabled never initialized - * [HHH-11121] - Wrong NativeQueryImpl.setZeroBasedParametersIndex when Session#createSQLQuery is executed after EM#createNativeQuery - * [HHH-11131] - OrderedSequenceGenerator no longer serves any purpose - * [HHH-11133] - Audit tables storing incorrect discriminator value when using JOINED entity inheritance. - * [HHH-11140] - "query specified join fetching, but the owner of the fetched association was not present in the select list" with @ElementCollection - - -** New Feature - * [HHH-10399] - Add support for specifying TimeZone for ZonedDateTime type - - -** Improvement - * [HHH-10106] - Include source entity name and table name (attribute name too ideally) for associations referencing unmapped classes - * [HHH-10406] - Provide @CreationTimestamp and @UpdateTimestamp for Instant and LocalDateTime - * [HHH-10523] - 2.3.20. SQL quoted identifiers in User Guide should discuss explicit enclosure in double-quotes (JPA) - * [HHH-10972] - Use UTF-8 charset for reading files for initializing the database (javax.persistence.sql-load-script-source scripts) - * [HHH-11007] - The distributed modules for WildFly are missing Hibernate Envers test case support. - * [HHH-11027] - Document the PASS_DISTINCT_THROUGH Query Hint - * [HHH-11059] - Improve documentation for JTA configuration in user guide and 5.0 migration guide - * [HHH-11069] - Improve documentation regarding GenerationType.AUTO - * [HHH-11070] - Add the full Hibernate ORM version to the User Guide title - * [HHH-11074] - Add method setTimeout for DetachedCriteria - * [HHH-11082] - Log the failing SQL when the batched execution throws a RuntimeException (e.g. StaleStateException) - * [HHH-11108] - Add test to prove that @Basic( fetch = FetchType.LAZY ) really works as expected - * [HHH-11116] - Improve the JPA bootstrapping section in the User Guide - * [HHH-11119] - Improve performance of StringHelper.qualify() and StringHelper.unqualify() - * [HHH-11136] - Reduce memory consumption caused by Method.getParameterTypes() - - - -Changes in 5.2.2.Final (August 04, 2016) ------------------------------------------------------------------------------------------------------------------------- -https://hibernate.atlassian.net/projects/HHH/versions/24150 - -** Bug - * [HHH-5393] - MappingException when @MapKeyColumn refers to a column mapped in embeddable map value - * [HHH-7249] - Discrimator values in versioned entities in one to many relations could cause problems when deleting relation - * [HHH-7625] - Inverse OneToMany with a CompositeKey fails - * [HHH-9199] - ValidityAuditStrategy: Collection of embeddables is not audited correctly - * [HHH-10027] - Dynamic filter parameter can be bound in wrong order when applied to OneToMany collections - * [HHH-10617] - multiLoad behavior - * [HHH-10725] - Hibernate Integrations Guide: an incorrect example LatestAndGreatestConnectionProviderImpl - * [HHH-10795] - StatefulPersistenceContext.entityEntryContext does not work properly for ManagedEntity associated with a different StatefulPersistenceContext - * [HHH-10810] - ImplicitIndexColumnNameSource should extend ImplicitNameSource. - * [HHH-10879] - SqlServer dialect doesn't respect "key" reserved keyword - * [HHH-10888] - PluralAttribute#isAssociation returns true for @ElementCollection - * [HHH-10896] - Exception thrown when dropping schema with a managed connection - * [HHH-10900] - ExceptionConverter throws an exception if the Proxy is no longer reachable - * [HHH-10907] - Fix connection leak problem in hibernate-core tests - * [HHH-10915] - NullPointerException from AbstractProducedQuery.getParameters() - * [HHH-10919] - HQL: Sql syntax exception when joining a Map - * [HHH-10920] - Joined inheritance : Same super class field name in embedded type causes embedded field to be ignored - * [HHH-10922] - flush triggers load when using enableDirtyTracking - * [HHH-10937] - The generation of the drop schema does not filter sequence with schemaFilter - * [HHH-10942] - Session not flushing starting from 5.2.0 in Karaf + Aries JPA & JTA - * [HHH-10944] - org.hibernate.test.mappingexception.MappingExceptionTest#testNotFound failure - * [HHH-10950] - uniqueResultOptional fails for Query created from CriteriaQuery - * [HHH-10952] - Tests leaving transactions opened cause PostgreSQL to hang - * [HHH-10953] - HQL update statement fails if entity is inside a package of format in.mycomany.domain.Entity - * [HHH-10955] - PessimisticWriteLockTimeoutTest#testSkipLocked should run only on PostgreSQL 9.5 - * [HHH-10959] - Methods in org.hibernate.query.Query should not return the deprecated org.hibernate.Query - * [HHH-10964] - Fix missing currentTenantIdentifierResolver - * [HHH-10973] - hibernate-enhance-maven-plugin won't enhance entities with bidirectional relationships - * [HHH-10977] - entity not enhanced when mapped superclass enhanced before - * [HHH-10987] - Cannot save JTS geometry with SRID 3857 into SRID 3857 column - * [HHH-10991] - Wrong order parameter binding when filters are used in conjunction with component type parameters and subqueries - * [HHH-10993] - NPE when Lazy loading collection without transaction for bytecode enhanced entitie - * [HHH-10994] - Limit Handler for SQL server doesn't support queries with alias( without 'as' keyboard ) in select clause. - * [HHH-11009] - org.hibernate.AnnotationException: Unable to create unique key constraint - if column not found - * [HHH-11013] - The release task creates two documentation folders for UserGuide - * [HHH-11016] - Hibernate Schema Management Tool does not properly drop sequences for PostgresSQL 8.2+ - - -** New Feature - * [HHH-10965] - Add new Query Hint to avoid passing DISTINCT from entity queries to SQL statements - * [HHH-10966] - Document @DiscriminatorValue NULL and NOT_NULL options - * [HHH-10971] - Document flush operation order - -** Task - * [HHH-10948] - Upgrade Byteman to 3.0.6 - -** Improvement - * [HHH-8687] - Better exception message for PostgreSQL81Dialect and named REF_CURSOR parameter binding - * [HHH-10531] - JaxbHbmTuplizerType marshalling does not conform hibernate-mapping-4.0.xsd - * [HHH-10532] - Cannot marshall JaxbHbmBasicAttributeType to xml if the "generated" attribute is not specified - * [HHH-10800] - InformixDialect: add support for coalesce(), current_timestamp(), current_date() - * [HHH-10905] - NullPointerException when StatelessSession.get(Class, Serializable, LockMode) called with null LockMode, instead of defaulting to LockMode.NONE - * [HHH-10923] - Upgrade CDI 1.1 and related dependencies to Final - * [HHH-10924] - Replace ConcurrentServiceBinding by ConcurrentHashMap - * [HHH-10943] - Driver Manager Connection Pool should close leaked connections upon shutting down - * [HHH-10945] - Move TransactionUtil from documentation to hibernate-testing - * [HHH-10946] - Add utility to detect connection leaks during testing - * [HHH-10947] - Add @Repeatable to Hibernate-owned annotations - * [HHH-10949] - Upgrade Infinispan to 8.2.3.Final - * [HHH-10984] - Have multiLoad not return (unflushed) DELETED entities - * [HHH-10996] - The cleanupTestData utility has issues with link tables - * [HHH-11000] - Fix the port stealing issue between Arquillian and NVidia Windows driver - * [HHH-11002] - Add documentation section about Filter and FilterDef - * [HHH-11017] - Migrate Integration Guide to AsciiDoctor - - -Changes in 5.2.1.Final (June 30, 2016) ------------------------------------------------------------------------------------------------------------------------- -https://hibernate.atlassian.net/projects/HHH/versions/23950 - -** Bug - * [HHH-7510] - LazyInitializationException thrown when deleting an entity while global_with_modified_flag turned on - * [HHH-8305] - Envers auditing OneToOne inserts null in Aud JoinTable in a not stablished relationship - * [HHH-8488] - JPA joinList and treat behaviour - * [HHH-8999] - NullPointerException when updating or deleting multiple entities of same type with non-comparable IDs - * [HHH-9128] - Regression: EnversHibernateToolTask is missing - * [HHH-9322] - Updating multiple entities with the same name in the same flush throws a ClassCastException when using a non-Comparable user type as the entity ID - * [HHH-9512] - Invalid entity being created when merging with recursive cascading - * [HHH-10230] - Using boolean or null literals results in a parser error - * [HHH-10238] - Derby MultiTableBulkIdStrategy uses non-existant temporary tables - * [HHH-10245] - SelfDirtinessTracker not found - * [HHH-10277] - AttributeConverter not applied to attributes of an embeddable used as collection element - * [HHH-10299] - After adding "@Audited" to an entity field the warning "Use of DOM4J entity-mode is considered deprecated" appears - * [HHH-10334] - @formula annotation javadoc contains database dependent sample usage - * [HHH-10341] - Specification violation in Implementation of TupleElement - * [HHH-10352] - HBM2DDL does not use described name for foreign key in join inheritance - * [HHH-10360] - Natural ID columns are nullable by default (hbm mappings only) - * [HHH-10361] - Child module osgi does not exist in hibernate-tutorials - * [HHH-10375] - adding an entity at index to list with @OrderColumn in detached Entity - * [HHH-10413] - byte[] as the version attribute broken - * [HHH-10427] - ServiceRegistry creates multiple service instances and returns uninitialized services - * [HHH-10511] - PluralAttribute.getPersistentAttributeType() wrong value with enhanced classes - * [HHH-10515] - Stored procedure execution fails to find column - * [HHH-10516] - Incorrect coalesce function for InformixDialect - * [HHH-10540] - Incorrect bytecode instrumentation when there are multiple @Embedded attributes - * [HHH-10562] - ManagedEntity linked list broken when mutable, non-associated enhanced entity is evicted - * [HHH-10583] - BytecodeEnhancement's AssociationManagement breaks with entity containing two ToOne relations with the same mappedBy value. - * [HHH-10592] - Query with literal parameter and fails with attribute converter - * [HHH-10642] - BytecodeEnhancements PersistentAttributesEnhancer bytecode error INVOKESPECIAL - * [HHH-10643] - Attribute 'foreignKeyDefinition' of @javax.persistence.ForeignKey ignored by schema exporter - * [HHH-10644] - Enhancement cause Exception if property field not present - * [HHH-10648] - No MultipleBagFetchException is thrown when fetching two bags eagerly - * [HHH-10679] - Subselect fetching is not used for collections if their entity owners are initialized in a batch - * [HHH-10712] - Subselect fetches are not detected by load plans - * [HHH-10729] - Issue with CriteriaBuilder.literal(boolean) in my select expression? - * [HHH-10774] - SortedMap defined in .hbm.xml are not sortable - * [HHH-10796] - org.hibernate.query.Query setProperties(Map map); set to null parameters not contained in the map - * [HHH-10797] - PostgreSQL81Dialect does not honor the lock timeout settings - * [HHH-10801] - Bytecode enhancement of @MappedSuperclass - * [HHH-10802] - Attempt to resolve foreign key metadata from JDBC metadata failed to find column mappings for foreign key - * [HHH-10803] - JPA specification violation in Query.getParameter(int) in HIbernate 5.2 - * [HHH-10805] - PostgreSQL Dialect v 9.4 Doesn't support materialized view validation - * [HHH-10807] - Flushing EntityManager with rollback only transcation causes error - * [HHH-10811] - Envers can't start when some audited field has accented letters - * [HHH-10820] - InformationExtractorJdbcDatabaseMetaDataImpl quoted table names - * [HHH-10824] - Query.stream() generic element type is wrong - * [HHH-10826] - Auxiliary Database Object no longer documented - * [HHH-10833] - NoResultException does not thrown after updating to 5.2 - * [HHH-10841] - Field marked as @Generated not being audited. - * [HHH-10843] - QuerySyntaxException when use CriteriaBuilder.concat in selectCase expression - * [HHH-10846] - InformixDialect has incorrect substring function - * [HHH-10851] - PropertyAccessMixed not aware of Access annotation - * [HHH-10860] - Query#scroll() throws NPE - * [HHH-10863] - Improve consistency of how we call implicitNamingStrategy.determineBasicColumnName with element collections - * [HHH-10865] - Join table of lazy loading many-to-many relation not saved when lazy initialization bytecode enhancement is active - * [HHH-10870] - Parameter lookup for Iterable fails on Criteria API - * [HHH-10874] - @Where annotation is not processed with "Extra-lazy" loading for bidirectional collections - * [HHH-10876] - DefaultIdentifierGeneratorFactory does not consider the hibernate.id.new_generator_mappings setting - * [HHH-10885] - JPA Native Queries with ordinal parameter are zero based - * [HHH-10886] - The follow-on-locking Oracle mechanism should consider UNION as well - * [HHH-10889] - Fix unit tests failing on Oracle - * [HHH-10890] - PostgreSQL does not consider alias-specific LockMode - * [HHH-10893] - Reusing Query but changing collection parameters returns wrong result - * [HHH-10904] - Fix tests failing when switching to MySQL - - -** New Feature - * [HHH-10816] - SQLServer2005Dialect does not use NOWAIT for aliases - * [HHH-10817] - AbstractHANADialect should support the NOWAIT directive in the FOR UPDATE clause - * [HHH-10837] - Add new setting to disable/enable scanning for the static metamodel. - * [HHH-10877] - Introduce a configuration option to allow out of transaction updates - -** Task - * [HHH-10799] - Add PostgreSQL 9.5 Dialect which supports the SKIP LOCKED clause - * [HHH-10808] - Update documentation according to 5.2 changes - * [HHH-10864] - Allow ORM to be built with Java 9 - * [HHH-10867] - Updating Hibernate Validator to 5.2.4.Final - * [HHH-10899] - Provide module ZIP file for upgrading WildFly to latest Hibernate - -** Improvement - * [HHH-1594] - Add on-delete="cascade" support to unidirectional *ToOne relationships. - * [HHH-9021] - Select expression in JPA doesn't work - * [HHH-9486] - Envers ValidityAuditStrategy triggers "HHH000444: Encountered request for locking ..." warning on Oracle - * [HHH-10786] - Add MySQL 5.7 JSON datatype support - * [HHH-10822] - Wrong signature for SharedSessionContract#setJdbcBatchSize - * [HHH-10823] - Consider adding hibernate-entitymanager again - * [HHH-10835] - The hash code calculation of the EntityKey should also include the hash code of the root entity name. - * [HHH-10839] - Restore some lost backwards compatibility of the legacy org.hibernate.Query - * [HHH-10861] - JPA Constructor Expressions fails with nullLiteral passed to constructor - * [HHH-10883] - Restore the Maven artifact hibernate-java8 as an empty placeholder - - -** Deprecation - * [HHH-10906] - Remove passing EnversService in AuditStrategy. - - - -Changes in 5.2.0.Final (June 1, 2016) ------------------------------------------------------------------------------------------------------------------------- -https://hibernate.atlassian.net/projects/HHH/versions/23150/tab/release-report-done -https://hibernate.atlassian.net/browse/HHH-8507?jql=statusCategory%20%3D%20done%20AND%20project%20%3D%2010031%20AND%20fixVersion%20%3D%2023150%20ORDER%20BY%20priority%20DESC%2C%20key%20ASC - -** Bug - * [HHH-6781] - Class level @Where annotation is not enforced on collections of that class - * [HHH-7355] - Hibernate criteria JOIN + additional condition (with clause) don't work with many-to-many association - * [HHH-8507] - SQLServer2005LimitHandler throws "string out of range -1" error - * [HHH-9178] - Querying audited entities with embeddables fails with 'org.hibernate.QueryException: could not resolve property:' - * [HHH-9602] - Schema validation fails when materialized view is involved - * [HHH-9676] - TypeSafeActivator.applyDDL doesn't process composing constraints when @NotNull is present - * [HHH-9894] - Support Informix Boolean Type - * [HHH-9951] - Formula annotation doesn't properly escape keywords/types - * [HHH-10143] - Apache Derby and PostgreSQL - Criteria selectCase with Enum fails without explicit cast - * [HHH-10246] - PropertyNotFoundException with Hibernate Envers when using referencedColumn in @JoinColumn and bidirectional @OneTomany - * [HHH-10287] - Cache keys no longer include the entity type - * [HHH-10290] - org.hibernate.test.cfg.BatchVersionedDataConfigTest does not work properly when hibernate.jdbc.batch_versioned_data is set in environment - * [HHH-10365] - Karaf feature hibernate-envers fails to create EntityManagerFactory - * [HHH-10373] - Sequence generator for idbag ignores generator parameters - * [HHH-10468] - If global "with modified flag" set, you cannot override the value - * [HHH-10476] - Getting an entity with composite ID containing a detached entity fails if PersistenceContext contains a managed copy - * [HHH-10513] - Follow-on locking WARN message logged when query LockMode is NONE - * [HHH-10522] - Invalid reference to naming chapter in user guide - * [HHH-10524] - Invalid reference wrt composite identifiers - * [HHH-10525] - Invalid reference to bytecode enhancement in User Guide - * [HHH-10526] - SchemaCreator does not apply SchemaFilter on foreign keys - * [HHH-10535] - Documentation: hibernate.order_updates configuration property - * [HHH-10587] - Test NationalizedIgnoreCaseTest.testIgnoreCaseCriteria fails on some databases that don't support nString type - * [HHH-10588] - ConnectionsReleaseTest should use H2Dialect - * [HHH-10598] - Oracle JDBC driver can't handle entities with a one-character name in some cases - * [HHH-10601] - Persistence.generateSchema - the output file contains duplicated DDL statements - * [HHH-10605] - HSQLDialect dosn't use "if exists" when dropping sequences - * [HHH-10612] - Check for support of RefCursor in Java 8 - * [HHH-10640] - SchemaCreationTest fails on DB2 due to wrong expected statement - * [HHH-10641] - Some tests fail on Oracle due to ORA-00972: identifier is too long - * [HHH-10646] - Lazy fetch not properly handled when annotation in @MappedSuperclass - * [HHH-10649] - When 2LC enabled, flush session and then refresh entity cause dirty read in another session / transaction - * [HHH-10678] - hibernate-mapping's schema is ignored - * [HHH-10684] - No target script generated for update action when using schema-generation - * [HHH-10688] - Document changes from HHH-10056 in User Documentation - * [HHH-10706] - Test case native queries fail with case-sensitive databases dialects. - * [HHH-10708] - Accessing a lazy collection in an enhanced class deletes it afterwards - * [HHH-10718] - Underscore in table name can result in SchemaExtractionException: More than one table found - * [HHH-10734] - Hibernate Envers creates unnecessary audit rows for tables with LOB data - * [HHH-10736] - SQLServer dialect issue with native sql - * [HHH-10754] - Add support for PARTITION keyword in @Formula - * [HHH-10756] - StoredProcedureQuery with OUT param fails with Oracle when using named parameters - * [HHH-10757] - "select new ..." with CAST( NULL AS ...) fails with QuerySyntaxException: unexpected AST node: NULL - * [HHH-10765] - Some links in the user guide are broken - * [HHH-10766] - XML Enum mapping with parameter 'type' - * [HHH-10772] - RuntimeException during releaseStatements causes JDBC connection not to be closed - -** New Feature - * [HHH-8070] - Support "in" expression in AuditRelatedId - * [HHH-9339] - java.lang.Optional support - * [HHH-10431] - Session-level configurable batch size support - * [HHH-10669] - Allow to add SF-scoped services through a ServiceContributor - * [HHH-10689] - Fix tests failing when switching to Oracle - * [HHH-10691] - Fix tests failing when switching to PostgreSQL - * [HHH-10696] - Add a new CatalogFilterTest - * [HHH-10762] - Implement left-joins for relation traversion in audit queries - -** Task - * [HHH-10664] - Prep 5.2 feature branch - * [HHH-10670] - Remove deprecated ValidTimeAuditStrategy - * [HHH-10760] - Add a getter to org.hibernate.mapping.Index to expose the columnOrderMap - * [HHH-10781] - Remove all slf4j dependencies - -** Improvement - * [HHH-9340] - Streams API for query result processing. - * [HHH-9406] - QueryStatistics is useless for really fast queries - * [HHH-9570] - Auto-detect SQL Server 2014 when the major version is 12 - * [HHH-9742] - Allow to strictly adhere to JPA disallowance of restricting a fetched join - * [HHH-10049] - References to unmapped classes in from clause should not be allowed with strict JPQL compliance - * [HHH-10052] - documentation about hashcode and equals not up to date - * [HHH-10085] - Remove cast from SearchedCaseExpression and SimpleCaseExpression - * [HHH-10332] - Schema validation: ambiguous table name - * [HHH-10382] - GetterFieldImpl creates unnecessary objects - * [HHH-10674] - SessionFactoryObserver could use a sessionFactoryAboutToClose method - * [HHH-10711] - Null pointers should not be dereferenced - * [HHH-10714] - Add support for @Immutable attribute types - * [HHH-10726] - Support for Java 8 date/time types as Query parameters - * [HHH-10750] - Add stored procedure tests for Oracle, SQL Server, PostgreSQL, and MySQL - * [HHH-10752] - ProcedureCallImpl registers every paremeter twice - * [HHH-10770] - Add support for JCache-compliant 2nd-level cache providers - * [HHH-10780] - Provide a PrimitiveByteArrayTypeDescriptor toString implementation - -** Patch - * [HHH-1237] - Escaping : with :: in queries - - - -Changes in 5.1.0.Final (February 10, 2016) ------------------------------------------------------------------------------------------------------------------------- -https://hibernate.atlassian.net/projects/HHH/versions/19355 -https://hibernate.atlassian.net/issues/?jql=project%20=%2010031%20AND%20fixVersion%20=%2019355%20ORDER%20BY%20priority%20DESC,%20key%20ASC - -** Bug - * [HHH-7705] - Query.setProperties(Map) silently ignores null values provided in the Map - * [HHH-7973] - String literals in an HQL query can get mangled - * [HHH-8657] - Case Insensitive Equality Criterion NVARCHAR field yields bad SQL - * [HHH-9074] - HQL Query with boolean and @Convert - * [HHH-9286] - Extended Stored procedure support does not work with Oracle - * [HHH-9635] - SQLServer2005Dialect (and above) does not support read past locking - * [HHH-9735] - EntityGraph and isMember functions generates illegal sql - * [HHH-9983] - Error saving entity with identity id on Oracle 12c - * [HHH-10172] - Throw MappingException when entity/component class defines multiple matching getters by stem name - * [HHH-10185] - In nonstrict-read-write mode the remove may be not applied - * [HHH-10345] - Map byte[]/Byte[] to BLOB rather than LONG RAW in Oracle - * [HHH-10372] - OffsetDateTime value changes after fetching the row from the database - * [HHH-10401] - Missing table names on foreign key circularity error message - * [HHH-10430] - Comment for class is ignored when using subselect in hibernate mapping - * [HHH-10443] - SchemaUpdate and SchemaMigration do not release jdbc connection - * [HHH-10446] - Comment delimiters not "escaped" within (VAR)CHAR literals within native queries - * [HHH-10451] - Can not export table comment statement - * [HHH-10495] - Oracle10gDialect generate nvarchar when using @Nationalized - * [HHH-10507] - Hibernate core test removing usage of Java 8 introduced methods - -** New Feature - * [HHH-16] - Explicit joins on unrelated classes - * [HHH-3555] - Extend the Envers query system with the ability to traverse associations - * [HHH-6225] - Add support to find entities by date in one single query - * [HHH-7572] - Develop API for load-by-multiple-ids - * [HHH-9876] - Ability to filter objects from Database for schema tooling - * [HHH-10267] - Support defining lazy attribute fetch groups - * [HHH-10484] - Add hibernate.jdbc.log.warnings configuration property - -** Task - * [HHH-10124] - Upgrade Ehcache to 2.10.1 - * [HHH-10171] - Update Javassist - * [HHH-10215] - Upgrade to Infinispan 8 - * [HHH-10280] - Remove legacy bytecode enhancement artifacts - * [HHH-10303] - Reinstate legacy bytecode-enhancement Ant task - * [HHH-10335] - Upgrade to Hibernate Commons Annotations 5.0.1.Final - * [HHH-10336] - Upgrade to Jandex 2.0.0.Final - * [HHH-10438] - Upgrade the Gradle wrapper to use Gradle version 2.10 - * [HHH-10449] - Upgrade to Infinispan 8.1.0.Final - * [HHH-10479] - Document that hibernate.jdbc.batch_versioned_data default value is true in 5.0 - -** Improvement - * [HHH-5184] - Create a ConnectionAcquisitionMode as corollary to ConnectionReleaseMode - * [HHH-7321] - HQL: Combining a CROSS JOIN with a LEFT JOIN which requires a WITH clause triggers an exception. - * [HHH-7610] - Option for injecting empty (non-null) embedded when all columns are NULL - * [HHH-8706] - Delay registering of the entity listener class as long as possible - * [HHH-9474] - Perfomance issue with ElementCollection - * [HHH-9491] - Add support to opt columnDefinitions out of globally-quoted-identifiers - * [HHH-9548] - Allow propagation of NULL for stored-procedure argument parameters to database - * [HHH-9615] - Allow AttributeConverter on attributes marked as Lob - * [HHH-9780] - Unique instance for both CacheKey and EntityKey contracts - * [HHH-9791] - Add varargs to Restrictions.in(...) - * [HHH-9807] - Better error message when @Formula and @Id are combined - * [HHH-9839] - The hibernate-infinispan cache module should use a JBoss Logger interface to allow internationalization of error messages - * [HHH-9993] - IsolationDelegate: add method to execute code without obtaining a connection - * [HHH-10002] - Hibernate @Synchronize annotation values should be processed by NamingStrategy - * [HHH-10050] - AttributeConverter should supports ParameterizedType if autoApply is true - * [HHH-10083] - Support replicated and distributed caches - * [HHH-10084] - Refactor Identity Column support methods into IdentityColumnSupport interface - * [HHH-10088] - Add link to Eclipse setting in README file (Mustafa Ulu) - * [HHH-10097] - Expose the UUID from SessionFactoryImplementor - * [HHH-10136] - Upgrade HikariCP to latest version - * [HHH-10301] - HQLQueryPlan allocates a new ArrayList every time even if it is not required - * [HHH-10302] - Lots of allocations of LoadEvent and PostLoadEvent - * [HHH-10314] - In some cases BatchFetchQueue is created just to try and remove a key - * [HHH-10358] - EntityLoader is contended when calling AbstractLoadPlanBasedLoader.wrapResultSetIfEnabled - * [HHH-10366] - Improve performance and reduce CPU load when fetching reference cached objects - * [HHH-10379] - Remove dependency to rhq-pluginAnnotations - * [HHH-10419] - Better error report upon JPA AttributeConverter instantiation error - * [HHH-10439] - Log a message which prints the name of the import script being imported - * [HHH-10450] - Refactor the way configuration is read - * [HHH-10458] - Better encapsulate SchemaManagementTool (OGM) - unify JPA schema generation and hbm2ddl capabilities - * [HHH-10477] - Setting to allow delayed access to CDI - * [HHH-10487] - Add @Incubating annotation - - - -Changes in 5.0.7.Final (January 13, 2016) ------------------------------------------------------------------------------------------------------------------------- -https://hibernate.atlassian.net/projects/HHH/versions/22051 - -** Bug - * [HHH-4161] - persistence.xml not following JSR220 spec - * [HHH-9342] - HQL "x member of treat(y as Type).collections" fails to parse - * [HHH-9356] - jpa converter only applied to high value of cb.between - * [HHH-9357] - Incorrect SQL generated for Polymorpic Queries involving TYPE() with @Inheritance(strategy=InheritanceType.JOINED) - * [HHH-9371] - Exception ''Invalid filter-parameter name format" from LoadQueryInfluencers when hql contains colon and filter is enabled. - * [HHH-10191] - InformationExtractorJdbcDatabaseMetaDataImpl can't handle Oracle function indexes - * [HHH-10307] - JTA no longer transitively provided (HHH-10178) causes problems for apps not using JTA - * [HHH-10383] - IN parameter is not enclosed in parentheses - * [HHH-10384] - PooledThreadLocalLoOptimizer fails to give uniqe id's for different threads - * [HHH-10385] - In a @OneToMany association the @JoinColumn foreignKey is not taken into consideration when generating the association database schema - * [HHH-10386] - In a @ManyToMany assoctiation the @JoinColumn foreignKey is not taken into considertion when generating the association database schema - * [HHH-10395] - ServiceBootstrappingTest fails if tests are run with hibernate.show_sql=true - * [HHH-10396] - In a @OneToMany association with @JoinColum the @ForeignKey is not taken into consideration when generating the association database schema - * [HHH-10405] - elements of are not handled properly when building metadata - * [HHH-10420] - SchemaExport creates foreign keys too early if across schema - * [HHH-10421] - Change "native" ID generator for Oracle12cDialect to SequenceStyleGenerator - * [HHH-10422] - Backport HHH-9983 to fix identity IDs using Oracle12cDialect in 5.0 - * [HHH-10425] - SchemaMigration creates foreign keys too early if across schema - * [HHH-10432] - hibernate 5.0.6 does not work with Aries JPA 2.3.0 - * [HHH-10437] - NPE in PrimaryKey#addColumn(Column column) when getTable().getNameIdentifier() is null - * [HHH-10443] - SchemaUpdate and SchemaMigration do not release jdbc connection - -** Improvement - * [HHH-9474] - Perfomance issue with ElementCollection - * [HHH-10317] - Allow to bind custom types that implement the Collection interface through JPA APIs - * [HHH-10415] - org.hibernate.cache.infinispan.InfinispanRegionFactory should default the "immutable-entity" to the "entity" cache settings - * [HHH-10416] - Drop superfluous immutable-entity cache configuration - * [HHH-10439] - Log a message which prints the name of the import script being imported - - - -Changes in 5.0.6.Final (December 16, 2015) ------------------------------------------------------------------------------------------------------------------------- -https://hibernate.atlassian.net/projects/HHH/versions/22050 - -** Bug - * [HHH-1122] - hbm2ddl.SchemaUpdate has no delimiter (SchemaExport works fine) - * [HHH-9029] - Missing parentheses around composite fields - * [HHH-9764] - StaleObjectStateExceptions raising outside flush context. - * [HHH-10158] - SchemaUpdate does not properly support formatter and delimiter anymore - * [HHH-10200] - Too long identifiers causing Envers test failures on Oracle databases - * [HHH-10223] - Element 'query-param' in *.hbm.xml files causes ClassCastException - * [HHH-10252] - Cascade delete does not work for instrumented/enhanced entities - * [HHH-10286] - SessionFactoryImpl doesn't cache and reuse existing collection cache region access strategies - * [HHH-10298] - Add new configuration type hibernate.hbm2dll.extra_physical_table_types - * [HHH-10331] - HSQLDialect returns supportsTupleDistinctCounts false which seems wrong - * [HHH-10343] - Precision and scale are reversed when using decimal as element in map - * [HHH-10344] - Bring transaction invalidation interceptor into Infinispan 2LC - * [HHH-10353] - Interceptor afterTransactionBegin() is not fired - * [HHH-10359] - Change default values in bytecode enhance build-time plugins - * [HHH-10364] - HSQL does not support Nationalized annotation - * [HHH-10367] - Fix more DB reserved words used by tests - * [HHH-10368] - Unit test failure because Sybase does not support binding an untyped null object - * [HHH-10369] - Unit test failure because Sybase trims trailing spaces - * [HHH-10371] - LocalDate value changes after fetching the row from the database - -** New Feature - * [HHH-10356] - Make runtime bytecode enhancement configurable - -** Task - * [HHH-10381] - Introduce a ThreadLocal-based pooled-lo optimizer to avoid locking - -** Improvement - * [HHH-10349] - PersistenceUtilHelper should call getDeclaredField/Method inside of privileged block - * [HHH-10354] - Rename 'field access' bytecode enhancement - * [HHH-10358] - EntityLoader is contended when calling AbstractLoadPlanBasedLoader.wrapResultSetIfEnabled - * [HHH-10363] - The Cascade class makes unnecessary calls to the Reflection API. - * [HHH-10366] - Improve performance and reduce CPU load when fetching reference cached objects - * [HHH-10379] - Remove dependency to rhq-pluginAnnotations - - - -Changes in 5.0.5.Final (December 2, 2015) ------------------------------------------------------------------------------------------------------------------------- -https://hibernate.atlassian.net/projects/HHH/versions/21850 - -** Bug - * [HHH-9191] - Inheritance.JOINED + @DiscriminatorColumn : ERROR on quering - * [HHH-9302] - SQLGrammarException with @DiscriminatorColumn in an inheritance hierarchy - * [HHH-9343] - Case/when in criteria with string literal result fails type checking - * [HHH-10157] - Postgis geometry type for JTS geometrys not usable - * [HHH-10185] - In nonstrict-read-write mode the remove may be not applied - * [HHH-10291] - Partially generated composite attribute is not retrieved after insert - * [HHH-10304] - ImplicitCompositeKeyJoinTest#testImplicitCompositeJoin fails due to dialect-specific differences in generated SQL string - * [HHH-10309] - HHH-10242 is too aggressive in cases of FIELD access - * [HHH-10321] - HHH-9866 is alive; Wrong join table column names generation with globally_quoted_identifiers - * [HHH-10325] - Test failure on MySQL and MariaDB because they do not allow casting as float type - -** Task - * [HHH-10335] - Upgrade to Hibernate Commons Annotations 5.0.1.Final - * [HHH-10336] - Upgrade to Jandex 2.0.0.Final - -** Improvement - * [HHH-10301] - HQLQueryPlan allocates a new ArrayList every time even if it is not required - * [HHH-10302] - Lots of allocations of LoadEvent and PostLoadEvent - * [HHH-10306] - Use module initializer to add Hibernate 2LC externalizers - * [HHH-10308] - Don't make deep copy of property with AttributeConverter if Java type is known to be immutable - * [HHH-10313] - Make SessionImplementor extend WrapperOptions - * [HHH-10314] - In some cases BatchFetchQueue is created just to try and remove a key - * [HHH-10338] - Use an explicit empty object array to prevent the varargs method allocating one - - - -Changes in 5.0.4.Final (November 18, 2015) ------------------------------------------------------------------------------------------------------------------------- -https://hibernate.atlassian.net/projects/HHH/versions/21750 - -** Bug - * [HHH-1689] - Support subqueries in HQL as CASE statement alternatives - * [HHH-1706] - Named parameters ignored when single apostrophe encountered within an SQL comment - * [HHH-5764] - AssertionFailure: Unexpected nested component on the referenced entity when mapping a @MapsId - * [HHH-5946] - Wrong SQL generated when composites are compared using not-equal operator - * [HHH-5948] - Trying to get a PluralAttributePath from a @MappedSuperclass throws org.hibernate.MappingException: Unknown collection role - * [HHH-6475] - Metamodel check fails when subclasses are used - * [HHH-6672] - Remove UNION support from 5.x grammars - * [HHH-8435] - @Lob + @Nationalized results in NCLOB on SQLServer2005+ rather than NVARCHAR(MAX) - * [HHH-8712] - Hibernate startup error "HHH015011: Unable to locate static metamodel field" - * [HHH-8775] - Exception when mapping a class more than once - * [HHH-8802] - Class cast exception thrown when trying to access Embedded type relationship path in Tuple - * [HHH-8847] - Exception thrown when trying to select a treated property - * [HHH-9140] - Error in CollectionCacheInvalidator when hibernate.cache.auto_evict_collection_cache is enabled - * [HHH-9160] - javax.persistence.Query#getParameterValue(String) returns the ParameterRegistration not the parameter value - * [HHH-9195] - Adding an entity at a given index in a list annotated with OrderColumn adds the entity at the end - * [HHH-9230] - NullPointer when combining JPQL query with in clause and @NamedEntityGraph - * [HHH-9475] - Cannot mix @MapKey with @Convert - * [HHH-9529] - Enhancer indiscriminately re-writes field accesses - * [HHH-9710] - IllegalArgumentException passing null as parameter value with explicit TemporalType - * [HHH-9794] - Replace string with preceding comma is not replacing string as required - * [HHH-10112] - Unable to enhance persistent attribute with declared targetEntity - * [HHH-10145] - Include maven dependencies in enhancement classpath - * [HHH-10146] - Compiled classes not included in enhancer class path - * [HHH-10163] - QueryResultsRegion is not invalidated from evictAll() - * [HHH-10181] - CacheableFileXmlSource.doBind uses obsolete .bin file - * [HHH-10203] - Overriden UniqueDelegate.getTableCreationUniqueConstraintsFragment not called anymore in SchemaExport - * [HHH-10208] - Index and unique-key constraints not properly handled with implicit columns in hbm.xml binding - * [HHH-10219] - Infinite loop generating IDs if using negative increment - * [HHH-10242] - Deal with HCANN poor handling of multiple properties by matching stem name - * [HHH-10247] - Hibernate ignores foreign-key attribute name in hbm - * [HHH-10251] - Memory Leak when using Reference Cached, bytecode enhanced Immutable Entities - * [HHH-10259] - ForUpdateFragment.toFragmentString() does not check if aliases are defined when lockOptions are not null - * [HHH-10264] - hibernate.cache.auto_evict_collection_cache problems - * [HHH-10270] - Hibernate User Guide transactions chapter examples are not properly rendered - * [HHH-10273] - Reserved word used for database object in testsuite - * [HHH-10274] - org.hibernate.id.SequenceValueExtractor does not work for DB2, Oracle, or SQL Server - * [HHH-10275] - Inverse foreign key for many-to-many set is nullable - * [HHH-10288] - Temporary table support is broken using PostgresPlusDialect - * [HHH-10289] - CPU performance regression in StatefulPersistenceContext.addEntry() - * [HHH-10293] - Schema Update - Single table Inheritance with bi-directional OneToMany referencing superclass fails - * [HHH-10295] - Derived entity ID columns are nullable when @JoinColumns is overriden - -** New Feature - * [HHH-10222] - AttributeConverter not applied to @ElementCollection - -** Task - * [HHH-10279] - Memory usage improvements - -** Improvement - * [HHH-10101] - Implement nonstrict-read-write mode in Infinispan 2LC - * [HHH-10161] - Allow parameter type for null value to be specified using javax.persistence.Parameter#getParameterType() - * [HHH-10178] - Make JTA a provided (non-transitive) dependency - * [HHH-10202] - Delay resolving TypeScopeImpl#factory after deserialization until resolveFactory() is called. - * [HHH-10248] - map removed TransactionFactory classes - * [HHH-10271] - Improve performance of EventListenerRegistry - * [HHH-10272] - Make pending-puts cache template configurable - * [HHH-10297] - Cache HashMap in AbstractRowReader instead of re-creating for each row that is read - -** Deprecation - * [HHH-10281] - More formally deprecate the legacy bytecode enhancement code - - - - -Changes in 5.0.3.Final (October 28, 2015) ------------------------------------------------------------------------------------------------------------------------- -http://hibernate.atlassian.net/projects/HHH/versions/21650 - -** Bug - * [HHH-1400] - formula-based property leads to generation of invalid SQL with subselect fetches - * [HHH-9074] - HQL Query with boolean and @Convert - * [HHH-9374] - EntityGraph applied to subquery when using collection function - * [HHH-9784] - scroll() and iterate() methods do not support provided HQLQueryPlan - * [HHH-10104] - Using JPA 2.1 schema generation together with hbm2ddl runs into deadlock with MySQL - * [HHH-10169] - Hibernate ignores foreign-key name in hbm - * [HHH-10170] - Reuse JAXBContext instance (Slow mapping initialization) - port HHH-10065 fix to 5.0 branch - * [HHH-10172] - Throw MappingException when entity/component class defines multiple matching getters by stem name - * [HHH-10174] - Incorrect splitting of string using dot as separator - * [HHH-10180] - hbm2ddl tools cannot generate create/update script not modifying the database - * [HHH-10188] - "stored" is a reserved keyword in MySQL 5.7 - * [HHH-10189] - NPE in InformationExtractorJdbcDatabaseMetaDataImpl - * [HHH-10193] - NameQualifierSupport for Hypersonic should be catalog - * [HHH-10194] - Change NameQualifierSupport for Hypersonic from CATALOG to SCHEMA - * [HHH-10195] - QueryHintSQLServer2012Test is wrong - * [HHH-10196] - DefaultGeneratedValueTest fails on MySQL - * [HHH-10197] - SchemaManagementException when performing SchemaUpdate - * [HHH-10206] - Primary key not created for a Set after loading from XML mapping file - * [HHH-10207] - Constraint name not considered for a Set while loading from XML mapping file - * [HHH-10217] - ModelBinder fails to bind version property when generated="always" - -** Task - * [HHH-10137] - Upgrade to/support Jandex 2.0 - * [HHH-10153] - Upgrade to Gradle 2.7 - -** Improvement - * [HHH-10087] - Support prepending of locks - * [HHH-10190] - org.hibernate.engine.spi.ActionQueue#executeActions() optimization - - - -Changes in 5.0.2.Final (September 30, 2015) ------------------------------------------------------------------------------------------------------------------------- -http://hibernate.atlassian.net/projects/HHH/versions/21250 - -** Bug - * [HHH-9731] - Potential bug in SearchedCaseExpression type handling - * [HHH-10055] - Lazy loading of collections in enhanced entity not working - * [HHH-10110] - DerbyTenSevenDialect fails to update schema because of sequence error - * [HHH-10111] - AttributeConverter based attributes are not marked for update when their state is modified - * [HHH-10115] - HHH90000003: Use of DOM4J entity-mode is considered deprecated - * [HHH-10119] - Config setting names loaded from cfg.xml stored in augmented (prefixed with "hibernate.") form but not original form - * [HHH-10120] - InputStream not closed in ConfigLoader.loadConfigXmlResource(String) - * [HHH-10125] - KEY() function in HQL causes inaccurate SQL when map key is an entity - * [HHH-10126] - Table-backed sequences are not populated on creation using SchemaUpdate - * [HHH-10131] - CacheableFileXmlSource.doBind returns null instead of created binding when .hbm.xml.bin have not been created yet - * [HHH-10132] - ENTRY() function in HQL causes invalid SQL when map key is an entity - * [HHH-10133] - CatalogSeparator of dialect metadata not used in runtime, just in schema tool - * [HHH-10135] - DB2Dialect should override getSelectSequenceNextValString - * [HHH-10139] - and mapping with 1 related to a boolean field causes java.sql.SQLSyntaxErrorException: - * [HHH-10140] - Apache Derby does not support tuples in subqueries - * [HHH-10141] - ClassicQueryTranslatorFactory unable to determine the correct RevisionType type - * [HHH-10142] - Derby dialect missing SQL keyword - * [HHH-10149] - PostgreSQL81Dialect.#getForUpdateString(String aliases,LockOptions lockOptions) returning a wrong value for update String when aliases is an empty String - * [HHH-10150] - PostgreSQL -MultiTableBulkIdStrategy fails with multiple delete of parent entity in the same transaction - -** New Feature - * [HHH-10045] - Force all columns in primary key to be non-null - -** Task - * [HHH-9995] - Finish pgsql database profile - * [HHH-9996] - Finish Derby database profile - * [HHH-10154] - Change built-in JavaTypeDescriptor impls to not auto-register themselves with JavaTypeDescriptorRegistry - -** Improvement - * [HHH-9685] - Envers should do nothing when JTA transaction is already marked as rollback-only - * [HHH-10066] - Drop and recreate AuxiliaryDatabaseObjects as part of schema update - * [HHH-10083] - Support replicated and distributed caches - * [HHH-10086] - Deprecate Dialect#getIdentityColumnString() and Dialect#getIdentitySelectString() - * [HHH-10121] - Have EMF#getProperties expose ValidatorFactory injected via 2-phase load - * [HHH-10129] - Evaluate AttributeConverter tests in hibernate-entitymanager for move to hibernate-core - -** Patch - * [HHH-10108] - checkstyle test causes build time problem - -** Deprecation - * [HHH-10122] - Deprecate ".class" property-style entity-type-expression format - - - -Changes in 5.0.1.Final (September 3, 2015) ------------------------------------------------------------------------------------------------------------------------- -http://hibernate.atlassian.net/projects/HHH/versions/21051 - -** Bug - * [HHH-9962] - Second level query cache returns stale data if query and update statements are executed concurrently - * [HHH-9975] - CacheImpl.containsQuery(String) does not check if query cache is enabled - * [HHH-10008] - SessionImplementor.getTimestamp() does not return transaction start time - * [HHH-10024] - Cannot define Path rooted at a collection join referencing attribute named same as "collection property" - * [HHH-10044] - hibernate-osgi unmanaged JPA not able to locate persistence.xml schema in entitymanager jar - * [HHH-10053] - Revert HHH-9736; BigIntegerType really should use NumericTypeDescriptor - * [HHH-10057] - hibernate-infinispan incompatible with Infinispan 8.0.0.CR1 - * [HHH-10060] - Order of subclass joins are no longer determinate - * [HHH-10064] - Broken documentation page link in User guide - * [HHH-10065] - Reuse JAXBContext instance (Slow mapping initialization) - * [HHH-10068] - Missing generated JPA static metamodel class for envers revision entity - * [HHH-10069] - ClassCastException between CompositeCustomType and ComponentType part 2 - * [HHH-10073] - Remove obsolete Type, AssociationType and TypeFactory methods - * [HHH-10076] - Multiple bytecode enhancement attempts if hibernate.enable_lazy_load_no_trans set multiple times - * [HHH-10077] - Gradle plugin does not enhance any classes - * [HHH-10078] - Enforce synchronization on Enhancer.enhance() - * [HHH-10079] - Restrict enhanced getter/setter usage - -** New Feature - * [HHH-10030] - Add read-write cache concurrency strategy to Infinispan 2LC - -** Task - * [HHH-9593] - Remove superfluous references to enclosing class - * [HHH-9954] - Add EqualsHelper#areEqual which adds array-specific equality checks - -** Improvement - * [HHH-10020] - Improvements to org.hibernate.bytecode.enhance.internal.AttributeTypeDescriptor#buildInLineDirtyCheckingBodyFragment - * [HHH-10026] - Consider hibernate-java8 types for use with @Version - * [HHH-10054] - Modify Create Index SQL to support the Teradata database - * [HHH-10056] - Separate settings for notions of (1) disabling EnversService and (2) auto-registering Envers listeners - * [HHH-10058] - Parameterized test runner compatible with CustomRunner - * [HHH-10059] - Make EntityManagerFactoryBuilderImpl.populate methods protected - -** Deprecation - * [HHH-10070] - Deprecate use of "collection properties" in HQL - - - -Changes in 5.0.0.Final (August 20, 2015) ------------------------------------------------------------------------------------------------------------------------- -https://hibernate.atlassian.net/projects/HHH/versions/20851 - -** Bug - * [HHH-951] - setMaxResults causes "ORA-00918: column ambiguously defined" exception - * [HHH-7070] - Sybase15+ dialect -> dateadd, datediff, SQLFunctionTemplate lack templates - * [HHH-9868] - Infinispan 2LC can store stale data - * [HHH-9881] - Pending put needs to be invalidated on update on remote node - * [HHH-9908] - Regression in naming collection join tables - * [HHH-9928] - Pending put leaks when the entity is not found in DB - * [HHH-9982] - @NotNull annotation ignored when persisting or merging entities - * [HHH-10016] - Gradle plugin does not enhance any classes - * [HHH-10031] - Multiple bytecode enhancement attempts if hibernate.enable_lazy_load_no_trans set multiple times - * [HHH-10036] - Some tests are failing on Oracle, ORA-00972: identifier is too long - * [HHH-10040] - Fix problem with incomplete Iterator impl - -** New Feature - * [HHH-9898] - Test for correct behaviour of 2LC - -** Task - * [HHH-9919] - Update hibernate-osgi tutorials based on published Karaf features file - * [HHH-9994] - Finish mariadb (mysql) database profile - * [HHH-10022] - Continue documentation TLC (part 2) - * [HHH-10041] - features.xml generation: collapse 3 mains into one hibernate-orm - * [HHH-10042] - Add task to upload dist bundles to BinTray - * [HHH-10043] - Migration Guide - -** Improvement - * [HHH-9707] - Nulls first behavior on SQLServer database - * [HHH-10021] - Allow easy testing of hibernate-infinispan against Infinispan 7 or 8 - * [HHH-10023] - Make hibernate-infinispan compiled with Infinispan 7.x but runnable with Infinispan 8.x - * [HHH-10039] - Ensure the Karaf features.xml is included in the distro zip/tgz - - - -Changes in 5.0.0.CR4 (August 5, 2015) ------------------------------------------------------------------------------------------------------------------------- -https://hibernate.atlassian.net/projects/HHH/versions/20752 - -** Bug - * [HHH-8615] - Shared type parameters results in inconsistent internal model (especially with DynamicParameterizedType) - * [HHH-9503] - Consistently accept numeric value or Connection constant field name for configuring transaction isolation - * [HHH-9534] - Exception with custom EnumType and Map relation - * [HHH-9850] - Primary key generated for nullable column in sequence table - * [HHH-9865] - incorrect column information generated using schemaExport - * [HHH-9917] - 'value' is not a reserved word on Derby - * [HHH-9936] - Same Sequence is created and dropped multiple times - * [HHH-9961] - Ejb3JoinColumn does not use PhysicalNamingStrategy - * [HHH-9999] - Infinispan 7.x deprecated RpcManager.broadcastRpcCommand(EvictAllCommand,boolean) which is not present in Infinispan 8.0 - * [HHH-10005] - Query in context needs precedence over query in cache - * [HHH-10015] - Oracle Dialect override canCreateSchema method to return false - * [HHH-10017] - Bytecode enhancer - consistent handling of persistent attributes (field / property access) - -** Improvement - * [HHH-9869] - SizeExpression toString is misleading - * [HHH-9882] - many to one declarations in hbm without embed-xml="false" generate warning - * [HHH-9987] - HikariCPConnectionProvider TLC - * [HHH-9990] - Enable batched updates for versioned data when using Oracle12cDialect - * [HHH-10013] - Adjust default for hibernate.id.new_generator_mappings to true - * [HHH-10014] - Adjust default for hibernate.auto_quote_keyword to false - * [HHH-10018] - Change default ImplicitNamingStrategy to use the JPA compliant one + ImplicitNamingStrategy short-naming - -** Task - * [HHH-9998] - Continue documentation TLC - * [HHH-10001] - Make the testsuite compatible with Infinispan 8 - * [HHH-10006] - Document configuration of JndiService - * [HHH-10007] - Audit Services chapter in Integrations Guide - - - -Changes in 5.0.0.CR3 (July 29, 2015) ------------------------------------------------------------------------------------------------------------------------- -https://hibernate.atlassian.net/projects/HHH/versions/20350 - -** Sub-task - * [HHH-9938] - Enhance field access - -** Bug - * [HHH-5255] - Merge detached entity failed when the instrumented lazy property is initialized - * [HHH-7573] - Lazy properties are not processed properly after a PreUpdate callback - * [HHH-7898] - Regression on org.hibernate.cache.infinispan.query.QueryResultsRegionImpl.put(Object, Object) - * [HHH-9244] - NPE in bindCollectionSecondPass - * [HHH-9637] - Join is reused when 2 explicit joins are used for the same ToOne association - * [HHH-9906] - The {{JdbcEnvironmentImpl(ServiceRegistryImplementor serviceRegistry, Dialect dialect)}} constructor form does not handle global/auto quoting properly. - * [HHH-9907] - Bytecode enhancer fails on windows - * [HHH-9910] - Schema migration (update) problems with catalog/schema restrictions - * [HHH-9913] - NPE in org.hibernate.cache.internal.CacheDataDescriptionImpl.decode() - * [HHH-9915] - Test IndexedCollectionTest.testEmbeddableWithEntityKey() fail on Oracle - * [HHH-9918] - org.hibernate.dialect.Oracle10gDialect does not support identity key generation - * [HHH-9923] - Avoid cast to MetadataBuildingOptionsImpl in AnnotationMetadataSourceProcessorImpl#prepare() - * [HHH-9927] - Explicit calls to EntityManager.joinTransaction() with no active JTA transaction should throw a TransactionRequiredException - * [HHH-9937] - Hibernate#isPropertyInitialized always returns true for new enhancer - * [HHH-9945] - Allow Transaction to rollback if marked-for-rollback-only - * [HHH-9946] - Do better job cleaning up "stray" transactions in base test - * [HHH-9947] - PhysicalNamingStrategy#toPhysicalTableName called rather than #toPhysicalColumnName for some columns - * [HHH-9948] - SequenceStyleGenerator uses potentially incorrect name for table/sequence in DML statements - * [HHH-9949] - Recognize legacy http://hibernate.sourceforge.net/hibernate-configuration DTD base identifier - * [HHH-9953] - Test o.h.test.legacy.ComponentNotNullTest.testCompositeElement fails on Oracle - ORA-00972: identifier is too long - * [HHH-9967] - Create index on Postgres with --defaultSchemaName - * [HHH-9968] - Test o.h.test.type.AttributeConverterTest.testBasicTimestampUsage fails on Oracle - ORA-00972: identifier is too long - * [HHH-9969] - MySQLDialect handling of numeric cast targets is incorrect - * [HHH-9971] - Methods of ForwardingSessionBuilder, ForwardingSessionBuilderImplementor and ForwardingSharedSessionBuilder should return themselves not the delegate - * [HHH-9972] - Tests in o.h.test.type.EntityGraphUsingFetchGraphTestUsage fail on Oracle - ORA-00972: identifier is too long - * [HHH-9976] - JdbcResourceLocalTransactionCoordinatorImpl does not rollback on failure during #beforeCompletionCallback - * [HHH-9985] - Enhaced entity changes not peristed after merge - -** Improvement - * [HHH-1872] - Hibernate should handle hbm.auto = update with views - * [HHH-9955] - EnumType mapped via hbm.xml not always resolved properly as far as named/ordinal - * [HHH-9966] - Improve schema tooling support for creating catalogs and schemas - * [HHH-9980] - Implement mark-for-rollback-only handling for JdbcResourceLocalTransactionCoordinatorImpl - -** New Feature - * [HHH-9977] - Consider options for passing Session to caching SPI calls - -** Task - * [HHH-9916] - Update quickstarts and tutorials for 5.0 + convert to asciidoc(tor) - * [HHH-9930] - Enable mariadb (mysql) database profile - * [HHH-9931] - Enable pgsql database profile - * [HHH-9956] - Enable derby database profile - * [HHH-9959] - Upgrade Hibernate Validator to 5.2.0.Final - * [HHH-9970] - Remove NoIdentityHQLScrollFetchTest and change HQLScrollFetchTest to work with "increment" ID generator - * [HHH-9974] - Rename org.hibernate.boot.model.relational.Schema to Namespace - * [HHH-9986] - Fix reference manual inconsistencies for 5.0 - - - - -Changes in 5.0.0.CR2 (July 8, 2015) ------------------------------------------------------------------------------------------------------------------------- -https://hibernate.atlassian.net/projects/HHH/versions/20150 - -** Sub-task - * [HHH-8558] - Lazy loading (basic attributes) - * [HHH-8559] - Lazy loading (to-one associations) - -** Bug - * [HHH-2851] - ParameterTranslationsImpl fails to correctly determine parameter type - * [HHH-9166] - Postgres ViolatedConstraintNameExtracter doesn't handle nested Exceptions - * [HHH-9581] - hibernate-enhance-maven-plugin error: "Unable to delete class file" - * [HHH-9582] - hibernate-enhance-maven-plugin error: "Unable to enhance persistent attribute" - * [HHH-9757] - Incorrect image path generated in HTML rendering - * [HHH-9800] - Numerous hibernate-infinispan tests continue to fail transiently - * [HHH-9837] - Remove reliance during annotation binding on org.hibernate.internal.util.ClassLoaderHelper - * [HHH-9838] - Leverage ClassLoaderService during JavassistLazyInitializer#getProxyFactory - * [HHH-9844] - org.hibernate.cache.spi.access.AccessType enum names are not valid values for hibernate.cache.default_cache_concurrency_strategy - * [HHH-9849] - Duplicate column name for mixed case column name on schema update (mysql,linux) - * [HHH-9851] - Limit handling is broken for dialects that don't support variable limit/offset - * [HHH-9856] - EntityManager.find() and getReference() throw incorrect exception for non-entity - * [HHH-9859] - ResourceLocalTransactionCoordinatorImpl#isJoined bad impl - * [HHH-9866] - Wrong join table column names generation with globally_quoted_identifiers - * [HHH-9874] - Classloader issue in starting the Infinispan CacheManager within WildFly - * [HHH-9885] - The default ClassLoaderService implementation should handle java.lang.LinkageError - * [HHH-9887] - Make sure the JPA temp ClassLoader is not used to load Class definitions that are then held on to - * [HHH-9892] - Hibernate generator try to regenerate same metamodel after generated entities - * [HHH-9893] - proper karaf features file task dependency for artifact publishing - * [HHH-9902] - Gradle enhancer plugin skips Embeddable entities - * [HHH-9905] - JPA integration property "javax.persistence.validation.factory" not passed along to TypeSafeActivator - -** Improvement - * [HHH-9518] - Exception and logging messages for collection multi-session access needs to be improved - * [HHH-9584] - MavenEnhancePlugin should optionally fail on error - * [HHH-9738] - Upgrade master (5.0) to Gradle 2.4 - * [HHH-9840] - Allow custom key implementations for 2nd level cache regions - * [HHH-9841] - Redesign org.hibernate.property.PropertyAccessorFactory - * [HHH-9843] - Use optimized cache key implementation in Infinispan 2LC - * [HHH-9855] - Ignore non-entity classes listed as "managed classes" in persistence.xml - * [HHH-9857] - Reuse of EntityEntry for bytecode enhanced read-only reference cached entities - -** New Feature - * [HHH-9848] - Allow disabling auto-quoting of database object names (tables, columns, etc) - * [HHH-9899] - Enable custom Metadata(Builder) extensions by integrators - -** Task - * [HHH-9822] - Switch runtime JPA Class transformation to use new bytecode Enhancer - * [HHH-9825] - HCANN AnnotationFactory still using TCCL - * [HHH-9826] - Update the release task for uploading release bundles to SourceForge FRS - * [HHH-9827] - Truncate master changelog.txt file to just 5.0 related changes - * [HHH-9830] - Upgrade to jboss-logging 3.3 Final (rather than Beta) - * [HHH-9831] - Upgrade HCANN to 5.0.0 - * [HHH-9858] - Make sure release bundles contain hibernate-java8 - * [HHH-9860] - Upgrade to non-SNAPSHOT version of geolatte - - - -Changes in 5.0.0.CR1 (May 27, 2015) ------------------------------------------------------------------------------------------------------------------------- -https://hibernate.atlassian.net/projects/HHH/versions/19851 - -** Sub-task - * [HHH-8489] - Bi-directional association management via bytecode enhancement - -** Bug - * [HHH-8854] - Could not extract ParameterizedType representation of AttributeConverter definition - * [HHH-9287] - Pooled optimizer identifiers clash with INSERT rows calling sequence directly - * [HHH-9629] - l2 cache key constructed wrong for entity with inheritance when fetching lazy property - * [HHH-9665] - Allow EntityManagerFactoryImpl to be unwrapped only into public interfaces/classes - * [HHH-9737] - Miscellaneous bugs in unit tests when using non-default dialects - * [HHH-9745] - ClassCastException in hbm2ddl update and validate - * [HHH-9756] - NPE in JtaTransactionCoordinatorImpl#explicitJoin() after previously executed transaction - * [HHH-9758] - Broken SQL generated for dynamic batch fetching entities with a composite ID - * [HHH-9760] - TransactionImpl itself should not be throwing new TransactionExceptions - * [HHH-9765] - Re-introduce ExceptionMapper, ManagedFlushChecker and AfterCompletionAction - * [HHH-9768] - Maintain explicit list of ANSI SQL keywords - * [HHH-9772] - annotation @ListIndexBase has no runtime retention, so it is not available through AnnotationBinder configuration - * [HHH-9773] - Add missing package statements to package-info.java files in hibernate-jpamodelgen - * [HHH-9776] - org.hibernate.cache.infinispan.impl.BaseRegion.getElementCountInMemory() is no longer correct - * [HHH-9777] - Dereferenced collections are not processed properly - * [HHH-9787] - Remove outdated Infinispan configuration elements - * [HHH-9788] - SchemaUpdate and quoted identifiers causes tables/columns to not be found based on name search - * [HHH-9797] - Inaccurate logged warning about duplicate joins (HHH000072) - * [HHH-9798] - Unique constraint of @JoinColumn in @JoinTable not generated - * [HHH-9806] - Bytecode-enhancement-based dirty tracking does not work because PersistentAttributeInterceptor is never injected - -** Improvement - * [HHH-8804] - Ability to use parametrized type as AttributeConverter type parameter - * [HHH-8898] - Allow usage of try-with to autoclose Session, SessionFactory and ScrollableResults - * [HHH-9695] - Use non-transactional cache for immutable entities - * [HHH-9781] - Upgrade Hibernate to support Infinispan 7.2.1.Final configurations - * [HHH-9795] - Create delegating base class for SessionFactory(Implementor) implementations - * [HHH-9804] - Ehcache integration uses a write lock where a read lock is requested in EhcacheTransactionalDataRegion - * [HHH-9820] - Handle JDBC drivers that do not properly report metadata regarding case of identifiers - * [HHH-9823] - org.hibernate.cfg.annotations.SimpleValueBinder#fillSimpleValue incorrectly using HCANN classloading directly - -** New Feature - * [HHH-9761] - Make native APIs typed - * [HHH-9762] - Complete deprecation of Settings contract - -** Task - * [HHH-9697] - Complete documentation of new approach and APIs for SessionFactory building - * [HHH-9699] - Re-work the hibernate-osgi integration tests using managed Karaf - * [HHH-9782] - Build plugins could pick up JAVA6_HOME as environment variable - * [HHH-9783] - TestableLoggerProvider needs to implement a new method after upgrade of JBoss Logger - * [HHH-9790] - Remove deprecated methods from Session and SessionFactory - * [HHH-9792] - Clean up missed Configuration methods - * [HHH-9796] - Allow running hibernate-infinspan tests using Infinispan configuration specified by hibernate.cache.infinispan.cfg - * [HHH-9803] - Checkstyle fix ups - * [HHH-9809] - Improve Hibernate Gradle plugin - * [HHH-9811] - Change EntityPersister#resolveAttributeIndexes to take String[] - * [HHH-9813] - Improve Hibernate Enhance Maven Plugin - - - -Changes in 5.0.0.Beta2 (April 29, 2015) ------------------------------------------------------------------------------------------------------------------------- -https://hibernate.atlassian.net/projects/HHH/versions/19550 - -** Bug - * [HHH-9250] - BigIntegerSequenceGeneratorTest.testBasics fails on MS SQL Server 2012 - * [HHH-9704] - Complete HHH-8805 work on 5.0 - * [HHH-9709] - JPA @ForeignKey not consistently applied from annotation binding - * [HHH-9713] - Creating an index in the database incorrectly tries to qualify the index with table name for some databases - * [HHH-9716] - Previously working schema creation fails on 5.0 - * [HHH-9722] - toLowerCase() still causes bugs in Turkish locale - * [HHH-9736] - BigIntegerType should use BigIntTypeDescriptor - * [HHH-9747] - Import initial reworking of transaction handling (based on JdbcSession work) - -** Improvement - * [HHH-9550] - Allow a dialect to specify the level of catalog/schema support - * [HHH-9726] - Rename MetadataBuilderContributor to MetadataBuilderInitializer and pass it the StandardServiceRegistry - * [HHH-9727] - Slight redesign to bootstrapping APIs to allow for OGM bootstrapping - * [HHH-9728] - Audit Settings to decide what should become a SessionFactoryServiceRegistry service - * [HHH-9746] - Improve hibernate-spatial integration - -** New Feature - * [HHH-9724] - More complete "temp table" coverage and allow Dialects to influence which strategy is used - -** Remove Feature - * [HHH-9753] - Remove ClassicAvgFunction, ClassicCountFunction, ClassicSumFunction - -** Task - * [HHH-6509] - import Hibernate Spatial into Hibernate core as a module - * [HHH-9701] - Develop "immutable EntityEntry" impl - * [HHH-9706] - Review concurrency of ClassLoaderService and warn against reuse - * [HHH-9717] - Build script improvements - * [HHH-9732] - Convert SQLFunctionRegistry to use a case-insensitive Map, rather than relying on code outside it using lower-case keys - * [HHH-9733] - Add checks for no-arg uses of String#toUpperCase and String#toLowerCase - - - -Changes in 5.0.0.Beta1 (March 31, 2015) ------------------------------------------------------------------------------------------------------------------------- -https://hibernate.atlassian.net/projects/HHH/versions/18450 - -** Sub-task - * [HHH-7998] - Add TypeContributions interface - * [HHH-9690] - Improve design of Enhancer - -** Bug - * [HHH-3868] - Merging transient entity with a component property with parent mapping causes NullPointerException - * [HHH-5654] - query.setLockMode("alias", LockMode.LockMode.PESSIMISTIC_WRITE); does not Lock in PostgreSqlDialect - * [HHH-6005] - Better handling of implicit column naming with @ElementCollection of @Embeddables - * [HHH-7375] - TimeZone of Calendar objects should be used in binding to JDBC statements - * [HHH-8494] - Misleading log info during batch execution - * [HHH-8769] - NPE when using dynamic model mapping - * [HHH-8788] - Unnecessary warning logged about follow-on locking with Criteria query and LockMode NONE - * [HHH-8805] - [SchemaUpdate] javax.persistence.ForeignKey doesn't respect ConstraintMode.NO_CONSTRAINT - * [HHH-8866] - HQL Query with enum and @Convert - * [HHH-8879] - Regression: Embeddable with associations as @MapKey - * [HHH-8895] - Filter for MappedSuperClass stopped to work from 4.1.6.Final - * [HHH-8901] - Create base delegator impls for SessionBuilder and SharedSessionBuilder for use by Search - * [HHH-8911] - ClassCastException between CompositeCustomType and ComponentType - * [HHH-8994] - QueryException during startup with composite key in ElementCollection map - * [HHH-9044] - Create Oracle12cDialect - * [HHH-9091] - Collection deleted due to orphan removal fails with constraint violation - * [HHH-9141] - Remove deprecated PersistenceProvider from hibernate-entitymanager META-INF/services/javax.persistence.spi.PersistenceProvider - * [HHH-9247] - JPA 2.1 Named Entity Graph cannot be configured in ORM XML - * [HHH-9300] - DB2Dialect generates invalid order by clause - * [HHH-9320] - AttributeConverter result ignored on extraction when ResultSet.wasNull - * [HHH-9330] - orphanRemoval=true does not work in bidirectional relationships (without cascading) - * [HHH-9333] - TypeMismatchException when using composite-id and natural-id mappings - * [HHH-9337] - Region.destroy() attempts to remove a cache listener, but region class is not annotated with @Listener - * [HHH-9392] - SQLGrammarException while executing a entity graph with subgraphs - * [HHH-9401] - SQL warnings are never logged due to incorrect condition check - * [HHH-9419] - Remove after get with optimistic lock fails - * [HHH-9444] - Rounding of fractional seconds causes test failures on MySQL 5.6.4+ - * [HHH-9448] - Association is not fetched when EntityGraph has explicit fetch and query has implicit join - * [HHH-9451] - Extra state is not propagated from temporary entity entries - * [HHH-9457] - EntityGraph with order by using Oracle10gDialect - * [HHH-9467] - Cannot enable NamingStrategyDelegator implementations using standalone schema tools - * [HHH-9498] - Using C3P0 connection pool but not setting hibernate.connection.isolation results in a NumberFormatException - * [HHH-9500] - H2: SchemaExport ERROR when using in-memory database - drop constraint issue HHH000389 - * [HHH-9523] - EnumeratedTypeTest - select from dual causes test failures on mssql, postgresql, db2 and sybase - * [HHH-9528] - InputStream leak from opening resources - * [HHH-9549] - Selecting treated root generates invalid HQL - * [HHH-9561] - Master version is 4.3.7-SNAPSHOT; should be 5.0.0-SNAPSHOT - * [HHH-9568] - EntityManager.flush() does not behave properly with transient one-to-one association and no cascade - * [HHH-9597] - Criteria creates invalid Column aliases. - * [HHH-9599] - AnnotationException occurs when applying @Nationalized and @Convert annotations to the same field - * [HHH-9605] - Query on an enum collection fails - * [HHH-9633] - Add tests that explicitly test the "main" NamingStrategy impls - * [HHH-9639] - Unwrap in HikariCPConnectionProvider fails to unwrap DataSource - * [HHH-9642] - Embedded OneToMany association fetch join does not work in CriteriaQuery - * [HHH-9659] - AnnotationMetadataSourceProcessorImpl uses a Logger.debugf method without matching parameters - * [HHH-9679] - hibernate-enhance-maven-plugin uses no-longer support syntax in its build script - * [HHH-9680] - hibernate-osgi module has gone cra-cra again - * [HHH-9689] - Avoid NPE when trying to load non-existent properties resource - -** Deprecation - * [HHH-9645] - buildSessionFactory() should return a sessionFactory - -** Improvement - * [HHH-6670] - H2Dialect should use "if exists" when dropping sequences - * [HHH-8191] - Update Teradata Dialect for Teradata 14.0 - * [HHH-8401] - Support fractional seconds on MySQL 5.7 - * [HHH-8697] - AttributeConverter not called when value is null - * [HHH-8844] - Add support for Java 8 date and time types (JSR-310) - * [HHH-9043] - Allow customization of the modified field flag - * [HHH-9324] - Avoid creation of LimitHandler instances for every query - * [HHH-9328] - Avoid creation of Cascade objects at all - * [HHH-9336] - Avoid creation of TypedValue objects in AbstractPersistentCollection#getOrphans(Collection, Collection, String, SessionImplementor) for some ID types. - * [HHH-9479] - Avoid immediate collection capacity increase in ActionQueue constructor - * [HHH-9488] - Move scanning from HEM to core - * [HHH-9490] - Migrate from dom4j to jaxb for XML processing - * [HHH-9492] - Migrate to new bootstrap API (MetadataSources, etc) - * [HHH-9497] - Remove call to Ehcache ClassLoaderUtil.getStandardClassLoader() as it has been removed in Ehcache 2.8.3+ - * [HHH-9545] - H2Dialect should use "if exists" when dropping constraints - * [HHH-9556] - support query hints for SQL Server 2012 - * [HHH-9562] - Dialect specific UUID handling - * [HHH-9600] - remove outdated info about cache concurrency strategies support - * [HHH-9601] - table schema not paired with @OrderColumn name value in example 7.8 - * [HHH-9621] - Add HQL query to warning about positional parameter usage - * [HHH-9647] - Update jboss logging to 3.2.1.Final - * [HHH-9648] - Upgrade to HikariCP v. 2.3.3 (Java 6 compatible edition) - * [HHH-9655] - Add logging to help better track down tests that leave SessionFactories open - * [HHH-9658] - Simplify the way tests assert on logging statements - * [HHH-9698] - Leverage ClassLoaderDelegate stuff added to HCANN as means to avoid its need for TCCL - -** New Feature - * [HHH-7078] - Split NamingStrategy into ImplicitNamingStrategy/PhysicalNamingStrategy - * [HHH-8869] - Create HikariCP connection pool module - * [HHH-9042] - Add support in Envers for converted (AttributeConverter) attributes - * [HHH-9167] - Support Postgres9.2 JSON data type - * [HHH-9265] - Extract EntityEntry behind a factory + interface - * [HHH-9524] - Make strategy for interpreting id-generator annotations pluggable - * [HHH-9577] - Make UUID generation the default (AUTO) for UUID type - -** Patch - * [HHH-9495] - @Convert support for collections - -** Task - * [HHH-9466] - Drop metamodel package from source - * [HHH-9471] - OSGi tests failing again after changes done for HHH-9466 - * [HHH-9487] - Improve AvailableSettings javadoc for session_factory_name / session_factory_name_is_jndi - * [HHH-9508] - Avoid source code syntax which fails in Eclipse - * [HHH-9573] - Add EntityManager test case illustrating usage of query cache - * [HHH-9632] - Upgrade to Infinispan 7.1.0.Final - * [HHH-9654] - Adjust envers for 5.0 APIs + JAXB - * [HHH-9668] - Initial documentation of new approach and APIs for SessionFactory building - * [HHH-9677] - Upgrade Gradle - * [HHH-9678] - Change built-in SqlTypeDescriptor impls to not auto-register themselves with SqlTypeDescriptorRegistry - * [HHH-9700] - Make EntityEntryFactory pluggable via EntityPersister - diff --git a/hibernate-core/src/main/java/org/hibernate/internal/CoreMessageLogger.java b/hibernate-core/src/main/java/org/hibernate/internal/CoreMessageLogger.java index b09b0a4f4a..c067f6d086 100644 --- a/hibernate-core/src/main/java/org/hibernate/internal/CoreMessageLogger.java +++ b/hibernate-core/src/main/java/org/hibernate/internal/CoreMessageLogger.java @@ -333,12 +333,6 @@ public interface CoreMessageLogger extends BasicLogger { @Message(value = "Found mapping document in jar: %s", id = 109) void foundMappingDocument(String name); - @LogMessage(level = ERROR) - @Message(value = "Getters of lazy classes cannot be final: %s.%s", id = 112) - void gettersOfLazyClassesCannotBeFinal( - String entityName, - String name); - @LogMessage(level = WARN) @Message(value = "GUID identifier generated: %s", id = 113) void guidGenerated(String result); @@ -763,12 +757,6 @@ public interface CoreMessageLogger extends BasicLogger { @Message(value = "Sessions opened: %s", id = 242) void sessionsOpened(long sessionOpenCount); - @LogMessage(level = ERROR) - @Message(value = "Setters of lazy classes cannot be final: %s.%s", id = 243) - void settersOfLazyClassesCannotBeFinal( - String entityName, - String name); - @LogMessage(level = WARN) @Message(value = "@Sort not allowed for an indexed collection, annotation ignored.", id = 244) void sortAnnotationIndexedCollection(); diff --git a/hibernate-core/src/main/java/org/hibernate/proxy/pojo/ProxyFactoryHelper.java b/hibernate-core/src/main/java/org/hibernate/proxy/pojo/ProxyFactoryHelper.java index af9a3d7e3b..4f64fc6bb9 100644 --- a/hibernate-core/src/main/java/org/hibernate/proxy/pojo/ProxyFactoryHelper.java +++ b/hibernate-core/src/main/java/org/hibernate/proxy/pojo/ProxyFactoryHelper.java @@ -11,6 +11,7 @@ import java.lang.reflect.Modifier; import java.util.Iterator; import java.util.Set; +import org.hibernate.HibernateException; import org.hibernate.MappingException; import org.hibernate.internal.CoreLogging; import org.hibernate.internal.CoreMessageLogger; @@ -84,14 +85,21 @@ public final class ProxyFactoryHelper { Class clazz = persistentClass.getMappedClass(); while ( properties.hasNext() ) { Property property = (Property) properties.next(); - Method method = property.getGetter( clazz ).getMethod(); - if ( method != null && Modifier.isFinal( method.getModifiers() ) ) { - LOG.gettersOfLazyClassesCannotBeFinal( persistentClass.getEntityName(), property.getName() ); - } - method = property.getSetter( clazz ).getMethod(); - if ( method != null && Modifier.isFinal( method.getModifiers() ) ) { - LOG.settersOfLazyClassesCannotBeFinal( persistentClass.getEntityName(), property.getName() ); - } + validateGetterSetterMethodProxyability( "Getter", property.getGetter( clazz ).getMethod() ); + validateGetterSetterMethodProxyability( "Setter", property.getSetter( clazz ).getMethod() ); + } + } + + public static void validateGetterSetterMethodProxyability(String getterOrSetter, Method method ) { + if ( method != null && Modifier.isFinal( method.getModifiers() ) ) { + throw new HibernateException( + String.format( + "%s methods of lazy classes cannot be final: %s#%s", + getterOrSetter, + method.getDeclaringClass().getName(), + method.getName() + ) + ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/tuple/entity/PojoEntityTuplizer.java b/hibernate-core/src/main/java/org/hibernate/tuple/entity/PojoEntityTuplizer.java index 8125c2174c..cfe598b281 100644 --- a/hibernate-core/src/main/java/org/hibernate/tuple/entity/PojoEntityTuplizer.java +++ b/hibernate-core/src/main/java/org/hibernate/tuple/entity/PojoEntityTuplizer.java @@ -88,13 +88,17 @@ public class PojoEntityTuplizer extends AbstractEntityTuplizer { final Set proxyInterfaces = ProxyFactoryHelper.extractProxyInterfaces( persistentClass, entityName ); - ProxyFactoryHelper.validateProxyability( persistentClass ); - Method proxyGetIdentifierMethod = ProxyFactoryHelper.extractProxyGetIdentifierMethod( idGetter, proxyInterface ); Method proxySetIdentifierMethod = ProxyFactoryHelper.extractProxySetIdentifierMethod( idSetter, proxyInterface ); ProxyFactory pf = buildProxyFactoryInternal( persistentClass, idGetter, idSetter ); try { + + ProxyFactoryHelper.validateGetterSetterMethodProxyability( "Getter", proxyGetIdentifierMethod ); + ProxyFactoryHelper.validateGetterSetterMethodProxyability( "Setter", proxySetIdentifierMethod ); + + ProxyFactoryHelper.validateProxyability( persistentClass ); + pf.postInstantiate( entityName, mappedClass, diff --git a/hibernate-core/src/test/java/org/hibernate/engine/jdbc/dialect/internal/StandardDialectResolverTest.java b/hibernate-core/src/test/java/org/hibernate/engine/jdbc/dialect/internal/StandardDialectResolverTest.java index 61e59895dd..055bca8ec7 100644 --- a/hibernate-core/src/test/java/org/hibernate/engine/jdbc/dialect/internal/StandardDialectResolverTest.java +++ b/hibernate-core/src/test/java/org/hibernate/engine/jdbc/dialect/internal/StandardDialectResolverTest.java @@ -13,8 +13,8 @@ import org.junit.Test; import java.sql.SQLException; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; /** * Unit test of the {@link StandardDialectResolver} class. @@ -44,7 +44,7 @@ public class StandardDialectResolverTest extends BaseUnitTestCase { @Test public void testResolveDialectInternalForSQLServer2012() throws SQLException { - runSQLServerDialectTest( 11, SQLServer2008Dialect.class ); + runSQLServerDialectTest( 11, SQLServer2012Dialect.class ); } @Test @@ -93,7 +93,7 @@ public class StandardDialectResolverTest extends BaseUnitTestCase { @Test public void testResolveDialectInternalForPostgres92() throws SQLException { - runPostgresDialectTest( 9, 2, PostgreSQL9Dialect.class ); + runPostgresDialectTest( 9, 2, PostgreSQL92Dialect.class ); } @Test @@ -131,6 +131,17 @@ public class StandardDialectResolverTest extends BaseUnitTestCase { runMySQLDialectTest( 5, 7, MySQL57Dialect.class ); } + @Test + public void testResolveDialectInternalForMySQL6() throws SQLException { + runMySQLDialectTest( 6, 0, MySQL57Dialect.class ); + } + + @Test + public void testResolveDialectInternalForMySQL7() throws SQLException { + runMySQLDialectTest( 7, 0, MySQL57Dialect.class ); + } + + @Test public void testResolveDialectInternalForMySQL8() throws SQLException { runMySQLDialectTest( 8, 0, MySQL8Dialect.class ); @@ -188,8 +199,11 @@ public class StandardDialectResolverTest extends BaseUnitTestCase { String dbms = builder.toString(); assertNotNull( "Dialect for " + dbms + " should not be null", dialect ); - assertTrue( "Dialect for " + dbms + " should be " - + expectedDialect.getSimpleName(), - expectedDialect.isInstance( dialect ) ); + // Make sure to test that the actual dialect class is as expected + // (not just an instance of the expected dialect. + assertEquals( "Dialect for " + dbms + " should be " + expectedDialect.getSimpleName(), + expectedDialect, + dialect.getClass() + ); } } diff --git a/hibernate-core/src/test/java/org/hibernate/test/proxy/FinalGetterSetterTest.java b/hibernate-core/src/test/java/org/hibernate/test/proxy/FinalGetterSetterTest.java new file mode 100644 index 0000000000..7f4c742b5e --- /dev/null +++ b/hibernate-core/src/test/java/org/hibernate/test/proxy/FinalGetterSetterTest.java @@ -0,0 +1,502 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * License: GNU Lesser General Public License (LGPL), version 2.1 or later. + * See the lgpl.txt file in the root directory or . + */ +package org.hibernate.test.proxy; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Version; + +import org.hibernate.Hibernate; +import org.hibernate.ObjectNotFoundException; + +import org.hibernate.testing.TestForIssue; +import org.hibernate.testing.junit4.BaseNonConfigCoreFunctionalTestCase; +import org.junit.Test; + +import static org.hibernate.testing.transaction.TransactionUtil.doInHibernate; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +/** + * @author Gail Badner + */ +@TestForIssue( jiraKey = "HHH-13891" ) +public class FinalGetterSetterTest extends BaseNonConfigCoreFunctionalTestCase { + + @Test + public void testEntityWithFinalClass() { + doInHibernate( this::sessionFactory, session -> { + assertNull( session.get( EntityWithFinalClass.class, 999 ) ); + }); + + try { + doInHibernate( this::sessionFactory, session -> { + session.load( EntityWithFinalClass.class, 999 ); + }); + fail( "Should have thrown ObjectNotFoundException" ); + } + catch (ObjectNotFoundException expected) { + } + + doInHibernate( this::sessionFactory, session -> { + final EntityWithFinalClass entity = new EntityWithFinalClass(); + entity.id = 1; + entity.name = "An Entity"; + session.persist( entity ); + }); + + doInHibernate( this::sessionFactory, session -> { + final EntityWithFinalClass entity = session.load( EntityWithFinalClass.class, 1 ); + assertNotNull( entity ); + assertTrue( Hibernate.isInitialized( entity ) ); + }); + } + + @Test + public void testEntityWithFinalIdGetter() { + doInHibernate( this::sessionFactory, session -> { + assertNull( session.get( EntityWithFinalIdGetter.class, 999 ) ); + }); + + try { + doInHibernate( this::sessionFactory, session -> { + session.load( EntityWithFinalIdGetter.class, 999 ); + }); + fail( "Should have thrown ObjectNotFoundException" ); + } + catch (ObjectNotFoundException expected) { + } + + doInHibernate( this::sessionFactory, session -> { + final EntityWithFinalIdGetter entity = new EntityWithFinalIdGetter(); + entity.id = 1; + entity.name = "An Entity"; + session.persist( entity ); + }); + + doInHibernate( this::sessionFactory, session -> { + final EntityWithFinalIdGetter entity = session.load( EntityWithFinalIdGetter.class, 1 ); + assertNotNull( entity ); + assertTrue( Hibernate.isInitialized( entity ) ); + }); + } + + @Test + public void testEntityWithFinalIdSetter() { + doInHibernate( this::sessionFactory, session -> { + assertNull( session.get( EntityWithFinalIdSetter.class, 999 ) ); + }); + + try { + doInHibernate( this::sessionFactory, session -> { + session.load( EntityWithFinalIdSetter.class, 999 ); + }); + fail( "Should have thrown ObjectNotFoundException" ); + } + catch (ObjectNotFoundException expected) { + } + + doInHibernate( this::sessionFactory, session -> { + final EntityWithFinalIdSetter entity = new EntityWithFinalIdSetter(); + entity.id = 1; + entity.name = "An Entity"; + session.persist( entity ); + }); + + doInHibernate( this::sessionFactory, session -> { + final EntityWithFinalIdSetter entity = session.load( EntityWithFinalIdSetter.class, 1 ); + assertNotNull( entity ); + assertTrue( Hibernate.isInitialized( entity ) ); + }); + } + + @Test + public void testEntityWithFinalVersionGetter() { + doInHibernate( this::sessionFactory, session -> { + assertNull( session.get( EntityWithFinalVersionGetter.class, 999 ) ); + }); + + try { + doInHibernate( this::sessionFactory, session -> { + session.load( EntityWithFinalVersionGetter.class, 999 ); + }); + fail( "Should have thrown ObjectNotFoundException" ); + } + catch (ObjectNotFoundException expected) { + } + + doInHibernate( this::sessionFactory, session -> { + final EntityWithFinalVersionGetter entity = new EntityWithFinalVersionGetter(); + entity.id = 1; + entity.name = "An Entity"; + session.persist( entity ); + }); + + doInHibernate( this::sessionFactory, session -> { + final EntityWithFinalVersionGetter entity = session.load( EntityWithFinalVersionGetter.class, 1 ); + assertNotNull( entity ); + assertTrue( Hibernate.isInitialized( entity ) ); + }); + } + + @Test + public void testEntityWithFinalVersionSetter() { + doInHibernate( this::sessionFactory, session -> { + assertNull( session.get( EntityWithFinalVersionSetter.class, 999 ) ); + }); + + try { + doInHibernate( this::sessionFactory, session -> { + session.load( EntityWithFinalVersionSetter.class, 999 ); + }); + fail( "Should have thrown ObjectNotFoundException" ); + } + catch (ObjectNotFoundException expected) { + } + + doInHibernate( this::sessionFactory, session -> { + final EntityWithFinalVersionSetter entity = new EntityWithFinalVersionSetter(); + entity.id = 1; + entity.name = "An Entity"; + session.persist( entity ); + }); + + doInHibernate( this::sessionFactory, session -> { + final EntityWithFinalVersionSetter entity = session.load( EntityWithFinalVersionSetter.class, 1 ); + assertNotNull( entity ); + assertTrue( Hibernate.isInitialized( entity ) ); + }); + } + + @Test + public void testEntityWithFinalPropertyGetter() { + doInHibernate( this::sessionFactory, session -> { + assertNull( session.get( EntityWithFinalPropertyGetter.class, 999 ) ); + }); + + try { + doInHibernate( this::sessionFactory, session -> { + session.load( EntityWithFinalPropertyGetter.class, 999 ); + }); + fail( "Should have thrown ObjectNotFoundException" ); + } + catch (ObjectNotFoundException expected) { + } + + doInHibernate( this::sessionFactory, session -> { + final EntityWithFinalPropertyGetter entity = new EntityWithFinalPropertyGetter(); + entity.id = 1; + entity.name = "An Entity"; + session.persist( entity ); + }); + + doInHibernate( this::sessionFactory, session -> { + final EntityWithFinalPropertyGetter entity = session.load( EntityWithFinalPropertyGetter.class, 1 ); + assertNotNull( entity ); + assertTrue( Hibernate.isInitialized( entity ) ); + }); + } + + @Test + public void testEntityWithFinalPropertySetter() { + doInHibernate( this::sessionFactory, session -> { + assertNull( session.get( EntityWithFinalPropertySetter.class, 999 ) ); + }); + + try { + doInHibernate( this::sessionFactory, session -> { + session.load( EntityWithFinalPropertySetter.class, 999 ); + }); + fail( "Should have thrown ObjectNotFoundException" ); + } + catch (ObjectNotFoundException expected) { + } + + doInHibernate( this::sessionFactory, session -> { + final EntityWithFinalPropertySetter entity = new EntityWithFinalPropertySetter(); + entity.id = 1; + entity.name = "An Entity"; + session.persist( entity ); + }); + + doInHibernate( this::sessionFactory, session -> { + final EntityWithFinalPropertySetter entity = session.load( EntityWithFinalPropertySetter.class, 1 ); + assertNotNull( entity ); + assertTrue( Hibernate.isInitialized( entity ) ); + }); + } + + @Override + public Class[] getAnnotatedClasses() { + return new Class[] { + EntityWithFinalClass.class, + EntityWithFinalIdGetter.class, + EntityWithFinalIdSetter.class, + EntityWithFinalVersionGetter.class, + EntityWithFinalVersionSetter.class, + EntityWithFinalPropertyGetter.class, + EntityWithFinalPropertySetter.class + }; + } + + @Entity( name = "EntityWithFinalClass") + public static final class EntityWithFinalClass { + + @Id + private int id; + + @Version + @Column(name = "ver") + private int version; + + private String name; + + public final int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getVersion() { + return version; + } + + public void setVersion(int version) { + this.version = version; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + } + + @Entity( name = "EntityWithFinalIdGetter") + public static class EntityWithFinalIdGetter { + + @Id + private int id; + + @Version + @Column(name = "ver") + private int version; + + private String name; + + public final int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getVersion() { + return version; + } + + public void setVersion(int version) { + this.version = version; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + } + + @Entity( name = "EntityWithFinalIdSetter") + public static class EntityWithFinalIdSetter { + @Id + private int id; + + @Version + @Column(name = "ver") + private int version; + + private String name; + + public int getId() { + return id; + } + + public final void setId(int id) { + this.id = id; + } + + public int getVersion() { + return version; + } + + public void setVersion(int version) { + this.version = version; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + } + + @Entity( name = "EntityWithFinalVersionGetter") + public static class EntityWithFinalVersionGetter { + @Id + private int id; + + @Version + @Column(name = "ver") + private int version; + + private String name; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public final int getVersion() { + return version; + } + + public void setVersion(int version) { + this.version = version; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + } + + @Entity( name = "EntityWithFinalVersionSetter") + public static class EntityWithFinalVersionSetter { + @Id + private int id; + + @Version + @Column(name = "ver") + private int version; + + private String name; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getVersion() { + return version; + } + + public final void setVersion(int version) { + this.version = version; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + } + + @Entity( name = "EntityWithFinalPropertyGetter") + public static class EntityWithFinalPropertyGetter { + @Id + private int id; + + @Version + @Column(name = "ver") + private int version; + + private String name; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getVersion() { + return version; + } + + public void setVersion(int version) { + this.version = version; + } + + public final String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + } + + @Entity( name = "EntityWithFinalPropertySetter") + public static class EntityWithFinalPropertySetter { + @Id + private int id; + + @Version + @Column(name = "ver") + private int version; + + private String name; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getVersion() { + return version; + } + + public void setVersion(int version) { + this.version = version; + } + + public String getName() { + return name; + } + + public final void setName(String name) { + this.name = name; + } + } +}