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