The second candidate release for Hibernate ORM 5.0. CR2 was required because of a bug in how class-loading worked in certain managed JPA environments. The details can be found in HHH-9887. The main changes since CR1 include:
This is the blocking issue mentioned above. The problem would occur in environments passing a "temp ClassLoader" into
Hibernate via the JPA integration SPI (
javax.persistence.spi.PersistenceUnitInfo#getNewTempClassLoader) and manifest itself
The second-level caching SPI was improved, allowing the caching providers to generate cache keys. This includes the addition of the following methods:
For those making use of caching immutable entities by reference (rather than by "disassembled" state), an additional performance improvement is included in CR2.
A new feature in 5.0 is the automatic quoting of identifiers that are believed to be keywords in the underlying database.
As this support is new, often the Dialects are too aggressive in what they deem to be keywords.
Thus we added a new setting to disable this behavior if it causes problems in your application.
This can be controlled by specifying
hibernate.auto_quote_keyword as false in configuration settings.
added ability for automatic management of bi-directional associations
self-contained dirty state tracking (more efficient flushing), including switchable algorithms for dirty determination