hibernate-orm/changelog.txt

365 lines
24 KiB
Plaintext

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