Вы находитесь на странице: 1из 125

Hibernate Changelog

Note: Newer entries are automatically generated and the description might not
match the actual issue resolution (i.e. a bug might not be a bug). Please
refer to the particular case on JIRA using the issue tracking number to learn
more about each case.

Changes in version 4.3.11.Final (2015.08.05)


** Bug
[HHH-2851] - ParameterTranslationsImpl fails to correctly determine parameter
[HHH-5255] - Merge detached entity failed when the instrumented lazy property
is initialized
[HHH-7573] - Lazy properties are not processed properly after a PreUpdate
[HHH-8615] - Shared type parameters results in inconsistent internal model
(especially with DynamicParameterizedType)
[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-9637] - Join is reused when 2 explicit joins are used for the same ToOne
[HHH-9757] - Incorrect image path generated in HTML rendering
[HHH-9772] - annotation @ListIndexBase has no runtime retention, so it is not
available through AnnotationBinder configuration
[HHH-9777] - Dereferenced collections are not processed properly
[HHH-9805] - Column name specified in @JoinColumn is not quoted with option

** Improvement
[HHH-8804] - Ability to use parametrized type as AttributeConverter type
[HHH-9518] - Exception and logging messages for collection multi-session access
needs to be improved
[HHH-9869] - SizeExpression toString is misleading

** Task
[HHH-9802] - Allow running hibernate-infispan unit tests using Infinispan
7.2.1.Final as a run-time dependency

Changes in version 4.3.10.Final (2015.05.14)


** Bug
[HHH-9250] - BigIntegerSequenceGeneratorTest.testBasics fails on MS SQL Server
[HHH-9722] - toLowerCase() still causes bugs in Turkish locale
[HHH-9737] - Miscellaneous bugs in unit tests when using non-default dialects
[HHH-9758] - Broken SQL generated for dynamic batch fetching entities with a
composite ID
[HHH-9776] -
org.hibernate.cache.infinispan.impl.BaseRegion.getElementCountInMemory() is no
longer correct

** Deprecation
[HHH-9752] - Deprecate ClassicAvgFunction, ClassicCountFunction,

** Improvement
[HHH-9781] - Upgrade Hibernate to support Infinispan 7.2.1.Final configurations

** Task
[HHH-9796] - Allow running hibernate-infinspan tests using Infinispan
configuration specified by hibernate.cache.infinispan.cfg

Changes in version 4.3.9.Final (2015.04.15)


** Bug
[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-8866] - HQL Query with enum and @Convert
[HHH-8879] - Regression: Embeddable with associations as @MapKey
[HHH-8911] - ClassCastException between CompositeCustomType and ComponentType
[HHH-8994] - QueryException during startup with composite key in
ElementCollection map
[HHH-9091] - Collection deleted due to orphan removal fails with constraint
[HHH-9247] - JPA 2.1 Named Entity Graph cannot be configured in ORM XML
[HHH-9320] - AttributeConverter result ignored on extraction when
[HHH-9333] - TypeMismatchException when using composite-id and natural-id
[HHH-9392] - SQLGrammarException while executing a entity graph with subgraphs
[HHH-9446] - ClassCastException on loaded entities under GlassFish 4.0
[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-9468] - Add documentation about enabling NamingStrategyDelegator
[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-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

** Deprecation
[HHH-9645] - buildSessionFactory() should return a sessionFactory
** Improvement
[HHH-8697] - AttributeConverter not called when value is null
[HHH-9043] - Allow customization of the modified field flag
[HHH-9497] - Remove call to Ehcache ClassLoaderUtil.getStandardClassLoader() as
it has been removed in Ehcache 2.8.3+
[HHH-9600] - remove outdated info about cache concurrency strategies support
[HHH-9601] - table schema not paired with @OrderColumn name value in example
[HHH-9621] - Add HQL query to warning about positional parameter usage
[HHH-9648] - Upgrade to HikariCP v. 2.3.3 (Java 6 compatible edition)

** Patch
[HHH-9495] - @Convert support for collections

** Task
[HHH-9573] - Add EntityManager test case illustrating usage of query cache
[HHH-9678] - Change built-in SqlTypeDescriptor impls to not auto-register
themselves with SqlTypeDescriptorRegistry

Changes in version 4.3.8.Final (2015.01.06)


** Bug
[HHH-9330] - orphanRemoval=true does not work in bidirectional relationships
(without cascading)
[HHH-9337] - Region.destroy() attempts to remove a cache listener, but region
class is not annotated with @Listener
[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
[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

** Improvement
[HHH-6670] - H2Dialect should use "if exists" when dropping sequences
[HHH-8401] - Support fractional seconds on MySQL 5.7
[HHH-9479] - Avoid immediate collection capacity increase in ActionQueue
[HHH-9545] - H2Dialect should use "if exists" when dropping constraints

** Task
[HHH-9508] - Avoid source code syntax which fails in Eclipse

Changes in version 4.3.7.Final (2014.10.30)


** Sub-task
[HHH-9387] - Default table name for @ElementCollection uses owning entity class
[HHH-9389] - Default join column name (FK) for @ElementCollection uses owning
entity class name
[HHH-9390] - Default join column name (FK) for @ManyToMany uses owning entity
primary table name

** Bug
[HHH-3868] - Merging transient entity with a component property with parent
mapping causes NullPointerException
[HHH-8839] - Eager Map with entity key causes IllegalStateException: Collection
element (many-to-many) table alias cannot be empty
[HHH-8895] - Filter for MappedSuperClass stopped to work from 4.1.6.Final
[HHH-8949] - @QueryHint( name="javax.persistence.cache.retrieveMode",
value="<valid value>") does not work
[HHH-9142] - Cannot join multiple EntityMode.MAP entities
[HHH-9251] - ORM JavaDoc is not generated correctly
[HHH-9290] - On Oracle, not all temporary tables have HT_ prefix
[HHH-9305] - HQL FromElement is not reused in some cases resulting in an
additional join
[HHH-9312] - Database connection leak with JTA transaction tracking and
background thread not releasing database connection
[HHH-9327] - NamingStrategy regression (reverts HHH-9280)
[HHH-9369] - @Formula of enum type results in ClassCastException
[HHH-9455] - Hibernate triggers unnecessary select count query that imposes
negative effect on performance.
[HHH-9461] - Cannot enable NamingStrategyDelegator implementations using entity

** Deprecation
[HHH-7079] - Deprecate NamingStrategy

** Improvement
[HHH-9294] - Reduce throw of NumberFormatException in BaseQueryImpl
[HHH-9344] - Favor System.nanoTime rather than System.currentTimeMillis for
time interval measurements
[HHH-9388] - Create more flexible way to generate table and column names

Changes in version 4.3.6.Final (2014.07.16)


** Sub-task
* [HHH-9213] - org.hibernate.test.cache.CollectionCacheEvictionTest test fails
on SAP/Sybase ase
* [HHH-9214] - org.hibernate.test.generated.DefaultGeneratedValueTest test
failure on SAP/Sybase ASE
* [HHH-9215] - org.hibernate.test.sql.hand.query.NativeSQLQueriesTest failure
on SAP/Sybase ASE

** Bug
* [HHH-4700] - ClassCastException with parameter as CASE results
* [HHH-5811] - Flush causes update query on field of type Byte[]
* [HHH-6747] - ClassCastException when rendering SimpleCaseExpression
* [HHH-8237] - Type mapping of @ColumnResult is ignored
* [HHH-8310] - Lob proxy class loading problem
* [HHH-8816] - Unable to instantiate AttributeConverter: root cause of
exception hidden
* [HHH-8818] - Hibernate 4.3.0.Final can no longer find JNDI DataSource that
<=4.2.x and 4.3.0.Beta4 could find
* [HHH-8885] - MapJoin.key() produces unusable Path object
* [HHH-8908] - Envers: Column of Embedded missing in Audit Table
* [HHH-8941] - missing replace function for FirebirdDialect
* [HHH-8980] - Instance of super-class not found because of joined subclass
reference is an inner join
* [HHH-9080] - Can't add attribute node declared in superclass (inheritance) in
* [HHH-9093] - Typo in error message when no implicit selection is found in
* [HHH-9103] - Dialect resolver should use a newer Oracle dialect for Oracle 12
* [HHH-9104] - BasicHibernateAnnotationsTest.testFilterOnCollection fails on
* [HHH-9106] - Multiple representations of the same entity cannot be merged
using cascade=merge
* [HHH-9107] - Loading from 2LC broken by HHH-9028
* [HHH-9136] - DatabaseMetadata: NPE hides exception in finally block
* [HHH-9138] - CastFunctionTest failing on most databases
* [HHH-9150] - Envers test table is too long causing Oracle failure
* [HHH-9154] - keywords as parameter names
* [HHH-9169] - SQLServer2012Dialect creates sequences starting from
* [HHH-9170] - StatelessSession is accidentally 2LC enabled in some cases
* [HHH-9174] - Increase performance of
* [HHH-9194] - Revert HHH-8908 fix
* [HHH-9200] - Natural id cache statistics are not cleared
* [HHH-9201] - Evict cache instead of remove after transaction completion
* [HHH-9202] - NPE in OneToOneLinkTest on oracle12c
* [HHH-9203] - ConcurrentNaturalIdCacheStatisticsImpl#getEntries() fails with
* [HHH-9204] - Restore
AbstractCollectionPersister.doProcessQueuedOps(PersistentCollection, Serializable,
SessionImplementor) removed by HHH-9078
* [HHH-9231] - Uncommitted data can remain in transactional collection cache
after rollback if collection is initialized after flush
* [HHH-9234] - Test failure (testNaturalIdChangedWhileAttached) on SAP/SYBASE
* [HHH-9280] - Table name generated for @ElementCollection uses owning entity
class name instead of mapped entity name
* [HHH-9282] - Revert HHH-9222 due to bugs in bulk deleting collection elements
that use a property-ref (master and 4.3)

** Deprecation
* [HHH-9205] - Deprecate
AbstractCollectionPersister.doProcessQueuedOps(PersistentCollection, Serializable,
int, SessionImplementor)

** Improvement
* [HHH-8683] - Class org.hibernate.engine.spi.EntityEntry consumes lots of
* [HHH-9100] - Improve CAST function support
* [HHH-9145] - Compatibility improvement suggestion for
* [HHH-9222] - Bulk delete and element collections
* [HHH-9258] - Allow for Hibernate extensions discovery via OSGi blueprints
* [HHH-9268] - The NoopOptimizer used for default id generation doesn't need
* [HHH-9269] - Limit persister lookups in critical hot paths
* [HHH-9285] - Upgrade to Hibernate Commons Annotations version 4.0.5.Final

** New Feature
* [HHH-8869] - Create HikariCP connection pool module
* [HHH-9190] - Make it customizable how parameters in native queries are

** Task
* [HHH-8904] - Write documentation for build time bytecode enhancements.
* [HHH-9288] - Restore removed method
ServiceRegistryBuilder#buildServiceRegistry used by Tools

Changes in version 4.3.5.Final (2014.04.02)


** Bug
* [HHH-7072] - ElementCollection not updated correctly if the Embeddable
component has a nullable property
* [HHH-7971] - Enabling ENABLE_LAZY_LOAD_NO_TRANS results in trying to remove
elements in collections
* [HHH-8374] - Removing and persisting an entity still fails for proxies
* [HHH-8815] - Example code for session scoped interceptor is incorrect (out of
* [HHH-9002] - LoadQueryJoinAndFetchProcessor - wrong alias for OrderBy
* [HHH-9017] - HHH-8814 breaks pooled sequences
* [HHH-9024] - NPE in org.hibernate.engine.spi.TypedValue.hashCode()
* [HHH-9028] - ClassCastException with second level cache and
entityManager.find(clazz, id)
* [HHH-9034] - org.hibernate.test.hql.ASTParserLoadingTest fails with
* [HHH-9039] - Correct minor typos in docs and /etc
* [HHH-9051] - OutputsImpl getOuput -> buildOutput prints to console
* [HHH-9052] - Unsupported SQL generated when constructors are used with
predicates as arguments
* [HHH-9054] - org.hibernate.test.annotations.quote.QuoteTest violates unique
key constraint on some DBs
* [HHH-9056] -
OneToOneTest.testPkOneToOneSelectStatementDoesNotGenerateExtraJoin fails on oracle
and postresql databases
* [HHH-9057] - Correct ObjectNameNormalizer for mssql-style quoting
* [HHH-9071] - Proxy narrowing loses the initialized state of the original
* [HHH-9072] - Name of LoadEventListener.RELOAD should be "RELOAD" and not
* [HHH-9073] - when evaluating TREAT downcast in where clause, path resolution
should only allow downcastable value
* [HHH-9078] - OrderColumn doesn't actually work, index is always 0 across
* [HHH-9092] -
org.hibernate.ejb.criteria.QueryBuilderTest.testMultiselectWithPredicates failing
on most databases

** Improvement
* [HHH-1582] - PostInsertListener + "post-commit-insert"
* [HHH-8923] - Reconsider closing of ServiceRegistry instances
* [HHH-9037] - Improve the ClassCastException message in
* [HHH-9040] - Check "haltOnError" in SchemaExport#importScript
* [HHH-9064] - Simplify/improve the hibernate-osgi tests
* [HHH-9067] - Make HibernatePersistenceProvider easier to extend
Changes in version 4.3.4.Final (2014.03.03)

** Task
* [HHH-9010] - Revert HHH-8961

Changes in version 4.3.3.Final (2014.02.28)


None -- this release should not be used. See announcements.

Changes in version 4.3.2.Final (2014.02.27)


** Bug
* [HHH-3482] - UnsupportedOperationException with StatelessSession
* [HHH-7205] - org.hibernate.ObjectNotFoundException while using Get
* [HHH-8243] - FK violation in ValidityAuditStrategy when when flush mode is
* [HHH-8602] - Hibernate Envers AuditReader ignores dedicated hibernate column
type defined in audited entity
* [HHH-8747] - evictQueryRegions does not evict default query region
* [HHH-8777] - enhance-maven-plugin error : No plugin descriptor found at META-
* [HHH-8814] - Sequence generators on HSQLDB starts by default on 0
* [HHH-8822] - java.io.NotSerializableException:
* [HHH-8853] - Tomcat jdbc-pool interceptor exception
* [HHH-8864] - PostgreSQL & H2 dialect incorrect for count distinct tuples
* [HHH-8900] - annotations OneToOne test fail with some sequence supporting
* [HHH-8903] - Inverse @OneToMany ignored in entity graph
* [HHH-8912] - @NotFound applied to *-to-one relation in superclass
* [HHH-8914] - Double negation in CriteriaBuilderImpl
* [HHH-8921] - in-memory value generation (INSERT) only works if
hibernate.id.new_generator_mappings is enabled
* [HHH-8922] - ClassLoaderServiceImpl introduces random classpath ordering via
* [HHH-8930] - BaseCoreFunctionalTestCase#rebuildSessionFactory() not releasing
* [HHH-8942] - correct logging hotspots
* [HHH-8968] - AuditReader does not return components inside a collection
* [HHH-8983] - SQLWarning objects attached to Sybase statements contribute to
significant growth in memory footprint
* [HHH-8989] - Logic Mismatch Between AbstractQueryImpl and LimitHelper For

** Deprecation
* [HHH-8674] - Hibernate 4.1 documentation uses method buildSessionFactory() on
Configuration object despite its deprecation.

** Improvement
* [HHH-8845] - More informative error message for EntityType.replace
* [HHH-8878] - Improve scalability of TableGenerator: PooledLoOptimizer
* [HHH-8939] - Reduce contention on initialization of ColumnNameCache instances
by loaders
* [HHH-8946] - Optimize JdbcCoordinatorImpl for CPU performance
* [HHH-8947] - Optimize performance of ServiceRegistry for intense lookup,
small contents and almost no writes
* [HHH-8950] - Avoid array allocation in #getColumnSpan(Mapping)
* [HHH-8954] - Avoid LockOptions allocation in LoadEvent unless strictly
* [HHH-8961] - Reduce allocation cost of org.hibernate.cache.spi.CacheKey
* [HHH-8977] - Smarter allocation prediction for HQLQueryPlan.performList
* [HHH-8984] - Remove unnecessary fields from EntityEntry
* [HHH-8991] - Avoid frequent lookup of EntityPersister
* [HHH-9001] - Unnecessary Stack object being allocated in
* [HHH-9003] - Avoid allocating arrays in most methods of ComponentType

Changes in version 4.3.1.Final (2014.01.22)


** Sub-task
* [HHH-8640] - SubgraphImpl fails with inheritance
* [HHH-8865] - Create topical guide for logging

** Bug
* [HHH-2188] - Query metadata gives NPE for polymorphic queries
* [HHH-2988] - UnionSubclassEntityPersister.generateSubquery() does not use
* [HHH-3051] - NPE while query.list on a Native SQL, using L2 cache
* [HHH-3453] - mess in a list of supported dialects (OracleDialect, H2Dialect,
* [HHH-3541] - wrong xml tags in documentation examples
* [HHH-3604] - Creation of table for HiLoGenerator fails to create table of
the correct to for MySQL InnoDB
* [HHH-7630] - JOINED classes cause exception when referenced as a Collection
and using @OrderBy
* [HHH-8404] - ListIndexExpression seems to be rendered incorrectly
* [HHH-8638] - Unable to create unique key constraint on foreign key annotated
with @UniqueConstraint
* [HHH-8655] - Classloader conflicts with embedded OSGi frameworks
* [HHH-8699] - Criteria API multiselect not working with Predicates
* [HHH-8730] - uploadDocumentation task needs to stage aggregated javadocs
before rsync
* [HHH-8735] - Do not log deprecation warning from
* [HHH-8756] - Exception on lock mode when setting lock mode NONE for named
* [HHH-8763] - OsgiServiceUtil#getServiceImpls broken
* [HHH-8765] - Column not found in Turkish locale because of toLowerCase()
* [HHH-8783] - @javax.persistence.Foreignkey#name does not change contraint
* [HHH-8784] - @Generated( GenerationTime.ALWAYS ) w/ @ColumnDefault not
generating on insert
* [HHH-8790] - The "ESCAPE" key word is not recognized by a Hibernate filter.
* [HHH-8794] - Annotating collection with @OrderBy without specifying attribute
does nothing
* [HHH-8811] - Collectionread causes open cursors
* [HHH-8812] - JPAOverriddenAnnotationReader and @Convert annotations
* [HHH-8821] - Scanning for META-INF/orm.xml does not work on Windows in jpa
* [HHH-8827] - @SortNatural and @SortComparator not working.
* [HHH-8850] - UnsupportedOperationException when using addScalar on querys
created via NamedSQLQueryDefinition
* [HHH-8855] - Multiple @ManyToOnes in load/fetch graph aren't loaded
* [HHH-8863] -
org.hibernate.engine.internal.StatisticalLoggingSessionEventListener not displaying
properly time for partial flushes
* [HHH-8884] - SelectStatement cleanRestrictions misses the space in the search

** Improvement
* [HHH-2298] - Hibernate only uses info level on logger message to disencourage
Hibernate Pool Manager. This should be a warning.
* [HHH-5289] - Remove unnecessary security checks in property accessors
* [HHH-6911] - Read/write DiscriminatorValue from/to DiscriminatorColumn when
combined with InheritanceType#JOINED
* [HHH-8772] - PutFromLoadValidatorUnitTestCase.testRemovalCleanup intermittent
* [HHH-8773] - Remove cleaning as release task dep
* [HHH-8831] - Give a better message about where a problem with a mapping could

** Patch
* [HHH-4638] - Allow hibernate connect to Firebird database without set
"hibernate.dialect" property

** Task
* [HHH-8741] - More checkstyle cleanups

Changes in version 4.3.0.Final (2013.12.16)

- 4.3.0.Final was a re-tagging of 4.3.0.CR2

Changes in version 4.3.0.CR2 (2013.12.05)


** Bug
* [HHH-8341] - JtaTransaction logs excessive HHH000426 warning even if cache is
* [HHH-8623] - After evicting a region, cache statistics not updated and
entities not loaded into cache
* [HHH-8689] - Cannot determine java-type from given member [null] with
"properties" in Hibernate 4.2
* [HHH-8701] - correct JPQL TYPE test
* [HHH-8738] - NPE in HibernateUtil if no default ehcache configuration
* [HHH-8739] - Tracking of JTA Synch registration thread
* [HHH-8743] - EntityReferenceInitializerImpl#resolveEntityKey throws Exception
in case of entityKey != null
* [HHH-8748] - JavassistLazyInitializer.getProxy ClassCastException
* [HHH-8749] - Error flushing with a many-to-many Map defined with
unique="true" and cascading orphan delete
* [HHH-8759] - OsgiClassLoader introduces dependency on Java 7
* [HHH-8760] - improve EntityGraph JPQL query hint test
* [HHH-8761] - Hibernate OSGi 4.3.0.CR1 can't discover services

** Improvement
* [HHH-5065] - Exception thrown by Configuration.getRootClassMapping(String)
not helpful
* [HHH-8733] - General build cleanup
* [HHH-8734] - Update to Gradle 1.9
* [HHH-8740] - Log a warning when database metadata indicates named parameters
are not supported

** Task
* [HHH-8624] - Upgrade to Infinispan 6.0
* [HHH-8744] - Add Javadoc for load plans
* [HHH-8750] - Move load plan implementations from spi to internal

Changes in version 4.3.0.CR1 (2013.11.20)


** Sub-task
* [HHH-8483] - Move JPA Metamodelgen Annotation processor into ORM codebase
* [HHH-8528] - Support starting/stopping persistence unit client bundles during
OSGi runtime
* [HHH-8607] - Start Topical Guide - Service Registries
* [HHH-8627] - Support EntityGraphs through JPA Query hints
* [HHH-8692] - Document value generation feature
* [HHH-8720] - Create an index for the topical guides

** Bug
* [HHH-6484] - Replacing an entity on a one-to-one delete-orphan association
with a new instance does not delete the previous one
* [HHH-6859] - Typo in AbstractEntityManagerImpl.determineCacheStoreMode(Map)
* [HHH-7539] - Interceptor.afterTransactionCompletion not called when
transaction completes via JTA sync
* [HHH-7927] - Enabling globally_quoted_identifiers breaks hbm2ddl validation
if TableGenerator is used
* [HHH-8032] - Create OptimisticLockException with message of the wrapped
* [HHH-8074] - CascadeAction.REFRESH doesn't pass an entityName
* [HHH-8497] - AuditReader.find() causes SQL error ORA-00932 with oracle when
using ClassicQueryTranslatorFactory
* [HHH-8567] - AuditProperty.property('id') does not reference original id, it
references generated composite id of AUD instead
* [HHH-8573] - PropertyAccessException when instance of a subclass gets to
cache via lazy not cascading association
* [HHH-8579] - toLowerCase() in Turkish locale converts to non-ascii lowercase
* [HHH-8605] - ManyToManyTest.testManyToManyWithFormula fails on mssql2008R2,
mssql2012, sybase157
* [HHH-8611] - DelayedPostInsertIdentifier needs to implement Comparable
* [HHH-8612] - FumTest hangs on oracle12c
* [HHH-8613] - ClassCastException in
* [HHH-8617] - Unexpected (changed) behavior of @Temporal(TemporalType.DATE)
* [HHH-8621] - NPE in BasicConnectionCreator
* [HHH-8625] - Wrong warning about deprecated persistence provider
* [HHH-8633] - OsgiJtaPlatform does not register synchronization
* [HHH-8636] - Wrap all exceptions into PersistenceExceptions in
* [HHH-8637] - Downcasting with TREAT operator should also filter results by
the specified Type
* [HHH-8647] - hibernate.cache.use_reference_entries + queries
* [HHH-8660] - NamedEntityGraphDefinition built too early
* [HHH-8671] - WithClauseTest.testWithClause fails on all QA databases
* [HHH-8684] - Named output parameters don't work for stored procedure call
* [HHH-8686] - FumTest hangs on mysql55
* [HHH-8688] - EntityGraph should add AttributeNode's for basic

** Deprecation
* [HHH-8662] - Deprecate functionality for initialized many-to-many collections
of proxies

** Improvement
* [HHH-6004] - StructuredCacheEntry shall pass correct expected map size and
loadFactor for HashMap constructor
* [HHH-6167] - "Mixing nullable" Error Message Correction
* [HHH-6838] - PreparedStatement paramater binding should delineate bind value
* [HHH-8228] - Support for SAP HANA
* [HHH-8272] - Redesign Loader
* [HHH-8321] - Test case to check bytecode enhancer.
* [HHH-8619] - Account for "shadow" services as part of ServiceRegistry impls
* [HHH-8646] - OsgiServiceUtil#getServiceImpls should be replaced by or using
* [HHH-8654] - Ability to get notified of interesting Session events
* [HHH-8679] - Relax synchronized block in Loader#wrapResultSetIfEnabled
* [HHH-8680] - Relax synchronized block in TableGenerator#generate
* [HHH-8681] - NonNullableTransientDependencies should initialize identityMap
* [HHH-8682] - org.hibernate.engine.spi.EntityKey consumes a lot of memory
* [HHH-8698] - ColumnNameCache wraps and unwraps int to Integer multiple times
* [HHH-8703] - Remove NonFlushedChanges api
* [HHH-8704] - ManyToOneType#scheduleBatchLoadIfNeeded creates EntityKey
instances even if absolutely not necessary
* [HHH-8709] - SynchronizationCallbackCoordinator is calling
Thread.currentThread way too often

** New Feature
* [HHH-2907] - ability to apply 'generation strategy' to generated properties
* [HHH-8505] - Auditon of dynamic-component properties

** Task
* [HHH-8285] - Implement JPA 2.1 entity graph support
* [HHH-8597] - Rename org.hibernate.loader.plan2 as org.hibernate.loader.plan
* [HHH-8629] - Integrate LoadPlans into collection initializers
* [HHH-8693] - asciidoc is not integrated into release workflow
* [HHH-8694] - Move hibernate-maven-plugin and hibernate-gradle-plugin under
tooling sub directory
* [HHH-8700] - Update ORM modules using JPA metamodel generator to use the new
* [HHH-8721] - CoreMessageLogger conflicts
* [HHH-8722] - Add support for AnyType attributes, collection elements and
indexes to load plans
* [HHH-8723] - Reorganize how
AbstractLoadPlanBuildingAssociationVisitationStrategy pushes to and pops from
internal stacks

Changes in version 4.3.0.Beta5 (2013.10.09)


** Technical task
* [HHH-7841] - Introduce LoadPlan
* [HHH-8276] - Integrate LoadPlans into UniqueEntityLoader (PoC)
* [HHH-8354] - New dirty-checking options based on bytecode enhancement

** Bug
* [HHH-1835] - mysql dialect doesn't contain standard deviation/std() function
* [HHH-3812] - Documentation says bags are Lists in Java, but are not
* [HHH-4118] - Hibernate ignores invalid values for hibernate.hbm2ddl.auto
* [HHH-5744] - Return value check missing for ResultSet.next method
* [HHH-5818] - Malformed exception message
* [HHH-6255] - SchemaExport quote foreignkey names not correct
* [HHH-6576] - NPE in HibernateUtil in case there is no default configuration
* [HHH-7513] - PropertyAccessException while reattachement: could not get a
field value by reflection getter
* [HHH-7689] - Error executing batch should abort rest of batch for
"cleanliness" sake
* [HHH-8328] - Typo in Query.list Javadoc
* [HHH-8394] - Wrong processing of package-info.java on Windows
* [HHH-8432] - Wrong bindings of named parameters in IN clause
* [HHH-8434] - CriteriaUpdate doesn't separate multiple assignments in rendered
* [HHH-8500] - Interbase does not have a boolean type
* [HHH-8502] - EnversIntegrator#disintegrate needs to check config for null
* [HHH-8509] - malformed LOG.tracef() throws exception
* [HHH-8514] - EntityManager#createQuery(CriteriaQuery) should throw IAE rather
than ISE
* [HHH-8515] - EntityManager#createStoredProcedureQuery( String, String...)
should throw IAE if result set mapping name(s) do not exist
* [HHH-8516] - EnumeratedTypeTest.testTrimmedEnum fails on oracle databases
* [HHH-8517] - ResultSet#getDate includes time in oracle12c JDBC
* [HHH-8518] - Validate EMF#addNamedQuery transfers all query settings
* [HHH-8522] - CompositeIdTypeBindingTest.testCompositeTypeBinding fails on
* [HHH-8523] - Incorrect parameter binding for Calendar and TemporalType
* [HHH-8530] - Align JPA "positional parameter" handling in
javax.persistence.Parameter impl
* [HHH-8532] - ManagedType#getAttribute(String) should throw IAE rather than
return null
* [HHH-8533] - Add tests of JPA Metamodel handling for MappedSuperclass and
mixed @Id/@IdClass declaration
* [HHH-8537] - @UniqueConstraint naming non-existent column leads to NPE
* [HHH-8539] - @Column#table naming primary table fails
* [HHH-8540] - Throw ISE on attempts to create EntityManager using any form of
createEntityManager accepting SynchronizationType if RESOURCE_LOCAL
* [HHH-8541] - EntityManager#getLockMode should technically throw
TransactionRequiredException if transaction is not active
* [HHH-8542] - javax.persistence.Query#setLockMode should throw ISE if not a
SELECT JPQL or Criteria query
* [HHH-8543] - Complete org.hibernate.ejb.HibernatePersistence deprecation
* [HHH-8548] - HHH-3047 causes regressions
* [HHH-8549] - JPQL TREAT keyword handling is currently case sensitive
* [HHH-8551] - Cannot use with-clause on the RHS of a join
* [HHH-8553] - hibernate-osgi needs to support alternative locations for
* [HHH-8556] - QueryStructure#collectCorrelatedJoins should add
correlationRoots implementing Join
* [HHH-8561] - hibernate.dialect_resolvers causes failures
* [HHH-8563] - javax.persistence.Query#getLockMode should throw ISE in some
* [HHH-8576] - Query not properly locking non-versioned entities associated
with PersistenceContext
* [HHH-8578] - Bulk delete cascading into many-to-many join table not properly
handling where clause
* [HHH-8580] - NPE while deleting items from collection
* [HHH-8584] - Prefer returning UNKNOWN from PersistenceUtilHelper
* [HHH-8586] - Synchronization beforeCompletion/afterCompletion should check if
TransactionCoordinator is closed
* [HHH-8593] - EntityManager.refresh should throw EntityNotFoundException if
the entity no longer exists in the database

** Improvement
* [HHH-2155] - mysql dialect should not generate automatically index for
foreign key
* [HHH-4577] - 2L query cache: Low performance of flush and commit due many
unnecessary (pre)invalidate calls on UpdateTimestampsCache
* [HHH-7130] - Evicting query regions is not logged
* [HHH-7150] - evictAll() method is missing in SessionFactory getCache()
* [HHH-8453] - Investigate improving DriverManager-based connection pooling
* [HHH-8476] - Bulk delete doesn't cascade delete on join table
* [HHH-8503] - invoke determineDialect instead of constructDialect when
hibernate.dialect is blank
* [HHH-8504] - resolve proper dialect for mysql5 when determine by connection
* [HHH-8521] - LockMode should be checked on query execution, not during call
to setLockMode
* [HHH-8560] - Add (trace/debug) logging of SQL ResultSet mapping info

** New Feature
* [HHH-4910] - automatic L2 collection cache eviction when an element is
* [HHH-8478] - AttributeConverters need to be applied to JPQL and Criteria
* [HHH-8495] - Support ilike in Hibernate Envers
* [HHH-8510] - Add a Logger which is able to monitor the creation of new
Sessions at DEBUG/TRACE level
* [HHH-8520] - Apply "global quote identifier" to HBM processing
* [HHH-8529] - AttributeConverter not applied to @ElementCollection
* [HHH-8577] - ClearListener: allow to listen for clear events

** Task
* [HHH-8445] - Implement REF_CURSOR support for StoredProcedureQuery
* [HHH-8498] - Full ConstructorResult handling
* [HHH-8525] - Hook in XML overriding of ConstructorResult for sql-result-set-
* [HHH-8594] - Update to "final" version of jboss-transaction-api_1.2_spec once
it is "final"
* [HHH-8595] - Update Jandex to 1.1.0.Final
* [HHH-8601] - remove commons-logging and slf4j, using log4j as the backend of
jboss-logging for testing

Changes in version 4.3.0.Beta4 (2013.09.12)


** Sub-task
* [HHH-8112] - Document OSGi capabilities

** Technical task
* [HHH-8448] - Convert annotations for composites not properly applied
* [HHH-8449] - AttributeConverter application not disabled properly via local
Convert annotation
* [HHH-8462] - Handle <converter/> elements in orm.xml

** Bug
* [HHH-3078] - Problem with multiple classloaders and cglib proxy enhancement,
e.g. in the usual tomcat configuration
* [HHH-4141] - Typo in tutorial docs
* [HHH-4261] - @Any mapping fails during configuration: "@Any requires an
explicit @JoinColumn(s)"
* [HHH-4294] - Generated SQL includes a column named "null" when referencing a
map entry by key and using @LazyCollection(LazyCollectionOption.EXTRA)
* [HHH-4699] - String mapped ENUMs can't be loaded from CHARs only VARCHARS
(fix is trivial)
* [HHH-6935] - HibernateException in mysql Found: bit, expected: boolean
* [HHH-7002] - SchemaExport ERROR when using in-memory database (H2) - drop
constraint issue HHH000389
* [HHH-7116] - Ordered Criteria query that joins with an ordered mapped
collection results in incorrect overall ordering
* [HHH-7216] - "java.lang.IllegalStateException: No supertype found" thrown on
query with "COUNT" aggregate function
* [HHH-7915] - Inherited foreign keys which reference a non primary key column
incorrectly reference the primary key column
* [HHH-7959] - Hibernate/Infinispan 2nd Level Caches set to JBoss7 transaction-
mode=NONE stop functioning after an explicit eviction
* [HHH-8055] - Typo in docs? 16.3. Associations and joins
* [HHH-8106] - Broken org.hibernate.tool.enhance.EnhancementTask
* [HHH-8111] - AttributeConverter doesn't override built-in type mappings
* [HHH-8153] - Criteria on Enum mapping defined in hbm.xml fails.
* [HHH-8193] - MSSQL: The stream value is not the specified length. The
specified length was 7, the actual length is 0.
* [HHH-8210] - JdbcCoordinatorImpl logs excessive HHH000387 warnings when used
with some connection pools
* [HHH-8255] - Clean up compile and optional dependencies from OSGi manifests
* [HHH-8275] - union-subclass generates bad alter table for unique constraint
* [HHH-8280] - Validity audit strategy leads to database corruption when entity
identifiers are reused
* [HHH-8283] - JdbcSQLException with CompositeCustomType and java.util.Date
* [HHH-8297] - Typo in error message: "contains phyical column name"
* [HHH-8301] - SQLServer2005LimitHandler skips column alias generation
* [HHH-8302] - C3P0 initialPoolSize non longer initialized with minPoolSize
* [HHH-8312] - named parameters binding are not correct when used within
* [HHH-8316] - CNFE: javax.persistence.Converter
* [HHH-8318] - "delete" with "member of" query fails
* [HHH-8335] - Hibernate OSGi not included in build's /lib
* [HHH-8349] - DialectFactory cannot determine "hibernate.dialect" for
PostgresPlus 9.2 (EnterpriseDB)
* [HHH-8362] - Wrong add contraint unique statement for informix
* [HHH-8363] - ClassLoaderServiceImpl should be defined as Stoppable
* [HHH-8371] - The method
org.hibernate.internal.util.StringHelper.lastIndexOfLetter does not consider the
character '_'
* [HHH-8373] - NullPointerException in QueryImpl#extractParameterInfo
* [HHH-8383] - ExceptionInInitializerError when changing System properties
while Environment class is initialized
* [HHH-8385] - Check whether EMF is closed (throwing ISE if so) when indicated
methods are called
* [HHH-8386] - Commit transaction on connection used to export schema (JPA)
* [HHH-8390] - Foreign key reference generated before unique constraint exists
* [HHH-8395] - JPA StoredProcedureQuery#getUpdateCount should prefer return -1
rather than throw exceptions
* [HHH-8397] - MultiLineImportFileTest failing on some platforms
* [HHH-8398] - JPA TCK incorrectly assuming partial column results (into entity
returns) are valid for StoredProcedureQuery
* [HHH-8400] - Positional parameters defined on NamedStoredProcedureQuery not
* [HHH-8406] - Make EntityManagerFactoryRegistry.getNamedEntityManagerFactory
thread safe
* [HHH-8407] - Missing synchronization in
* [HHH-8411] - StoredProcedureQuery : getResultList and hasMoreResults() mot
implemented properly
* [HHH-8414] - hibernate-osgi tests intermittently failing
* [HHH-8415] - Throw exception types expected by JPA spec wrt
* [HHH-8419] - Tie javax.persistence.Parameter instance to
javax.persistence.Query instance
* [HHH-8420] - Correct test-only failures occurring in matrix CI
* [HHH-8422] - hibernate-matrix-testing not picking up hibernate.properties
* [HHH-8427] - Typo in documentation - Basic Mapping
* [HHH-8428] - ProviderMBeanRegistration.locateSessionFactory() NPE
* [HHH-8439] - Envers OSGI Manifest: org.apache.tools.ant import should be
* [HHH-8441] - Hibernate is trying to add values to an Immutable List
* [HHH-8442] - certain EntityManager operations (e.g.
StoredProcedureQuery.execute()) should rollback the TX for certain exceptions
* [HHH-8444] - Fix criteriaapi failures from JPA 2.1 TCK
* [HHH-8447] - HQL delete with multiple subqueries failing (incorrect alias
* [HHH-8452] - Better parameter handling for JPA criteria queries
* [HHH-8454] - Criteria queries sometimes lead to SQL like "... where ? in
* [HHH-8464] - Using JPA2 specific quoting character (double quote) for
JoinColumn results in DuplicateMappingException.
* [HHH-8465] - EnversListenerDuplicationStrategy areMatch method using
listener.getClass().equals( original ) instead of
listener.getClass().equals( original.getClass() )
* [HHH-8467] - Compiling should trigger animal-sniffer execution
* [HHH-8468] - @JoinColumn(table = "...") doesn't use NamingStrategy
* [HHH-8469] - Application of JPA 2.1 AttributeConverters
* [HHH-8472] - @Lob annotation applies to both key and value of Map
* [HHH-8477] - Use javax.persistence.Query#unwrap to implement addNamedQuery,
rather than direct type checking
* [HHH-8480] - JPA Predicate#not() on a simple predicate should leave the
operator as AND, not mutate it to OR
* [HHH-8486] - javax.persistence.Tuple#get(String,Class) impl does not validate
* [HHH-8492] - Make the ValidatorFactory available via
* [HHH-8496] - TableCatalog and TableSchema arguments mistaken in DB update-

** Improvement
* [HHH-3047] - Increase max alias length for Oracle dialects from 10 to 30
* [HHH-5920] - in org.hibernate.mapping.PersistentClass some 2 performance
issues can be fixed
* [HHH-8068] - Provide better error messages for missing constructors in HQL /
JPQL Constructor queries
* [HHH-8117] - Add package export versions in OSGi manifests
* [HHH-8284] - Have JPA schema generation include work done by Integrators
* [HHH-8319] - ConstraintViolationException not showing constraint name for
* [HHH-8378] - hibernate-osgi cleanup on bundle stop
* [HHH-8409] - Improve usage of ConcurrentMaps by using putIfAbsent in
* [HHH-8410] - NaturalIdXrefDelegate could miss some cached entries from
* [HHH-8424] - Skip collection element/map key AnyTypes in JPA metamodel
* [HHH-8426] - Add defaultScrollMode to Dialect
* [HHH-8459] - Improved handling of JPA schema-generation target files
* [HHH-8461] - Add PropertyHolder#resolveAttributeConverter method
* [HHH-8470] - Automated maintenance of hibernate-osgi test config
* [HHH-8491] - improve LocaleTypeDescriptor#fromString

** New Feature
* [HHH-2692] - Allow select clause to specify parameters within an "insert to"
* [HHH-2736] - support for native/SQL query hints in HQL/Criteria (Oracle
SELECT hints for example)
* [HHH-3452] - Statistics for Criteria Queries
* [HHH-7527] - OSGi hibernate-orm
* [HHH-7807] - Deleting Revision Entity (on delete cascade)
* [HHH-8174] - Link to current version of entity
* [HHH-8306] - Gradle task for bytecode enhancement
* [HHH-8331] - Create PostgreSQL9Dialect
* [HHH-8337] - Add Maven plugin for bytecode enhancement.
* [HHH-8440] - Support sequences with a new SQLServer2012Dialect
* [HHH-8493] - Implement ConstructorResults handling

** Patch
* [HHH-8408] - Test helpers for hi/lo id generations lack synchronization

** Remove Feature
* [HHH-8357] - remove dom4j proxy support

** Task
* [HHH-7996] - OSGi Unit Testing
* [HHH-8265] - Investigate proxy package imports in OSGi client bundles
* [HHH-8288] - Upgrade to Javassist 3.18
* [HHH-8309] - Create hibernate-orm subprojects for maven and gradle plugins
* [HHH-8336] - Upgrade c3p0 dependency
* [HHH-8358] - Upgrade infinispan to 5.3.0.Final
* [HHH-8364] - change the "exclude-unlisted-classes" behavior in Java SE
* [HHH-8388] - pull in final jpa-api 2.1
* [HHH-8399] - Upgrade to Javassist 3.18.1-Beta1
* [HHH-8405] - Track down tests that leak SessionFactories
* [HHH-8413] - Rename ProcedureResults -> ProcedureOutputs
* [HHH-8416] - JPA TCK challenge for StoredProcedureQuery#hasMoreResults
* [HHH-8421] - JPA 2.1 TCK inaccurate assumptions about binding Date/Calendar
parameter values
* [HHH-8450] - Predicate#not now required to return new instance
* [HHH-8463] - Upgrade to Javassist 3.18.1-GA
* [HHH-8474] - Upgrade to Gradle 1.7
* [HHH-8485] - Apply newly extracted version-injection plugin
* [HHH-8487] - Auto-flush on JPA native SQL query
* [HHH-8490] - Remove buildDashboard dependency on check
* [HHH-8499] - Prepare for 4.3 Beta4 release

Changes in version 4.3.0.Beta3 (2013.05.29)


** Sub-task
* [HHH-8144] - Create a 'release' task that performs all tasks needed for doing
a release

** Bug
* [HHH-2664] - full join not working
* [HHH-5465] - HQL left join fetch of an element collection following a left
join fetch of a one-to-one relationship causes NullPointerException
* [HHH-6813] - @Id @OneToOne cause NullPointerException during query
* [HHH-8083] - @OrderColumn not updated on @OneToMany cascade
* [HHH-8219] - Protect against JDK 7 API usage
* [HHH-8220] - pom dependencies scope changed from compile to runtime
* [HHH-8225] - EMF cannot be created, closed, then re-created in OSGi
* [HHH-8233] - exclude-unlisted-classes is not excluding unlisted classes in
* [HHH-8236] - Update to hibernate-commons-annotations 4.0.2.Final
* [HHH-8241] - Reusing of scanner instance is impossible with Apache Aries JPA
* [HHH-8250] - DefaultInitializeCollectionEventListener not finding collections
in cache
* [HHH-8254] - throw HibernateException when transaction is rolledback by a
reaper thread
* [HHH-8266] - Binding of named-stored-procedure XML element tries to create
* [HHH-8269] - DenormalizedTable FK constraint names can be too long
* [HHH-8270] - Support for accessing JPA schema export script files specified
by URL
* [HHH-8271] - Handling of javax.persistence.sql-load-script-source
* [HHH-8273] - Incorrect "unique-key" naming comment in docs

** Improvement
* [HHH-6875] - @OrderBy on @ElementCollection of basic type should "order by
* [HHH-7214] - DiscriminatorValue
* [HHH-7582] - TableGenerator does not distinguish between different tenants
(MultiTenant Schema based)
* [HHH-8211] - Checkstyle and FindBugs fix-ups
* [HHH-8217] - Make generated constraint names short and non-random
* [HHH-8226] - table synonyms cannot find columns on Oracle
* [HHH-8231] - Pass along IOException as cause when trying to open script
* [HHH-8238] - OsgiJtaPlatform null pointer exception
* [HHH-8257] - More concisely obtaining a JBoss logger

** Task
* [HHH-8218] - Update to final versions of BV 1.1 and HV 5
* [HHH-8222] - Implement @NamedStoredProcedureQuery binding
* [HHH-8223] - Implement @NamedEntityGraph binding
* [HHH-8232] - Upgrade to Gradle 1.6
* [HHH-8235] - Drop database profiles upstream
* [HHH-8246] - Implement XML binding of NamedStoredProcedureQuery
* [HHH-8247] - Implement XML binding of NamedEntityGraph

Changes in version 4.3.0.Beta2 (2013.05.02)


** Sub-task
* [HHH-7617] - Gradle eclipse task missing src paths and test source generation
* [HHH-7943] - C3P0, Proxool, ehcache, and infinispan services for OSGi
* [HHH-7944] - Envers OSGi support
* [HHH-7993] - Support jar scanning in OSGi
* [HHH-7995] - Auto-discovery of Hibernate extension points in OSGi
* [HHH-8141] - Upgrade to Gradle 1.5
* [HHH-8142] - Create a 'compile' task that performs all copmpilations
* [HHH-8143] - Create a 'generateSources' task that performs all generation
* [HHH-8145] - Add MaxPermSize to test configuration
* [HHH-8146] - Update to use maven-publishing plugin
* [HHH-8147] - Update to use distribution plugin for createing release bundles
* [HHH-8151] - Consolidate defining "java language level" in one place
* [HHH-8152] - General cleanup
* [HHH-8156] - Apply new Gradle plugins
* [HHH-8160] - Integrate with Aries JPA 2.1 branch

** Bug
* [HHH-5845] - Lazy Loading of audited entites with revision type 'delete'
* [HHH-7357] - Incorrect exception translation when using Oracle
* [HHH-7478] - ConcurrentModificationException when adding a
BeforeTransactionCompletionProcess from with a PostInsertEventListener for an
@Audited entity
* [HHH-7880] - SessionFactory.openStatelessSession() does not respect tenant
identifier from CurrentTenantIdentifierResolver
* [HHH-7974] - Session.getTenantIdentifier() not callable without active
* [HHH-8049] - Initialization error with <dynamic-component> mapping
* [HHH-8084] - LobMergeTest fails on oracle
* [HHH-8103] - Oracle LOB ordering not working with SequenceIdentityGenerator
* [HHH-8137] - Javadoc generation is currently not playing nicely with Java7
javadoc changes
* [HHH-8171] - Auditing of collections of embeddables only supporting single
element changes
* [HHH-8173] - AvailableSettings constants for javax.persistence.schema-
generation contain space
* [HHH-8178] - Natural IDs generating one UniqueKey per Column
* [HHH-8182] - Correct intermittent UpgradeLockTest failures
* [HHH-8189] - Audit records are not rolled back when transaction is rolled
* [HHH-8207] - Locale conversion is broken
* [HHH-8215] - Windows Build with Eclipse does not work

** Deprecation
* [HHH-8170] - Deprecate Hibernate @ForeignKey in favor of JPA 2.1 introduced
@ForeignKey annotation

** Improvement
* [HHH-7605] - Provide details "An entity copy was already assigned to a
different entity."
* [HHH-7908] - Logging level checking.
* [HHH-8138] - Log SQLException in DatabaseTarget with cause of schema export
CREATE statement failure
* [HHH-8159] - Apply fixups indicated by analysis tools
* [HHH-8162] - Make unique constraint handling on schema update configurable
* [HHH-8167] - Adding @NotNull to a @ManyToOne association with
@JoinColumnsOrFormulas leads to ClassCastException
* [HHH-8180] - Improve performance of logging level checks
* [HHH-8183] - Also support synonyms for schema validation

** New Feature
* [HHH-8157] - Adding DBAllocator labels for new DBs
* [HHH-8163] - Deprecate @IndexColumn and add @ListIndexBase

** Task
* [HHH-8164] - Deprecate @Sort in favor of @SortNatural and @SortComparator
* [HHH-8175] - Add support for Postgresql 9.2, Postgres Plus 9.2 and IBM DB2
* [HHH-8186] - Type in docs? Caching section nonstrict != nontrict
* [HHH-8212] - Add CLA ref to CONTRIBUTING.md

Changes in version 4.3.0.Beta1 (2012.07.12)


** Sub-task
* [HHH-7941] - Script OSGi manifest creation in Gradle
* [HHH-7942] - Create Hibernate OSGi bundle activator and class loader services
* [HHH-7966] - Remove external use of internal impls
* [HHH-7968] - Upgrade to JACC 1.0.2.Final -- needed for OSGi manifests
* [HHH-7981] - Load (now) locally defined orm.xsd while processing orm.xml
* [HHH-7982] - Revisist discrepancy between <join-table> and @JoinTable after
discussion with EG
* [HHH-7991] - Correct all instances of
* [HHH-7994] - Improve OsgiClassLoader performance
* [HHH-7997] - Integrate changes to EntityGraphs
* [HHH-8010] - Ensure Hibernate manifests allow user bundle managed SF/EMF
* [HHH-8077] - Add MDC usage into attribute walking to help decode logs from
recursive calls
* [HHH-8098] - JTA 1.2
* [HHH-8099] - CDI 1.1
* [HHH-8100] - BV 1.1

** Bug
* [HHH-995] - Order.ignoreCase() only works for VARCHAR types, not CHAR types
* [HHH-1168] - Problem combining locking and paging on Oracle
* [HHH-1283] - ScrollableResults JoinFetch don't set child collection correctly
after the second parent object
* [HHH-1570] - criteria-api: filtering by key-many-to-one causes invalid sql
* [HHH-1904] - Identifier too long
* [HHH-2045] - in () result in "unexpected end of subtree"
* [HHH-2721] - PostgreSQLDialect: function md5() always returns a string value
* [HHH-3788] - FirebirdDialect: current_date() function
* [HHH-3862] - Wrong link in documentation tutorial chapter 1
* [HHH-4084] - @UniqueConstraint(columnNames="") causes
* [HHH-4150] - EntityManager.createQuery does not recognize COUNT CASE
* [HHH-4459] - Query with Composite Primary Key parameter crashes when query
cache is on
* [HHH-4562] - Some kind of typo in chapter 7.3.1
* [HHH-4635] - Oracle ORA-24816 inserting and updating data for entities
containg LOB attributes
* [HHH-5188] - Use provided enum type ordinal/string when reading
* [HHH-5209] - org.hibernate.hql.ast.QuerySyntaxException when running a JPQL
query with a MEMBER OF on an @ElementCollection
* [HHH-5267] - NPE when updating a detached entity with a one-to-one
association changed to null that is mapped with delete-orphan
* [HHH-5376] - Tests contain invalid SQL
* [HHH-5732] - @OrderColumn not updated if @OneToMany has mappedby defined
* [HHH-5836] - Mapping collection of entities with same name and notnull
constraints from two different entities results in duplicate property mapping of
* [HHH-5973] - Typo in documentation about Interceptors
* [HHH-6043] - PostLoad method invoked before collection initialised
* [HHH-6349] - AuditJoinTable rows missing when detached entities with
collections are merged into the persistence context
* [HHH-6496] - ClassCastException inside proxy without explicit casting in
application code
* [HHH-6643] - Criteria doesn't support a chaining of 2 not restrictions (sql =
not not criterion)
* [HHH-6655] - trim function on DB2 is broken
* [HHH-6972] - Support PostgreSQL and Oracle LOBs
* [HHH-7029] - Javadoc says the opposite as in code example
* [HHH-7203] - IdentityGenerator fails with JOINED Inheritance when inserting
entity to PosgtreSQL
* [HHH-7233] - unmuck EntityManager#getSingleResult wrt auto-setting of max
* [HHH-7304] - NaturalIdResolutionCache not correctly filled on first persist
when @GeneratedValue-@Id
* [HHH-7308] - beforeTransactionCompletion() not getting called in the same
scenarios as afterTransactionCompletion() in the TransactionObserver for child
* [HHH-7309] - Natural-id not cached in shared cache after insert
* [HHH-7359] - Trace logging causes numerous test errors
* [HHH-7377] - NullPointerException in conjunction with natural IDs after
* [HHH-7398] - Transaction timeouts are not properly enforced
* [HHH-7437] - Classcast issue with new property auditing feature of
* [HHH-7479] - getForUpdateString() of HSQLDialect returns empty string.
* [HHH-7487] - org.hibernate.type.EnumType incorrectly logs binded values
* [HHH-7519] - Upgrade byteman version
* [HHH-7524] - Enabling AvailableSettings.ENABLE_LAZY_LOAD_NO_TRANS results in
leaking DB-connections
* [HHH-7541] - When using HSQLDB, inserting any CLOB value larger than 16Mb
always fails with an exception
* [HHH-7557] - Map entries get deleted
* [HHH-7561] - PersistenceUnitUtil.getIdentifier returning null for a persisted
* [HHH-7563] - Fallback for JBossAppServerJtaPlatform.locateUserTransaction()
to look at "java:jboss" if "java:comp" not available
* [HHH-7566] - Activating JOIN fetch profile involving self-referential
associations causes StackOverflowError
* [HHH-7567] - Better checking when @Enumerated involved
* [HHH-7568] - Add JPA1.0 compound key compatability when orm descriptor file
used to override annotations.
* [HHH-7569] - Correct test-only failures in hibernate-core-master-matrix CI
* [HHH-7575] - Hibernate Getting Started Guide refers to incorrect tutorial
directory for annotations tutoral
* [HHH-7577] - Dialect's supportsNotNullUnique not working when false
* [HHH-7578] - Sybase does not support "unique not null"
* [HHH-7579] - Oracle does not support "unique not null"
* [HHH-7580] - Complete 2-phase SessionFactory building design
* [HHH-7584] - Sybase dialects attempting to use BLOB types
* [HHH-7586] - Re-architect Type or TypeFactory dynamic descriptors
* [HHH-7603] - NullPointerException being thrown instead of
LazyInitializationException with collection reattach change
* [HHH-7608] - @OrderBy in combination with @Formula fails
* [HHH-7643] - java.io.NotSerializableException org.hibernate.type.EnumType
* [HHH-7644] - Correct memory leak introduced by HHH-7557
* [HHH-7645] - Enum property defined within orm.xml using enum-type string does
not work
* [HHH-7669] - JtaTransaction test fails on Oracle RAC
* [HHH-7674] - DB locks not cleared on
* [HHH-7692] - Postgres 9 and 9.1 use 8.1 dialect instead of 8.2 by default
* [HHH-7693] - SQL Server 2012 gets the SQL Server 2000 dialect by default
* [HHH-7711] - SchemaExport doesn't create file with script if both parameters
exportToDatabase and scriptToConsole are false
* [HHH-7716] - Update CUBRID dialect and test cases
* [HHH-7717] - Reserved keywords are used in unit tests' column names
* [HHH-7721] - SQLFunctionRegistry findSQLFunction does not honor case
* [HHH-7724] - JpaLargeBlobTest failing on multiple DBs
* [HHH-7730] - SchemaExportManagedConnectionTest#testGenerateDdlToFile failing
on Oracle & Sybase
* [HHH-7732] - QueryTest#testMemberOfSyntax failing on Oracle
* [HHH-7733] - NativeSQLQueriesTest failing on Postgres
* [HHH-7734] - SerializableTypeTest#testNewSerializableType failing for Oracle
11G R1
* [HHH-7748] - EnumType crashes because of unsupported JDBC API in Oracle
* [HHH-7757] - NOT IN handled incorrectly with tuples for dialects that do not
support tuple syntax
* [HHH-7767] - JoinWalker creates ".." substring in association path
* [HHH-7768] - Names of invalid named queries incorrectly concatenated
* [HHH-7769] - Define short-names for built-in MultiTableBulkIdStrategy impls
* [HHH-7785] - Schema export does not generate unique constraints for
HSQLDialect any more
* [HHH-7797] - Inconsistent logic by uses of Dialect#supportsNotNullUnique
* [HHH-7800] - maximize() builds incorrect query if used inside an
* [HHH-7816] - DDL opertations will incorrectly commit current transaction on
Oracle XA
* [HHH-7819] - Correct test issues found in CI hibernate-core-master-matrix job
* [HHH-7821] - NPE after upgrade from 4.1.6 to 4.1.8
* [HHH-7825] - org.hibernate.type.descriptor.java.DataHelper is incompatible
with FireBird JDBC
* [HHH-7829] - NullPointerException when manually flushing One-To-One
relationship with orphan removal
* [HHH-7839] - Documentation bug at
SimpleNaturalIdLoadAccess.getReference(Object naturalIdValue)
* [HHH-7849] - Unable to join on an embedded field
* [HHH-7889] - Sybase jConnect driver cannot use ResultSet.getClob(String)
* [HHH-7890] - Quoting identifiers breaks @UniqueConstraint
* [HHH-7910] - Transaction timeout can cause non-threadsafe session access by
reaper thread
* [HHH-7911] - NPE in TwoPhaseLoad#initializeEntity
* [HHH-7923] - Revert to Javassist 3.15
* [HHH-7928] - Regression caused by HHH-6361
* [HHH-7930] - Hibernate will crash with (custom) enum types when running with
a logback.xml in debug mode
* [HHH-7933] - boolean is broken on SQLServerDialect
* [HHH-7948] - Merging CollectionChangeWorkUnit with ModWorkUnit ended with
incorrect values of modified flags
* [HHH-7970] - @javax.persistence.Cacheable is never wired up
* [HHH-7984] - Prepared statement for callable returning cursor not closed
* [HHH-7990] - Bootstrapping Hibernate fails if javax.validation API is on
classpath but no provider
* [HHH-8002] - TransactionTimeoutTest#testTransactionTimeoutSuccess failing on
* [HHH-8003] - Create "sqlDropString" method in Dialect to handle "if exists"
* [HHH-8005] - Sybase 15 - nullable column are not nullable (when created by
* [HHH-8006] - MergeCollectionEventTest & BadMergeHandlingTest fail on MySQL
* [HHH-8007] - Update SQLServer2005LimitHandler to handle multiselects (*,
* [HHH-8017] - Correct SybaseDialect's getNullColumnString
* [HHH-8019] - Multiple tests creating identifiers too long for Oracle
* [HHH-8022] - Return REFCURSOR on native named query: regression on 4.2.0 CR1
* [HHH-8025] - Binary compatibility broken between 4.1.9 -> 4.1.10 for
Restrictions.eq and Restrictions.ne
* [HHH-8026] - Duplicate constraint names with unique=true
* [HHH-8036] - Envers projection max causes mysql syntax error
* [HHH-8037] - Empty SQL statements with custom UniqueDelegate
* [HHH-8053] - HibernateBundleActivator should not register itself as a
* [HHH-8061] - tests failing on master-matrix CI
* [HHH-8067] - Hibernate's ManagedType#getDeclaredAttribute fails to find
plural attributes
* [HHH-8072] - envers @ElementCollection Map support failing -- nullable KEY
* [HHH-8073] - Column#getAlias logic incorrectly uses Dialect#getMaxAliasLength
* [HHH-8082] - HQLScrollFetchTest.testScroll hangs on DB2-97
* [HHH-8085] - QueryCacheTest.testGetByCompositeId fails on db2-97 -- DB2 SQL
Error: SQLCODE=-613
* [HHH-8086] - Allow explicit package naming in persistence.xml via <class/>
* [HHH-8087] - Envers delete doesn't insert a new row with revtype=2 for
unidirectional manytomany collections
* [HHH-8092] - Configuration#generateSchemaUpdateScript does not create unique
* [HHH-8107] - JandexHelper.getValue() returns Boolean instead of boolean,
causing ClassCastException
* [HHH-8136] - Correct "to_char" function in HSQL

** Deprecation
* [HHH-7777] - Deprecate XmlRepresentableType
* [HHH-7856] - Deprecate TableHiLoGenerator and TableGenerator

** Improvement
* [HHH-465] - order by nulls first / last
* [HHH-1123] - Cannot put more than 1000 elements in a InExpression
* [HHH-1775] - collection batch fetching
* [HHH-1917] - Bulk Delete on the owning side of a ManyToMany relation needs to
delete corresponding rows from the JoinTable
* [HHH-2448] - Generate identical column aliases among cluster
* [HHH-2805] - The class Order does not contain getters
* [HHH-2951] - Restrictions.eq when passed null, should create a
* [HHH-3458] - Register postgres random() function as "rand" in
* [HHH-4412] - bulk update with native sql queries
* [HHH-5951] - Strategy for deciding JtaPlatform when an explicit one not
* [HHH-6452] - PostgreSQL Dialect does not fully implement NOWAIT locking
* [HHH-6682] - add support for oracle "bitand" function to Oracle Dialect
* [HHH-6823] - Short-name config values
* [HHH-6841] - Allow multiple @SkipForDialect annotations
* [HHH-7462] - Make JACC service
* [HHH-7520] - BlobProxy.invoke Javadoc is incorrect
* [HHH-7550] - Fix UP-TO-DATE checking for APT-based tasks
* [HHH-7626] - Add javadoc to annotations
* [HHH-7631] - Improve performance of UpdateTimestampsCache
* [HHH-7633] - Improve performance of IdentityMap
* [HHH-7667] - Initial improved bytecode enhancement support
* [HHH-7683] - Optimize performance of
* [HHH-7698] - In efficient LOB creations backed by streams
* [HHH-7714] - Add support for EntityMode.MAP to JPA Criteria API
* [HHH-7725] - Make handling multi-table bulk HQL operations more pluggable
* [HHH-7728] - Add equals method in the table class
* [HHH-7746] - Investigate alternative batch loading algorithms
* [HHH-7806] - Failure of lazy initialization of collection no longer reports
* [HHH-7811] - grammar error in devguide for HB
* [HHH-7813] - mistake in code examples in devguide for HB
* [HHH-7826] - Generate 'unique' constraints in stable order
* [HHH-7835] - Inefficient implementation of
* [HHH-7840] - org.hibernate.id.IncrementGenerator very slow
* [HHH-7866] - Avoid redundant log level checking in StandardQueryCache
* [HHH-7869] - bad performance problem with
* [HHH-7872] - Improved L2 cache storage of "reference" data
* [HHH-7902] - Replace JDBC proxies with a set of contracts/helpers
* [HHH-7912] - Define edge-case behavior for Session.evict
* [HHH-7947] - remove not maintained 2LC provider from Doc
* [HHH-7952] - Missing Deprecated Javadoc For TableGenerator/TableHiLoGenerator
* [HHH-7965] - Redesign DialectResolver contract
* [HHH-7992] - Add a base Session delegator implementation
* [HHH-7999] - Oracle test failures due to lack of support for various syntax
* [HHH-8029] - Improve SimpleNationalizedTest
* [HHH-8071] - Add debug/trace logging to HibernatePersistenceProvider
* [HHH-8076] - javax.security and javax.validation should be optional in OSGi
* [HHH-8088] - Redesign Scanner contract
* [HHH-8096] - Re-work the OSGi class loading concepts
* [HHH-8113] - Persistence.createEntityManagerFactory() should run schema
export if JPA properties are set
* [HHH-8121] - Make property-able JPA settings defined in persistence.xml
available in EMF.getProperties()
* [HHH-8122] - Scrub known-sensitive settings from EMF.getProperties()

** New Feature
* [HHH-5869] - Add suport for nationalized character mappings
* [HHH-6613] - Support for audited @ElementCollection / collection of elements
* [HHH-6736] - Support for SELECT ... FOR UPDATE SKIP LOCKED / read past
* [HHH-7402] - Improve performance of named query registry
* [HHH-7552] - New StrategySelectorService
* [HHH-7723] - Adding mssql2012 DBAllocator label
* [HHH-7827] - [ENVERS] Create ability to get the latest revision of all
instances for a requested Entity Class

** Patch
* [HHH-3869] - Improve toString on SessionStatistics
* [HHH-6361] - Collection events may contain wrong stored snapshot after
merging a detached entity into the persistencecontext

** Task
* [HHH-7387] - Integrate Draft 6 of the JPA 2.1 spec
* [HHH-7451] - Integrate Draft 7 of the JPA 2.1 spec
* [HHH-7521] - JBoss 7 / JPA 2.1 integration work
* [HHH-7620] - allow ValidatorFactory to be passed into
* [HHH-7621] - allow DataSource to be passed into EntityManagerFactoryBuilder
* [HHH-7727] - Mark Envers demo as test source
* [HHH-7749] - Allow setting system properties for tests on gradle command line
* [HHH-7782] - Deprecate PersistentElementHolder,
PersistentIndexedElementHolder, PersistentListElementHolder and
* [HHH-7914] - Improve new stored procedure call support
* [HHH-7957] - Integrate Latest draft(s) of the JPA 2.1 spec
* [HHH-7978] - Document new feature from HHH-5869
* [HHH-8044] - Remove mention of unsupported cache providers from Developer
* [HHH-8095] - Upgrade to JTA API 1.0.1
* [HHH-8097] - Pull in new EE7 apis for integration
* [HHH-8129] - Unify BaseQueryImpl and AbstractQueryImpl hierarchies

Changes in version 4.1.5.SP1 (2012.07.12)


** Bug
* [HHH-7447] - ValueHolder used in NaturalIdCacheKey is not Serializable
** Improvement
* [HHH-2394] - Support filter tag in subclass

Changes in version 4.1.5.Final (2012.07.12)


** Bug
* [HHH-5411] - Missing value in not updatable column in Envers audit table
* [HHH-5565] - Memory leak is possible if changes for audited entities are
outside of transaction
* [HHH-5929] - PooledLoOptimizer in conjunction with SequenceStyleGenerator is
not thread-safe
* [HHH-6304] - Error "Cannot create TypedQuery for query with more than one
return" with named queries
* [HHH-6707] - One-to-One mapping with foreign key in target table and foreign
key being the primary key fails with Oracle
* [HHH-6896] - Metamodel.managedType(...) implemented incorrectly
* [HHH-7310] - Resolution of types registered in type registry does not work
properly for Properties of @Embeddable types
* [HHH-7311] - NullPointerException if TenantConnectionProvider class does not
* [HHH-7368] - SQLServer2005Dialect: pagination query fails if terminating with
a semicolon
* [HHH-7369] - SQLServer2005Dialect: scalar query fails with pagination
* [HHH-7374] - Support KEY, ENTRY and VALUE qualifiers in WHERE clause
* [HHH-7380] - bug when initialize MULTI_TENANT_IDENTIFIER_RESOLVER and
* [HHH-7426] - Setting cacheable="true" in orm.xml does not enable caching of
entity in 2lc
** Improvement
* [HHH-4394] - @OrderBy usage on a joined classes (when using join table)
produces incorred SQL syntax.
* [HHH-7370] - SQLServer2005Dialect: sql-transformation to
common_table_expression not needed when offset = 0
* [HHH-7381] - Refact: split CacheImpl from SessionFactoryImpl into a session
factory scope service
* [HHH-7382] - refact: unify the configuration implementation loading strategy
* [HHH-7431] - Reduce NaturalIdCacheKey Memory Footprint
** Task
* [HHH-7440] - Redesign dialect-specific LIMIT clause appliance
* [HHH-7442] - rename org.hibernate.internal.util.Value

Changes in version 4.1.4.Final (2012.05.30)


** Bug
* [HHH-2214] - SQLStateConverter chooses wrong JDBCException: Locks and MySQL
* [HHH-5396] - JPQL KEY(), ENTRY() and VALUE() does not recognize alias refs
* [HHH-6256] - persistence.xml-specified javax.persistence.lock.timeout is
* [HHH-6310] - SQLServer2005Dialect produced select statement with a distinct
keyword within an aggregate function does not work
* [HHH-6329] - Apparently inaccurate 'java.lang.UnsupportedOperationException:
Illegal attempt to edit read only item' when using SQLQuery.executeUpdate
* [HHH-6728] - SQLServer2005Dialect - Paging doesn't work with UPPERCASE colums
in a case sensitive database
* [HHH-6950] - Bogus string replacement in
* [HHH-6960] - NullPointerException in PreCollectionRemove Listener
* [HHH-7019] - SQLServer2005Dialect, SQLServer2008Dialect issues with
* [HHH-7074] - the replacement annotations of @Entity are not working
* [HHH-7107] - org.hibernate.test.locking.LockModeTest hangs on Sybase 15.5 and
* [HHH-7112] - session.clear does not clear
* [HHH-7198] - SQLServer2005Dialect.getLimitString turns tablenames to
lowercase -> SQLGrammarException: when mapping tables with capital letters
* [HHH-7285] - Using distinct in Criteria, using first- and maxResults, fails
with SQLGrammarException when a colum in the distinct clause starts with 'from'
* [HHH-7294] - Envers manytomany Test BasicSametable fails on DB2 as DB2 does
not support tinyint
* [HHH-7295] - ParentAuditing Test in Envers Testsuite fails across different
databases with different error messages because Hibernate does not set LockMode
* [HHH-7316] - Collection removal actions added by
DefaultAutoFlushEventListener.onAutoFlush() are not removed when flush is not
* [HHH-7317] - Boolean values bound to parameters in SQL predicate cause
failures using DB2 with deferPrepares = true
* [HHH-7323] -
SQLServerDialectTest.testMaxResultsSqlServerWithCaseSensitiveCollation fails on
mssql2008R1 and mssql2008R2 due to Lock request TimeOut period exceeded
* [HHH-7346] - Tests fail on Postgresql due to failure in typecasts
* [HHH-7347] - fail test if it runs longer than 30 minutes to prevent hangs
* [HHH-7348] - AbstractMultiTenantConnectionProvider not closing connections
* [HHH-7350] - read-only entities can not be deleted from 2LC

** Improvement
* [HHH-3961] - SQLServerDialect, support nowait in LockMode.UPGRADE_NOWAIT
* [HHH-5881] - Add getter for "namedParameters" to QueryKey
* [HHH-6846] - Support for Query.setHint(javax.persistence.lock.timeout)
* [HHH-7356] - javax.persistence.lock.timeout hint is ignored by @NamedQuery

** New Feature
* [HHH-7306] - Allow use of CurrentTenantIdentifierResolver in normal session

Changes in version 4.1.3.Final (2012.05.02)


** Bug
* [HHH-1512] - Problem to lock a row in a DB2 database with LockMode UPGRADE
* [HHH-2697] - Can't use := for variable assignment within a SQL-Statement
* [HHH-7068] - "Cursor state not valid" error from AS400
* [HHH-7101] - NPE when trying to create EntityManagerFactory
* [HHH-7195] - Table does not handle quoted catalog
* [HHH-7225] - NullPointerException after persisting null entity value as
* [HHH-7237] - Inline natural-id synchronization doesn't consider reattached
* [HHH-7238] - Remove the need for QueryResultsRegionImpl to have @Listener
* [HHH-7239] - have session remove itself from list of transaction observers on
* [HHH-7245] - Inline natural-id synchronization doesn't consider objects
loaded from shared cache
* [HHH-7246] - Envers creates revision for changing from empty string to null
and from null to string
* [HHH-7250] - Bug in SharedCache handling of Natural-id
* [HHH-7251] - PostgreSQL Dialect not properly mapping SQL error codes for
pessimistic lock exceptions.
* [HHH-7252] - EntityManager not retaining LockOptions context when mapping
* [HHH-7253] - NPE thrown by NaturalIdResolutionCache
* [HHH-7265] - ConcurrentModificationException in
SynchronizationRegistryImpl.notifySynchronizationsAfterTransactionCompletion due to
SynchronizationRegistryImpl.clearSynchronizations clearing
* [HHH-7266] - Move away from use of Enhydra developed DataSource for JTA
* [HHH-7274] - Developer Guide reverses discussion of CMTTransactionFactory and
* [HHH-7276] - Regression allows entity to be looked up by previous natural id
* [HHH-7278] - Natural-id shared cache afterTransactionCompletionProcess does
not distinguish between success and failure
* [HHH-7281] - Tests fail on Postgresql due to failure in typecasting
* [HHH-7296] - NPE in JtaTransaction#markRollbackOnly

** Improvement
* [HHH-6848] - Performance Optimization of in memory merge algorithm (Wim
* [HHH-7235] - Support null NaturalId values in loadEntityIdByNaturalId query
* [HHH-7256] - Infinispan second level cache should react to minimal puts in
putFromLoad impl
* [HHH-7272] - Have ClassLoaderServiceImpl use Class.forName rather than
* [HHH-7279] - Prevent identical re-cachings in natural-id shared cache
* [HHH-7280] - Upgrade to Infinispan 5.1.4.FINAL
* [HHH-7282] - Move org.hibernate.cache.internal.Timestamper to hibernate-
testing module
* [HHH-7283] - hibernate is not compilable on JDK7

** New Feature
* [HHH-6790] - Add option to SequenceStyleGenerator to prefer a "sequence per

** Patch
* [HHH-5043] - Incorrect handling of hibernate.default_schema in SchemaUpdate
* [HHH-6405] - setFetchMode ignored in certain cases when using criteria

Changes in version 4.1.2.Final (2012.04.04)


** Bug
* [HHH-1657] - hql update generate wrong sql with joined subclass hierarcy
* [HHH-6271] - deploying with a 1.0 orm.xml, gets unexpected error HHH00196
* [HHH-6915] - Restrictions.ilike(String propertyValue, Object value) does not
correctly initialize LikeExpresison
* [HHH-7017] - Envers does not work in case of resource-local transactions and
manual session flush mode
* [HHH-7020] - Connection leak with nested sessions
* [HHH-7090] - Temporary session closing affects original session
* [HHH-7133] - NaturalIdLoadAccess not correctly working on mutable NaturalId's
* [HHH-7158] - Regression: null values on NaturalId's at persist-time are
causing subsequent NPE's and wrong behaviour
* [HHH-7159] - Database keywords causes failure of some tests in
* [HHH-7160] - NaturalIdXrefDelegate#cache() needs to remove obsolete entries
in shared cache when NaturalId values changed
* [HHH-7165] - count() query on classes using EmbeddedId should not use id
column tuple on Dialects which dont support non-distinct tuple counts
* [HHH-7166] - Infinispan Hibernate RegionFactory doesn't allow user to have
their own custom CommandFactory
* [HHH-7167] - The new natural id code introduced in 4.1.1 depends on the order
the entity persisters are loaded which leads to fatal errors
* [HHH-7174] - org.hibernate.test.tm.CMTTest.testConcurrentCachedQueries fails
due to test cases interdependent
* [HHH-7184] - Missing StaticModels for envers revision entity
* [HHH-7191] - NaturalIdCache improperly declared
* [HHH-7192] - NullPointerException in QueryTranslatorImpl on erroneously typed
delete query
* [HHH-7193] - Transaction Rollback not clearing statement batch on Prepared
Statement causes issues with statement caching
* [HHH-7194] - NullPointerExeption with nested subqueries using Criteria API
* [HHH-7200] - SessionFactoryObservers should be notified of the close event in
reverse order of the create event
* [HHH-7204] - improve tracking of regions created in the Infinispan region
* [HHH-7210] - Natural-id cache put stats not being correctly updated on insert
for "asynch" cache providers

Changes in version 4.1.1.Final (2012.03.07)


** Bug
* [HHH-6883] - Informix dialect incorrectly reports that temp tables are not
* [HHH-7046] - Polymorphic query by natural ID broken
* [HHH-7073] - Audited entities with Many-to-Many relationships fail with
* [HHH-7085] - Entities marked as @Immutable that have a @NaturalId fail to be
inserted with NPE
* [HHH-7089] - NPE during SessionFactoryImpl init when 2L caching is enabled
and @NaturalIdCache is used with EHcache
* [HHH-7094] - Session is not flushed before NaturalIdLoadAccess is executed
* [HHH-7095] - Handle RegionFactory.buildNaturalIdRegion throwing
* [HHH-7096] - Settings not available in SingletonEhCacheRegionFactory
* [HHH-7097] - Entity load event doesn't result in naturalId->pk caching
* [HHH-7102] - Misleading error message is shown when no RegionFactory is
manually set
* [HHH-7106] - Documentation doesnt explain how to create audited tables
* [HHH-7117] - MultipleLinesSqlCommandExtractor does not accept trailing white
spaces after last statement
* [HHH-7127] - Query region evictAll not working on local mode
* [HHH-7129] - Throw exception when metadata attempts to spread @NaturalId
across an entity hierarchy
* [HHH-7138] - Hibernate implements JPA @OneToMany collection versioning
* [HHH-7147] - ServiceRegistry is starting services twice

** Deprecation
* [HHH-7023] - Deprecate HQL-specific (JDBC-style) positional parameters

** Improvement
* [HHH-5927] - Performance risk: Suboptimal synchronization in
* [HHH-6589] - Skip non-JPA features populating JPA "static metamodel"
* [HHH-6946] - Add support for the AS400 (iSeries) system to
* [HHH-6983] - remove common-collections dependency
* [HHH-7066] - Improve memory allocation on String extraction out of Clob
* [HHH-7128] - Upgrade to Infinispan 5.1.2.CR1

** Patch
* [HHH-4417] - Add annotation support for UserCollectionType
* [HHH-6100] - Bug fix related to CriteriaQuery (JPA) when using XML mappings

** Task
* [HHH-7062] - upgrade to jboss-logging 3.1.0.GA
* [HHH-7067] - Update build to work with Gradle m8
* [HHH-7153] - Update to newest jDocBook tool chain versions

Changes in version 4.1.0.Final (2012.02.08)


** Bug
* [HHH-3218] - ManyToOne Persisting Cascade in Embeddable as part of
* [HHH-3544] - Nullability.checkNullability() throws PropertyValueException
(not-null property references a null property) for a property that
ForeignKeys.Nullifier.nullifyTransientReferences() just nulled
* [HHH-3853] - one-to-one mapping doesn support Primary Key Association
* [HHH-4962] - @ManyToOne with @JoinTable fails
* [HHH-5024] - MetadataContext#registerAttribute does not recognize inherited
* [HHH-5299] - Multi-Level cascading of unsaved instances with bidirectional
associations fails with TransientObjectException (Carl-Eric Menzel)
* [HHH-5755] - javax.persistence.criteria.Expression.as() is broken
* [HHH-6580] - Discriminator value used as ID when inserting entity to
* [HHH-6689] - DefaultMergeEventListener changes CheckNullability flag - not
thread save
* [HHH-6738] - Hardcoded alias causing problems
* [HHH-6744] - TransientObjectException thrown on dirty check during flush with
* [HHH-6825] - AuditException with @OneToOne-mappedBy and @PrimaryKeyJoinColumn
* [HHH-6964] - EnversIntegrator is always detected by default while
initializing Serviceregistry using Native Hibernate API causing a MappingException
even when Envers is not used
* [HHH-6967] - Reapply HHH-6906
* [HHH-6969] - Reference manual discusses removed
SessionFactory.openSession(Interceptor) method
* [HHH-6984] - some statistics are incremented even when stats are disabled
* [HHH-7003] - Scale = 0 doesn't supported
* [HHH-7006] - keyword "top" causes test fail on ms sql server
* [HHH-7007] - Replacing the region factory in the global cache command factory
could affect other apps
* [HHH-7016] - NullPointerException in CacheAdapterImpl when evictAll
* [HHH-7021] - PostgreSQL 8.1 and earlier does not support if exists before
drop (Eric Dalquist)
* [HHH-7022] - AbstractMultiTenantConnectionProvider never closes connections
causing resource exhaustion
* [HHH-7030] - EventListenerRegistry interface generic declaration is not
extensible to subclasses
* [HHH-7034] - java.sql.SQLTimeoutException should be mapped to
* [HHH-7041] - SQLServer2005Dialect handles DISTINCT clauses incorrectly
* [HHH-7044] - SQLServer2005Dialect parses GROUP BY clause incorrectly

** Deprecation
* [HHH-7014] - Deprecate PostgreSQLDialect
* [HHH-7032] - Deprecate Dialect.buildSQLExceptionConverter()

** Improvement
* [HHH-2879] - add an actual api for loading an entity by natural candidate key
(mapped natural-id)
* [HHH-3910] - custom dirty flag tracking
* [HHH-4358] - Having to use @ForceDiscriminator kind of breaks JPA
* [HHH-5472] - Delay saving an entity if it does not cascade the save to non-
nullable transient entities
* [HHH-6923] - Remove
* [HHH-6944] - Update Dialects to return SQLExceptionConversionDelegate
* [HHH-6957] - Throw TransientPropertyValueException if there are unresolved
entity insert actions after persist/save/merge listeners execute
* [HHH-6968] - Update overview.html for aggregated JavaDocs
* [HHH-6974] - Add caching to new "load access" api for natural id loading
* [HHH-6980] - Upgrade to Infinispan 5.1.0.CR4
* [HHH-6994] - Have EntityEntry fire notification to PersistenceContext on
loadedState being updated
* [HHH-6998] - Expand CustomEntityDirtinessStrategy to define findDirty
* [HHH-7009] - Create PostgreSQL81Dialect and PostgreSQL82Dialect (Eric
* [HHH-7026] - upgrade to infinispan 5.1.1.FINAL

** New Feature
* [HHH-6605] - Storing information about changes of properties
** Task
* [HHH-6082] - Incorporate EntityManager documentation into main dev guide
* [HHH-6336] - Add TenantIdentifierResolver
* [HHH-6656] - Document
* [HHH-6966] - Re apply HHH-6782
* [HHH-6985] - Change up tests for PostgreSQL LockMode issues
* [HHH-7011] - Document multi-tenancy
* [HHH-7018] - change EntityManagerFactory serialization to just serialize the
name and lookup the previously created EntityManagerFactory during deserialization

Changes in version 4.0.1.Final (2012.01.11)


** Sub-task
* [HHH-2763] - Allow initialization during flush
* [HHH-6952] - Allow extensions of InfinispanRegionFactory to override
classloader logic

** Bug
* [HHH-4439] - In general it is impossible to override properties defined in
@MappedSuperclass to change how they will be handled during auditing.
* [HHH-5275] - Criteria.setLockMode does not work correctly
* [HHH-5891] - AuditReaderImpl.getRevisions result is not ordered as specified
in Javadoc
* [HHH-6854] - testSubsequentPooledLoOptimizerUsage doesn't actually test the
PooledLo optimizer
* [HHH-6855] - SequenceStyleGenerator should force use of TableStructure when
the optimizer is PooledLo
* [HHH-6902] - Create typed query in EntityManager throws NullPointerException
when filters are present
* [HHH-6906] - Clean up javadoc warnings
* [HHH-6909] - "Getting Started Guide" example code cannot be run successfully
* [HHH-6916] - Improper handling of primitive arrays in
* [HHH-6920] - HQL insert queries and identifier handling
* [HHH-6921] - jandex and classmate dependencies should not be exported to
published pom
* [HHH-6933] - Developer's guide has strange markup in Chapter 1
* [HHH-6936] - EntityManagerImpl.close() and EntityManagerImpl.isOpen() should
check if the session factory is closed

** Improvement
* [HHH-6822] - Split notions of (1) "naming" a SessionFactory and (2)
specifying a JNDI name to which to bind it
* [HHH-6840] - Add to_char function to HSQLDialect
* [HHH-6887] - Improve SQLStateConverter to take sql state type from the
database metadata into account
* [HHH-6955] - Upgrade to Infinispan 5.1.0.CR3

** New Feature
* [HHH-6931] - Provide local database hook
* [HHH-6940] - Ability (easier) to run bits of code in a timeout protected way

** Patch
* [HHH-5124] - Removing an entity and persisting it again fails
** Task
* [HHH-6657] - Document org.hibernate.integrator.spi.IntegratorService
* [HHH-6782] - define javadoc groups based on api/spi/internal
* [HHH-6897] - serialization of the EntityManager should be possible
* [HHH-6900] - upgrade to org.javassist:javassist:3.15.0-GA
* [HHH-6903] - add building of hem and manual docs
* [HHH-6937] - Process database profiles just once per build

Changes in version 4.0.0.Final (2011.12.14)


** Bug
* [HHH-6836] - some test failures on Oracle
* [HHH-6866] - UUID wrongly mapped as 'char(255) for bit data' on DB2
* [HHH-6867] - test data overflow causes
org.hibernate.test.cut.CompositeUserTypeTest.testCustomColumnReadAndWrite fails on
* [HHH-6870] - sysdate function in oracle dialect is a non argu and no
parentheses function

** Improvement
* [HHH-6729] - Upgrade to Infinispan 5.1 and update default second level cache
config file

** Task
* [HHH-6423] - Add JoinedIterable<T>

Changes in version 4.0.0.CR7 (2011.11.30)


** Bug
* [HHH-5222] - upgrade from READ to OPTIMISTIC_FORCE_INCREMENT fails
* [HHH-5945] - Race condition in building query cache
* [HHH-5992] - A query fails to return correct results silently
* [HHH-6068] - JPA-specified default schema ignored for Hibernate sequences
* [HHH-6425] - On Sybase ASE, insert a empty string '' to db, it stores it as
single space ' '
* [HHH-6773] - test fails on sybase
* [HHH-6780] - Wrong Query timeout calculation
* [HHH-6806] - Auto scan for JPA entities does not work in exploded packages in
JBoss AS < 7
* [HHH-6807] - org.hibernate.test.lob.LobMergeTest fail on Sybase ASE
* [HHH-6817] - Logging of strings containing the percent character broken
* [HHH-6819] -
* [HHH-6820] - Skip test
org.hibernate.ejb.test.lock.LockTest.testContendedPessimisticLock for Sybase
* [HHH-6827] - org.hibernate.test.tm.CMTTest#testConcurrentCachedDirtyQueries
is falling
* [HHH-6828] - BasicOperationsTest does not take into account that databases
can treat identifers differently when it come to lower or upper case
* [HHH-6830] - QueryAndSQLTest.testNativeQueryWithFormulaAttribute fails due to
hard coded function names
* [HHH-6834] - skip test BasicOperationsTest on oracle due to a oracle jdbc
driver issue
* [HHH-6842] - Skip
nyToOneFromNonPkToNonPk for DB2
* [HHH-6843] - LockTest#testContendedPessimisticLock is too agressive in its
* [HHH-6849] - SQLServer2005Dialect changes the order of selected columns when
using pagination
* [HHH-6850] - no Types.BINARY mapping in DB2 dialect
* [HHH-6851] - DB2 doesn't support NotNullUnique causes
ConstraintWithSuperclassProperty fail
* [HHH-6852] - DB2 doesn't support exists in select
* [HHH-6856] - RowValueConstructorSyntax with In syntax is not working
* [HHH-6863] - serviceBindingList in AbstractServiceRegistryImpl needs
* [HHH-6865] - PessimisticLockException should be thrown when pessimistic read
and write locking strategies fail
* [HHH-6867] - test data overflow causes
org.hibernate.test.cut.CompositeUserTypeTest.testCustomColumnReadAndWrite fails on

** Improvement
* [HHH-4055] - make UpdateTimestampsCache pluggable, like QueryCache
* [HHH-6833] - Eable SQL logging for tests
* [HHH-6845] - Avoid repeated invocations of ReflectHelper.overridesEquals in
proxy initializers
* [HHH-6858] - Minor performance improvements after hotspots analysis
* [HHH-6862] - Reuse cached entryArray of IdentityMap in
StatefulPersistenceContext as much as possible
* [HHH-6868] - Lazily initialize HashMap in LockOptions

** Patch
* [HHH-6286] - UpdateTimestampsCache should try to avoid acquiring lock if

** Task
* [HHH-6818] - update dependencies management
* [HHH-6821] - Upgrade to jboss-logging-tools 1.0.0.CR5
* [HHH-6853] - upgrade to jboss-logging 3.1.0.CR2
* [HHH-6860] - Upgrade to Hibernate Commons Annotations 4.0.1 when released

Changes in version 4.0.0.CR6 (2011.11.10)


** Bug
* [HHH-3716] - Sybase - null values for columns mapped as "boolean" are
persisted as 0 (zero) instead of NULL
* [HHH-5413] - null values for columns mapped as "boolean" cause exception when
saving entity with Sybase jdbc4
* [HHH-6714] - Parentheses dissapear in HQL query where they should stay
* [HHH-6753] - Envers WorkUnits: Problems with merge
* [HHH-6779] - ByteType mapped to tinyint, but on sybase/ms sql server, tinyint
is unsigned int
* [HHH-6784] - The REVINFO table is always added to Hibernate's configuration,
even if there are no audit tables
* [HHH-6786] - DB2 v97 doesn't support define a boolean type column
* [HHH-6789] - StringIndexOutOfBoundsException at
* [HHH-6792] - connection leaks due to service registry is not destroyed
* [HHH-6793] - SessionCacheCleaner doesn't accomodate for closed sessions
* [HHH-6795] - unsupported Boolean type null value on Sybase causes hangs
forever when doing bind parameter
* [HHH-6796] - Services retrieved after SessionFactoryServiceRegistry has
started are not configured (Configurable)
* [HHH-6799] - Hibernate EntityManager bootstrap does not ensure that
ServiceRegistries are closed
* [HHH-6815] - ByteTest fails on SQL Server due to driver dropping negative
sign due to TINYINT data type

** Patch
* [HHH-5146] - org.hibernate.util.IdentitySet.iterator() return Map.Entry
instances instead of actual elements

** Task
* [HHH-6787] - upgrade to JBoss Logging tools 1.0.0.CR3
* [HHH-6791] - tiny improvement, in favor of java auto-box instead of create
new instance
* [HHH-6798] - Upgrade to Hibernate Commons Annotations GA once it's released
* [HHH-6816] - Upgrade to jboss-logging 3.1.0.CR1

Changes in version 4.0.0.CR5 (2011.10.27)


** Bug
* [HHH-2304] - Wrong type detection for sql type char(x) columns
* [HHH-3434] - hql insert doesn't work when inserting into a table with
* [HHH-3843] - @Audited and @ManyToMany relation problem - after modyfing an
Entity: org.hibernate.NonUniqueObjectException with message: "a different object
with the same identifier value was already associated with the session ...
* [HHH-4838] - 2L-Querycache ImmutableNaturalKeyLookup not properly recognized
as hasImmutableNaturalId() is called on wrong EntityMetamodel
* [HHH-4881] - restrict polymorphic query results
* [HHH-4982] - JPA OneToOne(optional=true) not supported with
* [HHH-5419] - COUNT operator with composite primary key and JPA 2.0 Criteria
API produces bad sql
* [HHH-6121] - Hibernate statistics should log at DEBUG level instead of INFO
* [HHH-6188] - java.util.UUID cannot be used for Ids on Oracle
* [HHH-6636] - Properties listed inside "<properties>" tag are not audited
* [HHH-6703] - id element has 'column' attribute, then the pk column is
nullable in ddl created by schema export
* [HHH-6715] - Integrator classes not being located correctly
* [HHH-6717] - oracle does not have a boolean type
* [HHH-6722] - o.h.test.schemaupdate.SchemaExportTest fails if dialect does not
support drop table if exist
* [HHH-6724] - AnnotationBinder and HbmBinder improperly set
EntityPersisterClass upon class hierarchy
* [HHH-6737] - column names in Constraint is not quoted even column name is
quoted in mapping
* [HHH-6739] - JtaIsolationDelegate.doTheWorkInNewTransaction fails to
propagate or otherwise report caught exceptions
* [HHH-6748] - Test failures due to inconsistent return type of numeric from
native query
* [HHH-6749] - FooBarTest.testLimit() fails on MS SQL Server due to dialect
interpretation of max row
* [HHH-6750] - ASTParserLoadingTest.testAggregation() fails on MS SQL Server
performing avg, presumably due to forcing result to match column type
* [HHH-6751] - Test failure due to inconsistent scale returned for BigDecimal
* [HHH-6755] - SQL Server/Sybase dialects don't have type mapping for binary
* [HHH-6756] - Test failures due to Oracle LONG limitatations
* [HHH-6757] - QueryCacheTest.testCaseInsensitiveComparison() fails for case-
insensitive DBs
* [HHH-6758] - Test failure due to Oracle restrictions on Blob comparison and
missing equals() and hashcode()
* [HHH-6759] - Null properties mapped as boolean cause exception on Oracle
* [HHH-6760] - Test failures on Oracle due to identity IDs
* [HHH-6762] - ManyToOneWithFormulaTest.testManyToOneFromNonPkToNonPk() fails
due to unsupported keyword
* [HHH-6764] - QueryAndSQLTest.testNativeQueryWithFormulaAttribute() fails on
SQL Server due to unsupported function
* [HHH-6765] - AuctionTest2.testLazy() fails on SQL Server due to unsupported
function in select clause
* [HHH-6767] - CriteriaQueryTest.testSubselect() fails on SQL Server since it
doesn't support ORDER BY in a subquery
* [HHH-6770] - Oracle test failures due to reserved words used as column names
* [HHH-6771] - Test failure on Oracle due to ORDER BY in subquery
* [HHH-6772] - org.hibernate.ejb.test.BaseEntityManagerFunctionalTestCase
overrides system properties
* [HHH-6775] - TargetTest.testTargetOnMapKey() fails on SQL Server due to
nullable column in primary key

** Improvement
* [HHH-4854] - Make constraint violation name extraction language neutral
* [HHH-6691] - Improve JavaDoc of Wrapped wrt exception thrown upon unexpected
* [HHH-6716] - envers should set the TCCL to the envers classloader before
constructing a dom4j instance. This will allow applications to use their own
version of dom4j
* [HHH-6720] - Refactor QuerySplitter
* [HHH-6723] - Remove extra join from eager @OneToOne
* [HHH-6732] - Some logging trace statements are missing guards against
unneeded string creation
* [HHH-6733] - Avoid frequent usage of ReflectHelper in PojoInstantiator
* [HHH-6735] - Performance hostpot in
* [HHH-6745] - Sybase ASE dialect improvement
* [HHH-6766] - Support Multicolumn Subqueries in Criteria API

** New Feature
* [HHH-6696] - Allow specifying revision listener apart from @RevisionEntity

** Patch
* [HHH-4596] - Bulk insertion with assigned identifiers
** Task
* [HHH-6740] - run envers tests on db matrix
* [HHH-6742] - move unit tests back to src/test

Changes in version 4.0.0.CR4 (2011.09.28)


** Bug
* [HHH-5801] - ColumnNameCache.columnNameToIndexCache map should be
* [HHH-5832] - JPA Query and IdClass Causing NullPointerException
* [HHH-6625] - EntityPrinter.toString() fails for non-POJO entities (happens
when logging)
* [HHH-6642] - NullPointerException in method
* [HHH-6668] - JaxbProcessor can't resolve hibernate-configuration-4.0.xsd
* [HHH-6669] - Manual SchemaExport broken due to temp code comments
* [HHH-6677] - skip @BeforeClassOnce / @AfterClassOnce if test is ignored

** Improvement
* [HHH-5326] - UpdateTimestampsCache should maintain the statistics for its
* [HHH-6674] - upgrade infinispan to 5.0.1.Final

** Task
* [HHH-6659] - upgrade maven wagon plugin to 1.0
* [HHH-6660] - Edit Transactions.xml in devguide
* [HHH-6663] - Proof/edit Services.xml in devguide
* [HHH-6675] - upgrade dependencies
* [HHH-6676] - change the Intellij metadata generated by gradle idea task
configuration (max heap size to 512M by default)
* [HHH-6683] - Consolidate (consistency) building of service registries

Changes in version 4.0.0.CR3 (2011.09.14)


** Bug
* [HHH-6533] - ByteTypeDescriptor is not working properly
* [HHH-6581] - JPA 2.0 Spec. Violation with Access and MappedSuperclass
* [HHH-6614] - Bad performance: audited entity updates (lots of them) with no
EntityManager clear
* [HHH-6635] - C3P0: hibernate.c3p0.* configuration properties not properly
* [HHH-6645] - Fix entity information
* [HHH-6647] - ValidityAuditStrategy breaks in case of concurrent updates to
the same entity

** Improvement
* [HHH-6640] - Add ability for Integrator to prepare ServiceRegistryBuilder as
part of lifecycle
* [HHH-6653] - Clean up JAXB generated classes
** New Feature
* [HHH-6091] - Let people customize identifier generator strategy mappings
programmatically in Hibernate 4

** Task
* [HHH-6439] - Add Dialect.getAddUniqueConstraintString()
* [HHH-6626] - Improve PutFromLoadValidatorUnitTestCase to be less
* [HHH-6634] - upgrade to jandex 1.0.3.Final
* [HHH-6641] - Document services
* [HHH-6650] - upgrade jacc dependency
* [HHH-6654] - upgrade ant to 1.8.2
* [HHH-6658] - upgrade jboss-logging-tools to 1.0.0.Beta7

Changes in version 4.0.0.CR2 (2011.08.31)


** Bug
* [HHH-5789] - Hibernate 3.5.4 doesn't build with OpenJDK 6b18-1.8.2 or greater
* [HHH-5848] - Columns's table name not processed by naming strategy
* [HHH-6020] - Move to JBossTS caused some test failures in hibernate-envers
* [HHH-6384] - hibernate.hbm2ddl.auto=create does not drop tables
* [HHH-6412] - hibernate version is not injected by the injection plugin
* [HHH-6586] - Document metamodel package as experimental and unsupported
* [HHH-6594] - Interceptor.onPrepareStatement no longer being called
* [HHH-6599] - Hibernate mark as rollback even for no transaction requests

** Improvement
* [HHH-6588] - rollback to use "org.hibernate.SQL" category to log sql

** New Feature
* [HHH-6618] - running hibernate functional test cases on DB matrix

** Patch
* [HHH-6577] - CUBRID Database Dialect

** Task
* [HHH-5930] - Remove hibernate-tools dependency from runtime scope if it's not
* [HHH-6619] - Move org.hibernate.pretty.Printer to
* [HHH-6621] - Migrate to Hibernate Commons Annotations 4.0.0.CR2
* [HHH-6622] - Upgrade JBoss Logging to 3.0.0.GA

Changes in version 4.0.0.CR1 (2011.08.17)


** Bug
* [HHH-6543] - JBoss AS7 transaction manager jndi lookup is wrong
* [HHH-6547] - Basic properties cannot be made nullable in HBM XML
* [HHH-6560] - Discriminator match value is not initialized in root
* [HHH-6563] - NullPointerException using annotations source if a unique
constraint is not mapped with a constraint name
* [HHH-6564] - JBoss AS6 and earlier transaction manager jndi lookup is wrong
* [HHH-6565] - Unique constraint columns that already exist in the table are
not found

** Improvement
* [HHH-6573] - change to use ClassLoaderService to locate service initiator

** Patch
* [HHH-6370] - HSQLDB dialect - fixes reported issues and adds minor
enhancement (Fred Toussi)

** Task
* [HHH-6268] - Plumb MetadataImplementor into integrators
* [HHH-6337] - Add EntityBinding methods to support single-table inheritance
* [HHH-6410] - Update EntityBinding.getAttributeBindingClosureSpan() and
getAttributeBindingClosure() to work for subclass EntityBindings
* [HHH-6498] - Update entity persisters and tuplizers to use EntityBinding
superclass and subclass information

Changes in version 4.0.0.Beta5 (2011.08.03)


** Sub-task
* [HHH-6202] - Bind inheritance type
* [HHH-6212] - Handle secondary tables
* [HHH-6393] - Implement attribute overrides for embeddables
* [HHH-6430] - MappedAttribute should make use of HibernateTypeDescriptor
* [HHH-6476] - Implement AttributeSource.getPropertyAccessorName
* [HHH-6485] - Add support for @DiscriminatorFormula
* [HHH-6488] - Implement
* [HHH-6489] - Support @javax.persistence.Temporal
* [HHH-6490] - Support @javax.persistence.Lob
* [HHH-6501] - Support @org.hibernate.annotations.Parent
* [HHH-6520] - if no @GeneratedValue on an simple @Id property, then the
generator strategy should be assigned
* [HHH-6521] - Column name is not quoted even the global quote identifier
property is enabled
* [HHH-6535] - Support @org.hibernate.annotations.Target

** Bug
* [HHH-1780] - negation of EXISTS in hql query does not work
* [HHH-4648] - Mapping exception when one class maps to multiple tables.
* [HHH-6469] - build error when using open jdk
* [HHH-6471] - Redesign how EntityBinding models hierarchy-shared information
* [HHH-6478] - Code cleanup in metamodel package
* [HHH-6479] - Split notions of locating and creating an attribute
* [HHH-6480] - Develop component binding for new metamodel
* [HHH-6495] - Components not handled correctly from annotations
* [HHH-6499] - NPE can be thrown by some implementations of
Helper.ValueSourcesAdapter.isIncludedInInsertByDefault() and
* [HHH-6500] - EntityBinding.getEntity().getSuperType() is null for subclass
* [HHH-6506] - Descriminator type is not resolved
* [HHH-6529] - Type is not resolved for plural attributes

** Improvement
* [HHH-6472] - Implementing EntityDiscriminator and discriminator match value
* [HHH-6482] - ddl from schema export is not correctly formatted

Changes in version 4.0.0.Beta4 (2011.07.20)


** Sub-task
* [HHH-6392] - Implement attribute overrides for mapped super classes

** Bug
* [HHH-2614] - Blob Length Set to 255 By Default With Derby DB
* [HHH-6380] - Annotations source maps SingleColumnType values to Tuple
* [HHH-6381] - using @SecondaryTable with optional=true not handled for joined
subclasses (@Inheritance(strategy = InheritanceType.JOINED)
* [HHH-6401] - Create @OptimisticLocking annotation
* [HHH-6418] - org.hibernate.metamodel.relational.AuxiliaryDatabaseObject
extends org.hibernate.mapping.RelationalModel
* [HHH-6419] - Thread Local bound session proxy does not let
SessionImplementor#getFactory() go through on inactive transactions
* [HHH-6442] - JarVisitorFactory is reconstructing URLs without the
URLStreamHandler association
* [HHH-6451] - adapt hibernate-ehcache to the new api
* [HHH-6456] - Test failure in CachedPropertyRefCollectionTest behind a proxy
* [HHH-6460] - AbstractEntityPersister is missing simple property information
* [HHH-6467] - Non-association attributes are not dirty-checked

** Deprecation
* [HHH-6395] - Deprecate org.hibernate.annotations.Entity

** Improvement
* [HHH-6417] - Make EventType more debugger friendly by implementing toString
* [HHH-6421] - Reduce log level of LazyInitializationException from ERROR to
* [HHH-6437] - Improve Database to track default Schema object
* [HHH-6447] - Develop shared binding creation approach

** New Feature
* [HHH-6397] - Create @DynamicInsert annotation
* [HHH-6398] - Create @DynamicUpdate annotation
* [HHH-6399] - Create @SelectBeforeUpdate annotation
* [HHH-6400] - Create @Polymorphism annotation

** Patch
* [HHH-4630] - Criteria join on composite identifier generates wrong alias, SQL

** Remove Feature
* [HHH-6402] - Remove previously deprecated annotations

** Task
* [HHH-6257] - Add IdentifierGenerator to EntityIdentifier binding
* [HHH-6355] - Have attribute bindings return single, aggregated CascadeStyle
* [HHH-6357] - Add AttributeBinding.getFetchMode()
* [HHH-6371] - Develop metamodel binding creation using a push approach
* [HHH-6416] - Move AuxiliaryDatabaseObject into Database
* [HHH-6420] - SQL Server dialect is broken (Tomaz Cerar)
* [HHH-6444] - Integrate new metamodel into SchemaExport
* [HHH-6449] - Change
Exportable.sqlCreateStrings/sqlDropStrings(MetadataImplementor) to take Dialect
argument instead
* [HHH-6450] - Change length argument of Dialect.getTypeName() and TypeNames
size/capacity to long
* [HHH-6453] - Enable new metamodel in BaseCoreFunctionalTestCase
* [HHH-6462] - Build fetch profiles, caches, current session context and
transaction environment from new metadata

Changes in version 4.0.0.Beta3 (2011.07.07)


** Sub-task
* [HHH-6173] - Implement embedded entities (component) mapping
* [HHH-6201] - Handle mapped super classes
* [HHH-6352] - Add EntityBinding.getAttributeBindingClosureSpan() and
* [HHH-6358] - Integrate new metamodel into EntityMetamodel
* [HHH-6359] - Integrate new metamodel into entity tuplizers
* [HHH-6360] - Build basic properties from an AttributeBinding
* [HHH-6364] - Add AttributeBinding,getValuesSpan() and Tuple.valuesSpan()
* [HHH-6365] - Use Identifier.toIdentifier() to create column names
* [HHH-6366] - Add integer value to uniquely identify Table and InLineView
objects for column aliases
* [HHH-6387] - Add EntityBinding.getFilterDefinitions() and
* [HHH-6389] - Add TableSpecification.getQualifiedName(Dialect) and implement
in subclasses
* [HHH-6411] - Integrate new metamodel into SingleTableEntityPersister
** Bug
* [HHH-5917] - Envers doesnt track all columns anymore
* [HHH-6289] - Review log level for o.h.m.s.AnnotationBinder and related binder
* [HHH-6386] - sybase improvement
* [HHH-6394] - org.hibernate.metamodel.source.annotations.global.QueryBinder
handles resultClass paramter of @NamedNativeQuery wrong
* [HHH-6408] - An empty (ie not null) hibernate.connection.isolation raises a
* [HHH-6406] - Move JBoss Transaction dependency from 4.14 to 4.15.1 (no more
dependency hell)
** Task
* [HHH-6278] - quote all db identifiers
* [HHH-6350] - Integrate new metamodel for a root entity with simple attributes
and no joins
* [HHH-6368] - remove deprecated hibernate annotations
* [HHH-6372] - Provide a temporary way to initialize basic types in metamodel
* [HHH-6404] - Move Hibernate Search integrator from Hibernate Core to
Hibernate Search
* [HHH-6407] - Add SimpleValue.getAlias(Dialect) and implement in subclasses
Changes in version 4.0.0.Beta2 (2011.06.22)

** Sub-task
* [HHH-5671] - Apply entity-mode information to the logical model
* [HHH-6319] - Add getter for attribute node name
* [HHH-6320] - Add boolean values and getters to EntityIdentifier indicating if
an ID is embedded or "identifier mapper"
* [HHH-6321] - Add org.hibernate.metamodel.binding.CascadeType.toCascadeStyle()
* [HHH-6341] - Add AttributeBinding.isBasicPropertyAccessor()
* [HHH-6342] - Add EntityModeEntitySpecifics.getTuplizerClass()
* [HHH-6346] - Add EntityBinding.entityTuplizerClass(); change
getEntityPersisterClass() to return Class<EntityPersister>

** Bug
* [HHH-6177] - Envers - problem with mapping relation when using mixed
inheritance strategy
* [HHH-6327] - NPE when using JDBC connection pool C3pO
* [HHH-6348] - POST_COMMIT_DELETE listener does not get executed

** Remove Feature
* [HHH-6330] - Remove entity mode switching capability

** Task
* [HHH-6297] - remove legacy cache api
* [HHH-6300] - Create EntityBindingState implementation for annotations
* [HHH-6301] - Metamodel changes in preparation for integrating metamodel into
* [HHH-6307] - Upgrade to slf4j 1.6.1
* [HHH-6308] - Upgrade to Hibernate Validator 4.2.0.Final
* [HHH-6318] - Change EntityIdentifier.attributeBinding to be type
* [HHH-6322] - upgrade to hibernate-jpa-2.0-api-1.0.1.Final
* [HHH-6333] - Create DeferredInitializationValue
* [HHH-6334] - Create JavaType for the metamodel
* [HHH-6335] - Change PojoEntitySpecifics to use JavaType for entity and proxy
* [HHH-6340] - Revisit EntityBindingState
* [HHH-6343] - Remove JavaClassNameResolver because it is not used

Changes in version 4.0.0.Beta1 (2011.06.08)


** Sub-task
* [HHH-6113] - Write orm.xml parser
* [HHH-6132] - Process and bind global configuration annotations
* [HHH-6133] - Enhance annotation based Jandex index with configuration
extracted from orm.xml
* [HHH-6171] - Implement SimpleAttributeBinding relational and domain state
using annotations
* [HHH-6174] - Create table binding
* [HHH-6207] - Bind o.h.a.Cache and j.p.Cachable
* [HHH-6246] - ConfiguredClass should honor default access from persistence-
* [HHH-6261] - Bind @GeneratedValue
* [HHH-6263] - Bind o.h.a.Proxy
* [HHH-6264] - Bind typedef information
* [HHH-6265] - Bind fetch profiles
* [HHH-6266] - Bind filter definitions
* [HHH-6273] - Bind identifier-generator definitions
* [HHH-6279] - Bind database object definitions
* [HHH-6281] - Basic HbmBinder cleanup

** Bug
* [HHH-2176] - DB2 setMaxResults problem in Hibernate 3.1.3
* [HHH-2225] - NPE when eager fetching joined component with native SQL query
* [HHH-4760] - NotAuditedException occurs when auditReader.getRevisions() is
called for javassist proxies
* [HHH-4943] - ilike support is incomplete
* [HHH-5572] - clean up Sybase job failures
* [HHH-5808] - ObjectNotFoundException for an audited optional association.
Envers is creating a proxy even when the association is null.
* [HHH-5967] - Envers Fetching Indexed Collection - Duplicate Row Exception
* [HHH-6119] - NullPointerException in AbstractPathImpl without source path
* [HHH-6176] - Envers ignores custom comparators for SortedSets
* [HHH-6206] - Explicitly add antlr jar to transitive dependencies
* [HHH-6211] - Fix bad pull request merge
* [HHH-6217] - Create EntityBindingState for initializing entity-specific
binding data
* [HHH-6219] - Memory leak with Infinispan cache
* [HHH-6242] - no Types.BINARY type mapping in PostgresqlDialect
* [HHH-6243] - JBPAPP-3312 org.hibernate.test.legacy.CustomSQLTest fails
* [HHH-6250] - Some classes still using SLF4J
* [HHH-6272] - More logging fix ups
* [HHH-6274] - Logging format error causes many test failures
* [HHH-6276] - org.hibernate.test.cache.ehcache.EhCacheRegionFactoryImpl fails
due to no slf4j in test configuration

** Improvement
* [HHH-4489] - need method "refresh(String entityName, Object obj)"
* [HHH-5025] - Support caching audit queries using ehcache's DiskStore.
* [HHH-5598] - sybase integration improvement
* [HHH-5649] - improve eclipse support with migration to gradle
* [HHH-6062] - Infinispan as JTA synchronization participant
* [HHH-6237] - Remove Service proxy code
* [HHH-6247] - Log (warn) inability for EM to join transaction only when user
explicitly asked for join
* [HHH-6248] - Ominous-sounding WARN message from SessionFactoryObjectFactory
* [HHH-6258] - Performance improvement work
* [HHH-6291] - Basic MetadataImpl redesign
* [HHH-6292] - avoid Boolean instance creation
* [HHH-6294] - use enum instead of constant

** New Feature
* [HHH-5580] - tracking entity names in a revision
* [HHH-6078] - Conditional auditing support
* [HHH-6293] - avoid create unnesserary Integer object

** Patch
* [HHH-5434] - org.hibernate.test.filter.DynamicFilterTest
testSqlSyntaxOfFiltersWithUnions fails with Ingres dialect
* [HHH-6228] - Build is platform dependent
** Task
* [HHH-6110] - Initial work to integrate new metamodel into persisters
* [HHH-6156] - Deprecate Configuration
* [HHH-6186] - Upgrade Hibernate 4 to Infinispan 5.0.0.CRx
* [HHH-6213] - Move domain and relational state interfaces into
* [HHH-6214] - Make RegionFactory a service
* [HHH-6229] - Clean up MappingDefaults
* [HHH-6230] - Rework attribute binding using state objects
* [HHH-6232] - Add discriminator value to DiscriminatorBindingState
* [HHH-6239] - Add service for access to configuration options/settings map
* [HHH-6240] - Add access to configuration options targetting metamodel
* [HHH-6251] - Create CollectionElement subclasses for element, composite-
element, one-to-many, many-to-many, many-to-any
* [HHH-6267] - Plumb MetadataImplementor into service initiators registered in
* [HHH-6282] - clean out-of-date config files in etc dir
* [HHH-6290] - Add EntityBinder.isRoot() to indicate if the EntityBinding is
for a "root" entity

Changes in version 4.0.0.Alpha3 (2011.05.04)


** Sub-task
* [HHH-6114] - Preprocess annotation configuration
* [HHH-6148] - Resolve generic type parameters
* [HHH-6161] - Integrate annotation based configuration processing into

** Bug
* [HHH-468] - MysqlDialect incorrectly maps java.lang.Boolean to SQL BIT
* [HHH-2049] - LEFT OUTER JOIN subcriteria filters children
* [HHH-4073] - discriminator formula creates problem in hibernate envers
* [HHH-4787] - AuditProperty.isNull() doesn't generate "tab.col is null" SQL
clause as expected
* [HHH-5276] - Table REVINFO created in the default schema even if the property
is otherwise set
* [HHH-5887] - Document typo hibernate.hbm2ddl.import_files
* [HHH-6069] - Escape entity fields name when required
* [HHH-6093] - Account for tenant identifier on QueryKey
* [HHH-6094] - Test failures in hibernate-infinispan dealing with query caching
* [HHH-6095] - Improve the way AbstractEntityManagerImpl.flush checks for an
active transaction, should apply to other AbstractEntityManagerImpl methods that
also check for an active tx
* [HHH-6163] - Need to fix location of envers integrator service file
* [HHH-6164] - Prefer regsitering JTA syncs via TransactionManager

** Deprecation
* [HHH-6158] - Deprecate SessionFactoryStub
* [HHH-6181] - Deprecate EJB3Configuration
* [HHH-6183] - Deprecate Configuration

** Improvement
* [HHH-2578] - redesign SessionFactory building
* [HHH-2579] - scope bytecode provider selection to session factory
* [HHH-5914] - Remove deprecated Hibernate type constants from
org.hibernate.Hibernate and manuals
* [HHH-6064] - Skip regsitration of envers listeners if AuditConfiguration says
no auditing annotations were found
* [HHH-6080] - Migrate from DTD to XSD for hbm.xml files
* [HHH-6096] - H2Dialect should use CACHED option for temporary table creation
* [HHH-6097] - Review log levels, especially related to i18n messages
* [HHH-6102] - ISE should be thrown when EM is colsed and joinTransaction is
called, even with RESOURCE-LOCAL TX
* [HHH-6106] - Fix up IntelliJ project generation
* [HHH-6117] - Figure out best way to handle SessionFactoryObjectFactory
dealing with JNDI
* [HHH-6118] - Make Metadata more user-friendly API
* [HHH-6128] - Create simplier LobCreator access from Session
* [HHH-6129] - org.hibernate.LobHelper#createNClob can now return NClob
* [HHH-6144] - Introduce ServiceRegistryBuilder
* [HHH-6154] - Add a README for describing build

** New Feature
* [HHH-6140] - Allow disabling of JAXP validation

** Patch
* [HHH-6169] - Prevent unnecessary calls to JDBC metadata methods.

** Task
* [HHH-5652] - Create "Take It Further" tasks for the JPA chapter of the GSG
* [HHH-6014] - Migrate hibernate-envers tests to JUnit4
* [HHH-6023] - Create "Take It Further" tasks for the Envers chapter of the GSG
* [HHH-6092] - Create domain and relational state APIs for
SimpleAttributeBinding and implement for XML mappings
* [HHH-6098] - Slight naming changes in regards to new logging classes
* [HHH-6101] - Clean up checks for java 1.3 versus 1.4
* [HHH-6107] - Metamodel dependence on ServiceRegistry
* [HHH-6111] - Switch to use JAX for xml parsing
* [HHH-6115] - jaxb generation should follow directory pattern
* [HHH-6131] - JAXB generated classes should have a prefix to distinguish then
easier from model classes
* [HHH-6134] - Migrate processing hbm.xml files to use Jaxb-generated classes
* [HHH-6138] - Implement addition of annotated classes and packages in
* [HHH-6141] - Develop scheme for ordered processing of MetadataSources sources
* [HHH-6142] - Integrate JAXB-based binding code and MetadataSources
* [HHH-6146] - remove SF.setTenantIdentifier, add to withOptions selections
* [HHH-6147] - Add support for multi-tenancy to StatelessSession building
* [HHH-6155] - Migrate o.h.impl package to o.h.internal
* [HHH-6168] - Create an attribute binding for many-to-one and implement
DomainState and RelationalState for HBM XML
* [HHH-6191] - repackage org.hibernate.cache per api/spi/internal split
* [HHH-6192] - Split org.hibernate.collection package up into api/sip/internal
* [HHH-6193] - Split org.hibernate.context package into api/spi/internal
* [HHH-6194] - Better jaxb task to leverage Gradle up-to-date checking
* [HHH-6196] - Split org.hibernate.engine package into api/spi/internal
* [HHH-6198] - Split org.hibernate.event package into api/spi/internal
* [HHH-6199] - Split org.hibernate.exception package into api/spi/internal
* [HHH-6200] - Split org.hibernate.hql package into api/spi/internal

Changes in version 4.0.0.Alpha2 (2011.04.06)


** Bug
* [HHH-4999] - createSQLQuery(query).list() result screw up when when columns
in different tables have same name
* [HHH-5803] - Better handling of implicit literal numeric expression typing
* [HHH-5940] - @MapKeyJoinColumns always throws an exception
* [HHH-5989] - Add tests of JPA-style transaction joining
* [HHH-5996] - Wire in JdbcServices into SchemaUpdateTask, SchemaExportTask,
SchemaValidatorTask, HibernateService.dropSchema(), HibernateService.createSchema()
* [HHH-6001] - Add a top-level directory inside the release bundle archives
* [HHH-6002] - Use today's year when building copyright footer for aggregated
* [HHH-6028] - Remove o.h.classic stuff
* [HHH-6057] - hibernate.cfg.xml references wrong hbm.xml files and doesn't
include reference to DTD file
* [HHH-6058] - Error in mapping file in Event.hbm.xml file for documentation in
* [HHH-6061] - ValidatoryFactory type checking
* [HHH-6076] - query with setFirstResult throws Exception on derby

** Improvement
* [HHH-2680] - Blobs not updated on Session.merge() for detached instances
* [HHH-2860] - Consolidate Session creation options/parameters
* [HHH-4362] - @RowId
* [HHH-5244] - Flesh out H2Dialect temp table support
* [HHH-5284] - Allow Type to dictate the default length/scale/precision
* [HHH-5562] - Introduce a locator pattern for integrators to be able to
leverage to more easily integrate with Hibernate
* [HHH-5947] - Improve error message, documentation and tests on
* [HHH-5993] - Expose SessionFactoryObserver to Hibernate EntityManager
* [HHH-6053] - Create an interface for centralizing the contract that is shared
between Session and StatelessSession

** New Feature
* [HHH-5697] - Support for multi-tenancy

** Patch
* [HHH-3646] - implement Criteria API querying of collection-of-component
(David Mansfield)
* [HHH-5348] - support for TypedQuery jpaql/hql "scalar" queries

** Task
* [HHH-5650] - Pull documentation building into 'release' module
* [HHH-5682] - Modify service infrastructure to leverage CDI annotations
* [HHH-5683] - Create Weld-specific ServiceRegistry
* [HHH-5913] - Implement set of event listeners as a service
* [HHH-5942] - Migrate to JUnit 4
* [HHH-5966] - Finish up loose ends for overriding a SqlTypeDescriptor
* [HHH-6010] - Remove duplication in code involving Work and ReturningWork
* [HHH-6013] - Consolidate on single JTA impl for testing
* [HHH-6015] - Investigate hibernate-infinispan test failures since migration
to JUnit4
* [HHH-6016] - Migrate version injection plugin to Gradle
* [HHH-6025] - Remove cglib dependencies
* [HHH-6026] - Migrate bytecode provider integrations to api/spi/internal split
* [HHH-6027] - Migrate o.h.action pakcage to api/spi/internal split
* [HHH-6033] - Migrate stats to api/spi/internal split
* [HHH-6036] - integration documentation generation
* [HHH-6038] - Migrate to use newly separated gradle-upload-auth-plugin
* [HHH-6047] - allow nesting of ServiceRegistry
* [HHH-6050] - Remove direct compile-time dependencies to slf4j from build
* [HHH-6051] - Create a SessionFactory scoped ServiceRegistry
* [HHH-6052] - Make statistics a service
* [HHH-6073] - Dialects cannot use the Thread Context ClassLoader with AS7,
please change to use the
* [HHH-6081] - Finish up Integrator
* [HHH-6088] - Move to slf4j-log4j12 for test logging

Changes in version 4.0.0.Alpha1 (2011.03.09)


** Sub-task
* [HHH-5662] - Import the initial work
* [HHH-5765] - Wire in JdbcServices
* [HHH-5949] - Migrate, complete and integrate TransactionFactory as a service

** Bug
* [HHH-3873] - DB2Dialect.getLimitString raise DB2 error message when called
with limit=0
* [HHH-4646] - Inconsistent behavior with Audited and MappedSuperclass
* [HHH-5126] - JPA Query with InExpression and
Collection_valued_input_parameter Complains About Bad Syntax
* [HHH-5136] - map-key-column is broken
* [HHH-5163] - ClassCastException when Hibernate tries to cache results using
* [HHH-5168] - DB2Dialect generates CROSS JOINs which aren't supported
* [HHH-5177] - auditing a child of a mapped superclass forces auditing on
* [HHH-5280] - Exception on unidirectional collection whose elements are owned
by several collection: "java.lang.IllegalArgumentException: object is not an
instance of declaring class"
* [HHH-5306] - Dialect resolution: Cannot set a custom dialect resolver
programatically or using hibernate.cfg.xml
* [HHH-5359] - Derived entity usecase fails when the association is
* [HHH-5590] - Don't log and rethrow exceptions in
* [HHH-5599] - NPE occurs when using Infinispan as L2 Cache
* [HHH-5669] - Fix gradle build issues with Infinispan 2LC
* [HHH-5686] - Collections should be loaded by default using "lazy collection
fetch" instead of "extra lazy collection" fetch
* [HHH-5693] - Re-enable entitymanager tests
* [HHH-5704] - New getSubString() handling in ClobProxy is incompatible with
MySQL JDBC PS.setClob(int, Clob) for empty CLOB
* [HHH-5706] - Incorrect accounting for 1-based LOB offsets
* [HHH-5709] - JPA Metamodel: EntityType.getName != @Entity.name
* [HHH-5710] - incorrect test logic of
* [HHH-5717] - LockOptions not being set correctly
* [HHH-5725] - SqlServerDialect should support SQL 2000 which does not support
the row_number function
* [HHH-5727] - Collection member declaration not handling optional AS in HQL.
* [HHH-5729] - Only one check constraint is generated when @Min and @Max
annotation is used on a single field
* [HHH-5736] - Problem with "not" function of CriteriaBuilder
* [HHH-5750] - Envers unset session on proxy
* [HHH-5756] - Envers creates new revisions when only collection changed for
* [HHH-5766] - New services are not wired into standalone SchemaExport,
SchemaUpdate, and SchemaValidator
* [HHH-5782] - Remove HibernateException and SQLException from
ConnectionManager method signatures
* [HHH-5783] - Transaction timeout should be applied by ConnectionManager, not
* [HHH-5791] - NullPointerException merging a transient entity with non-
nullable properties that are null if insert is delayed and check_nullability is
* [HHH-5793] - Query and timestamp caches to use cluster cache loader to avoid
behaving like sync repl caches
* [HHH-5800] - Implement missing element-collection related xml in
* [HHH-5807] - Weird characters in license headers lead to compilation errors
with UTF-8 character set
* [HHH-5817] - Passing char[] or byte[] to equal function of CriteriaBuilder
throws java.lang.ClassCastException (Vyacheslav Dimitrov)
* [HHH-5821] - JPA EntityType's (or ManagedType's) getSingularAttributes()
returns the version attribute with isVersion set to false.
* [HHH-5826] - org.hibernate.util.SerializationHelper#resolveClass never tries
* [HHH-5838] - Proxool connection pool should only close pools it opened
* [HHH-5839] - non-utf8 characters in AuditReaderImpl
* [HHH-5842] - Types.Binary column type should be registered as "binary($l) for
HSQLDialect (Fred Toussi)
* [HHH-5853] - Problem loading cachable collections defined with a property-ref
key with a versioned owner
* [HHH-5883] - @Lob annotated field throws MappingException
* [HHH-5888] - CLONE: Problem using BLOB and CLOB fields in Oracle
* [HHH-5889] - CLONE: Using materialized blobs with PostgreSQL causes error
* [HHH-5890] - Parent POM: License comment in points to 404
* [HHH-5893] - Tests fail for dialects that return null for empty LOBs
* [HHH-5900] - Revert change to add upload repositiory authentication handling
in build script
* [HHH-5907] - derby does not support materialize a LOB locator outside the
transaction in which it was created
* [HHH-5922] - Type overrides do not affect functions registered with the
* [HHH-5961] - Contextual LOB creator is used when the JDBC driver does not
support JDBC4 Connection.createBlob()
* [HHH-5982] - Flush checker logic bugs
* [HHH-5983] - Entiy actions contain non-transient references to session and
entity causing inconsistencies after serialization
* [HHH-5987] - Remove org.hibernate.ejb.CurrentEntityManagerImpl
* [HHH-5994] - Inserts may be delayed because
TransactionCoordinatorImpl.isTransactionInProgress() returns false for non-JTA
* [HHH-5995] - Compile error because Statement is undefined in
** Remove Feature
* [HHH-5981] - Clarify Session.disconnect() and Session.reconnect() behavior

** Improvement
* [HHH-3965] - Expose the ability to use varchar(max) or nvarchar(max)
* [HHH-4539] - Make UPPER and LOWER work on MS SQL Server text and ntext
* [HHH-5325] - Minor issues in test suite and suggestions for improvements
(fixes HSQDB 2.0 failures)
* [HHH-5588] - Improve support for entityNames - determine the entityName for a
retrieved object vía envers
* [HHH-5655] - In Gradle build, better account for non-standard local maven
repo cache locations
* [HHH-5658] - Better .gitignore
* [HHH-5701] - Add .metadata/* to .gitignore
* [HHH-5724] - Improve the error message on Bean Validation exception by
showing the constraint violation data
* [HHH-5726] - SqlServer2005Dialect should support variable limit
* [HHH-5761] - Update source repository links in Envers documentation
* [HHH-5794] - Add support for additional orm.xml elements for Map handling and
element collections
* [HHH-5823] - Poor multithread performance in UpdateTimestampsCache class
* [HHH-5824] - Poor multithread performance in SessionFactoryImpl.getQueryCache
* [HHH-5843] - Avoid useless branches during HQL parsing when trace logging is
* [HHH-5859] - Upgrade to Infinispan 4.2.1.CR1
* [HHH-5904] - Deploy just testing artifacts from hibernate-core, not all tests
* [HHH-5906] - Expose AbstractEntityPersister.getPropertyUniqueness() as public
for OGM to use
* [HHH-5943] - Make ServiceRegistry mutable
* [HHH-5977] - Add tests for @JoinColumn using secondary table
* [HHH-5986] - Refactor org.hibernate.util package for spi/internal split
* [HHH-5993] - Expose SessionFactoryObserver to Hibernate EntityManager

** New Feature
* [HHH-2655] - SQLServer2005Dialect (ROW_NUMBER for Paging)
* [HHH-5371] - Add support for REVEND_TSTMP which will enable SQL table
partitioning by time
* [HHH-5611] - Add management capability via JMX
* [HHH-5687] - Extract SQL keywords from DatabaseMetaData
* [HHH-5879] - Expose state from AbstractEntityPersister / Type /
SessionFactoryImplementor for OGM usage
* [HHH-5898] - Improve authentication for Gradle uploads
* [HHH-5916] - Add support for a programmatic way to define a default
EntityPersister and CollectionPersister class implementation
* [HHH-5957] - Provide a way for dialects to override a SqlTypeDescriptor

** Task
* [HHH-5615] - Switch to JBoss logging
* [HHH-5616] - Switch to Gradle for builds
* [HHH-5617] - Migrate to Git for source control
* [HHH-5618] - Support legacy ConnectionProvider names
* [HHH-5619] - Support legacy TransactionFactory names
* [HHH-5623] - Baseline on JDK 1.6
* [HHH-5632] - Import initial services work
* [HHH-5634] - Clean up stuff no longer needed
* [HHH-5638] - Import JDBC batching service
* [HHH-5639] - Import ConnectionProvider service
* [HHH-5640] - Import DialectFactory and DialectResolver services
* [HHH-5641] - Import JtaPlatform services
* [HHH-5647] - Develop release process using Gradle
* [HHH-5651] - Wire in new services in org.hibernate.service
* [HHH-5656] - Import ServicesRegistry bootstrap code and service tests
* [HHH-5714] - Upgrade metamodel generator dependency in entitymanager to
* [HHH-5768] - upgrade H2 version to 1.2.145 (was 1.2.140)
* [HHH-5778] - Wire in new batch code
* [HHH-5781] - Refactor code in org.hibernate.jdbc to spi/internal and remove
obsolete code
* [HHH-5788] - Move settings required by JdbcServices into JdbcSupport
* [HHH-5880] - Gradle has to deploy testing artifacts
* [HHH-5897] - Upgrade to Gradle 0.9.2
* [HHH-5903] - Rename ServicesRegistry to ServiceRegistry
* [HHH-5928] - Clean up compilation warnings
* [HHH-5941] - Remove deprecated set(), nullSafeSet(), get(), nullSafeGet()
methods and add SessionImplementer argument to UserType.nullSafeGet()/nullSafeSet()
* [HHH-5985] - Remove TransactionHelper in preference of IsolationDelegate
* [HHH-5990] - Remove non-maintained second level cache integrations
* [HHH-5991] - Revist passing of ServiceRegistry to Configuration to build a
* [HHH-6000] - split annotation processor execution out into separate tasks

Changes in version 3.6.0.CR2 (2010.09.29)


** Bug
* [HHH-892] - HQL parser does not resolve alias in ORDER BY clause
* [HHH-2917] - Using subselects as operands for arithmetic operations causes
* [HHH-4510] - Add column-level read/write support (HHH-4440) to annotations
* [HHH-5490] - dirty data be inserted into 2L cache
* [HHH-5552] - Infinispan listener implementations need to load entities and
keys using application classloader.
* [HHH-5563] - JndiInfinispanRegionFactory creates region with a stopped cache,
if region previously existed
* [HHH-5568] - correct wrong format in document
* [HHH-5573] - Change TestCase to rebuildSessionFactory() whenever sessions var
is accessed
* [HHH-5590] - Don't log and rethrow exceptions in
* [HHH-5591] - ConcurrentStatisticsImpl#queryExecuted() does not update
* [HHH-5592] - org.hibernate.test.hql.ASTParserLoadingOrderByTest hangs on
* [HHH-5593] - org.hibernate.test.legacy.FooBarTest.testCollectionWhere fails
on hsqldb
* [HHH-5594] - org.hibernate.test.jpa.lock.JPALockTest fails on hsqldb
* [HHH-5595] - postgresql jdbc driver does not implement the setQueryTimeout
* [HHH-5596] -
oesNotGenerateExtraJoin() fails on postgresql
* [HHH-5597] - org.hibernate.test.criteria.LikeTest.testLike fails on
postgresql because of the default escape charactor
** Improvement
* [HHH-5560] - Envers ValidAuditTimeStrategy needs a better name
* [HHH-5589] - mysql does not support column check

** New Feature
* [HHH-5190] - Provide annotation support for <discriminator>'s force and
* [HHH-5205] - Add support for source="db" for timestamp versions

** Patch
* [HHH-5581] - Improve InformixDialect sequence support

Changes in version 3.6.0.CR1 (2010.09.15)


** Sub-task
* [HHH-3766] - Modify the queries executed to use the "end-revision" column,
when available
* [HHH-5446] - Write an envers tutorial guide
* [HHH-5499] - Extend AuditReader interface with findRevisions() method

** Bug
* [HHH-5310] - orm_2_0.xsd compliant mapping files break in JEE use cases
* [HHH-5356] - Sybase 15 does not support cross join
* [HHH-5484] - org.hibernate.type.UUIDCharType incorrectly mapped to char and
causes test fail due to the padding space
* [HHH-5542] - Infinispan region factory uses same cache instance for all
timestamp regions
* [HHH-5545] - Resolve query cache results not up to date testsuite failures

** Improvement
* [HHH-3709] - Add StartRevision/EndRevison fileds to audit tables
* [HHH-5372] - Improve envers query performance by using new REVEND column
* [HHH-5441] - Create "Getting Started Guide"
* [HHH-5543] - JEE bootstrapping should only parse and validate mapping files
* [HHH-5557] - Sybase supports alias length upto 30 characters
* [HHH-5564] - Upgrade to Infinispan 4.2.x

** Task
* [HHH-5524] - Move tagRelease.sh into svn

Changes in version 3.6.0.Beta4 (2010.09.01)


** Sub-task
* [HHH-5442] - Write native tutorial chapter
* [HHH-5444] - Write annotations tutorial chapter
* [HHH-5445] - Write a jpa/entitymanager tutorial guide
* [HHH-5462] - Write preface
* [HHH-5463] - Write a community chapter

** Bug
* [HHH-817] - Projection aliases should not be applied to where-clause (Milosz
* [HHH-1189] - interfaces for Proxies are not regonized as interfaces
* [HHH-3334] - Cascade-save breaks if parent ID is assigned (delays insert) and
child has identity ID (early insert) (Wallace Wadge)
* [HHH-5142] - Exception when initializing lazy @ManyToMany indexed collection
containing not audited entities
* [HHH-5225] - Cannot parse order-by fragment if it contains a registered
function without parentheses
* [HHH-5440] - Joined collection expressions not properly "rendered" in JPA
Criteria queries
* [HHH-5511] - Infinispan Region.destroy() impl should call cache.stop()
* [HHH-5512] - JndiInfinispanRegionFactory shouldn't try to stop CacheManager
* [HHH-5517] - Switch uuid generation in SessionFactory to
org.hibernate.id.UUIDGenerator instead
* [HHH-5519] - VersionedItem should not extend Item, otherwise query cache
results are confusing
* [HHH-5520] - Per org.hibernate.cache.spi.RegionFactory javadocs, implementors
should be allowed to use no-arg constructor

** Deprecation
* [HHH-5489] - Deprecate jbosscache as a second level cache provider, in favor
of infinispan

** Improvement
* [HHH-5427] - derby native sequence support broken
* [HHH-5507] - Add @MapKeyType annotation
* [HHH-5509] - Leverage StandardBasicTypes internaly
* [HHH-5515] - Upgrade to Infinispan 4.1.0.CR3

** Patch
* [HHH-5197] - Envers documentation doesn't include the correct configuration
when using Hibernate directly
* [HHH-5453] - ByteCodeHelper.readByteCode won't load classes bigger than a
constant size

** Task
* [HHH-5502] - Upgrade to maven-jdocbook-plugin 2.3.2
* [HHH-5505] - enable Sybase 15.5 in the test db profile
* [HHH-5506] - rollback maven-jdocbook-plugin to 2.3.0
* [HHH-5510] - Upgrade to maven-jdocbook-plugin 2.3.3

Changes in version 3.6.0.Beta3 (2010.08.18)


** Sub-task
* [HHH-5464] - Write a chapter about obtaining Hibernate

** Bug
* [HHH-1643] - Sub-query as function parameter - either sub-query is missed
from SQL or NullPointerException raised
* [HHH-5180] - StandardQueryCache.get() does not handle EntityNotFoundException
for natural key lookups
* [HHH-5426] - HQL update/delete does not invalidate the query cache
* [HHH-5449] - Versioned HQL update might issue incorrect SQL
* [HHH-5469] - HHH-3659 is only half done, due to HHH-4989 (i.e. no HQL
performance log when running Java 5)
* [HHH-5473] - Default for CHECK_NULLABILITY does not allow merge retries
** Improvement
* [HHH-5438] - Skip deployment of "irrelevant" modules
* [HHH-5439] - Deployment of site.xml
* [HHH-5474] - Clean up usages of now deprecated ExtendedMappings
* [HHH-5477] - Introduce StandardBasicTypes for standard basic type constants

** Patch
* [HHH-5300] - Configurable QueryPlanCache reference counts (Manuel Dominguez

** Task
* [HHH-5451] - deprecate cglib as bytecode provider
* [HHH-5479] - Upgrade jDocBook plugin to 2.3.0
* [HHH-5485] - Move hiberante dtd files from http://hibernate.sourceforge.net
to http://www.hibernate.org/dtd

Changes in version 3.6.0.Beta2 (2010.08.04)


** Bug
* [HHH-2350] - 2nd level cache broken for non-inverse bidirectional one-to-many
* [HHH-4011] - ChainedPropertyAccessor is not serializable, which breaks
caching to disk and replicated caches.
* [HHH-5097] - Bug in ParameterizedFunctionExpression with two or more
parameters: IllegalArgumentException
* [HHH-5296] - AbstractFromImpl::getJoin() shall return empty set, not null
* [HHH-5355] - org.hibernate.test.id.uuid.sqlrep.sqlchar.UUIDCharTest errors
with IngresDialect
* [HHH-5400] - Binding BLOB values via byte[] (MaterializedBlobType) fails in
3.6 on MySQL
* [HHH-5408] - Revise JPA compliance wording used in documentation according to
Oracle policies
* [HHH-5415] - org.hibernate.type.descriptor.java.DataHelper dumping "NClob not
found" exception to stderr
* [HHH-5425] - PropertyAccessException when caching results from a Query with a
ResultTransformer that as 1 value per row
* [HHH-5431] - Infinispan's CacheAdapterImpl.putAllowingTimeout not using
silent flag

** Improvement
* [HHH-2510] - override equals() and fix hashCode() in
* [HHH-5212] - Alter SQLFunction contract to be more flexible
* [HHH-5283] - Add BasicType handling of java.net.URL
* [HHH-5295] - Rendered JPAQL query shall be the same all the times, aliases
shall not have random indexes
* [HHH-5331] - Remove reflection calls on SessionFactory for JDK 1.5 detection
in relation to Statistics
* [HHH-5375] - Merge AnnotationConfiguration into Configuration
* [HHH-5418] - Have Configuration delay parsing/binding of mappings until
buildMappings() is called
* [HHH-5420] - introducing new dialect for ms sql server 2008 with jdbc 3.0 and
* [HHH-5424] - ResultTransformer should only be set in the QueryKey if
putting/getting data that is actually transformed
** New Feature
* [HHH-3908] - Expose way to fully control fetching and result mapping on
* [HHH-5423] - Provide a JBoss TS TransactionManagerLookup implementation for
standalone (non JNDI) usage

** Patch
* [HHH-5246] - Addition of withClause for DetachedCriteria (Shawn Clowater)
* [HHH-5349] - CriteriaHQLAlignmentTest fails with an error running with the
Ingres dialect
* [HHH-5401] - Update to HHH-5381 HSQLDB new dialect (Fred Toussi)
* [HHH-5435] - Add identity column support to the Ingres10Dialect

** Task
* [HHH-5259] - Invalid reflection optimization configuration property name in
Hibernate documentation.
* [HHH-5416] - upgrade to h2 1.2.140

Changes in version 3.6.0.Beta1 (2010.07.21)


** Sub-task
* [HHH-3764] - Add the "end-revision" column when generating metadata
* [HHH-3765] - Fill the "end revision" column with appropriate data in
add/mod/del/collection work units
* [HHH-5115] - Migrate Annotations documentation system to jdocbook's maven
plugin (like core)
* [HHH-5149] - Update "Basic O/R Mapping" (chapter 5) and "Collection Mapping"
(chapter 6) of Core manual to use annotations
* [HHH-5150] - Update settings section to reflect merge from Annotations and
Core documentation
* [HHH-5153] - Update Filters chapter to also show annotation configuration
* [HHH-5155] - Move Additional modules chapter from Annotations to Core
probably in Appendix
* [HHH-5366] - Move annotations module tests into testsuite module
* [HHH-5367] - Move annotations module sources into core module
* [HHH-5379] - Update "Transitive persistence" (10.11) section to incorporate
* [HHH-5380] - Update "Cache mappings" (20.2.1) section to incorporate
* [HHH-5388] - Add @NamedQuery, @NamedNativeQuery, @SqlResultSetMapping,
@Tuplizers and @FetchProfile to Core documentation
* [HHH-5389] - Update custom CRUD chapter

** Bug
* [HHH-2269] - Many-to-one cascade fails with TransientObjectException if the
inverse collection is marked CascadeType.DELETE_ORPHAN
* [HHH-2277] - bidirectional <key-many-to-one> both lazy=false fetch=join lead
to infinite loop
* [HHH-3001] - The NoopOptimizer is not thread safe
* [HHH-3005] - DTD: map-key should allow nested type rather than attribute.
* [HHH-3096] - COUNT DISTINCT operator with idenfication variable w/ composite
primary key produces bad sql
* [HHH-3377] - Update H2Dialect to use DECIMAL SQL type instead of NUMERIC
* [HHH-3694] - ResultTransformer not used when scroll() is used on a named
* [HHH-4036] - EntityMetamodel entityNameByInheritenceClassNameMap field used
* [HHH-4147] - Eager Bidirectional association with @ManyToOne in PK lead to
infinite loop
* [HHH-4156] - c3p0 is not used when only specific hibernate.c3p0.* properties
* [HHH-4240] - SecondaryTables not recognized when using JOINED inheritance
* [HHH-4250] - @ManyToOne - @OneToMany doesn't work with @Inheritance(strategy=
* [HHH-4568] - Sybase - Test "BatchTest" fails due to "unexpected row count
from update"
* [HHH-4647] - Problems with @JoinColumn referencedColumnName and quoted column
and table names
* [HHH-4716] - NotAuditedException using the entity name concept of hibernate.
* [HHH-4773] - @CollectionId does not force the id column to not-null
* [HHH-4957] - Criteria Projections.countDistinct() function broken
* [HHH-4966] - Entity Manager bug with ParameterExpressionImpl
* [HHH-4968] - Cannot deactivate default BeanValidationListener independently
of DDL constraints generation (Vladimir Klyushnikov)
* [HHH-4991] - ManyToMany table not joined due to max_fetch_depth parameter,
results to SQL exceptions
* [HHH-5006] - hibernate.globally_quoted_identifiers=true and Annotations tests
* [HHH-5032] - Setting LockModeType.OPTIMISTIC_FORCE_INCREMENT defaults to only
* [HHH-5042] - TableGenerator does not increment
hibernate_sequences.next_hi_value anymore after having exhausted the current lo-
* [HHH-5063] - Projections that have aliases same as the property name result
in invalid sql
* [HHH-5069] - Fix annotation documentation wrt setup
* [HHH-5094] - PersistenceUtilHelper cannot access non-public fields/methods
(it should be able to)
* [HHH-5098] - AssertionFailure thrown when collection contains a parameterized
* [HHH-5109] - @OneToOne - too many joins
* [HHH-5125] - The annotations @Entity and @MappedSuperclass used in one class
produce a nullpointerexception
* [HHH-5131] - SchemaExport drop fails if constraint names change
* [HHH-5135] - "Ambiguous column" exception thrown with columns having the same
name as a function registered with the dialect (e.g. to_date, floor)
* [HHH-5173] - hql - average returns double but looses the decimal part
* [HHH-5178] - Unit tests in org.hibernate.test.immutable fail on mssql and
sybase due to keyword used for table and column name
* [HHH-5191] - CollectionMetadataGenerator fails to obtain mappedBy attribute
when is defined on superclasses
* [HHH-5195] - FilterImpl.validate() throws NullPointerExeption on
* [HHH-5204] - Introduce @RequiresDialectFeature annotation
* [HHH-5207] - Unexpected exception occurs during refresh of a transient
immutable business object.
* [HHH-5208] - Oracle 11g R2 RAC - Test SequenceIdentityTest fails because
first value of sequence is "2"
* [HHH-5210] - Query Cache effective only after closing the session that
created the cache
* [HHH-5211] - no need to create a schema first when run this test
* [HHH-5220] - Unit tests related to HHH-5063 and HHH-5135 fail on some
* [HHH-5230] - Regresion! @SequenceGenerator with allocationSize=1 fails Other
allocationSizes appear to be decremented by 1
* [HHH-5231] - Unit test failures lock up when they run on DB2 and PostgreSQL
* [HHH-5233] - @FetchProfile fails to take more than one
* [HHH-5253] - TableHiLoGenerator does not increment hi-value any more when lo-
range es exhausted
* [HHH-5258] - Persistence.isLoaded(Object, String) fails if the annotated
property does not have a public getter or field
* [HHH-5272] - Typo in tutorial at web site
* [HHH-5286] - Jar Scanner instances cannot be passed to EntityManagerFactory
creation method
* [HHH-5288] - Envers auditReader.find() returns wrong data for embedded
components using fields with default values
* [HHH-5298] - @AuditMappedBy doesn't work on an inherited relation
* [HHH-5315] - AuditJoinTable rows are no longer flushed to the database
* [HHH-5318] - Wrong logic for RequiresDialectFeature in
* [HHH-5319] - Clean up data created in
* [HHH-5322] - Regression in PersistenceUtilHelper
* [HHH-5323] - correct jdbc driver version for testing
* [HHH-5324] - Tests fail on mysql
* [HHH-5329] - NoClassDefFoundError when using Hibernate 3.5 with J2SE 1.4
because of a wrong catch block
* [HHH-5332] - JndiInfinispanRegionFactory cannot be instantiated
* [HHH-5334] - PersistenceUtilHelpe.findMember(Class, String) private method
doesn't work with members of a superclass
* [HHH-5340] - Typo in tutorial at web site
* [HHH-5370] - Building IN condition with CriteriaBuilder providing collection
of values not working.
* [HHH-5384] - HEM should not register its own Synchronization
* [HHH-5395] - Fix the failing Lobs test

** Improvement
* [HHH-3050] - Convert usage of Hibernate's FastHashMap to ConcurrentHashMap
(Java 1.5)
* [HHH-4945] - Replace all usages of EJB3TestCase with
* [HHH-5138] - Redesign types + introduce TypeRegistry & TypeResolver
* [HHH-5144] - Dont restrict on jdk5 in hibernate core development
* [HHH-5162] - Deprecate @Entity.mutable in favor of @Immutable
* [HHH-5171] - Allow usage of standalone @JoinFormula annotation
* [HHH-5182] - Inject SessionFactory into "non-basic" Types
* [HHH-5217] - Minimize double sequence value reads in PooledOptimizer
* [HHH-5218] - Provide a new "pooled value" based optimizer which interprets
the database value as the low boundary instead of upper boundary
* [HHH-5245] - Introduce LobHelper
* [HHH-5248] - Introduce CompositeType interface (to replace
AbstractComponentType interface)
* [HHH-5251] - NativeSQLQueryReturn impls pre-cache a final hashcode based on
non-final fields
* [HHH-5252] - AttributeFactory needs more info in AssertionFailure
* [HHH-5262] - Allow UserType and CompositeUserType to be registered with
* [HHH-5268] - Support for java.util.UUID properties/generators
* [HHH-5285] - Add support for CompositeUserType to implement
* [HHH-5362] - Upgrade trunk to latest Infinispan 4.1
* [HHH-5373] - Better account for SQLWarnings in temp table creation
** New Feature
* [HHH-3579] - Support for PostgreSQL UUID data type
* [HHH-3659] - statistics: Execution time of a query
* [HHH-5260] - Allow query region name specific eviction settings
* [HHH-5337] - Allow customization of "import.sql" file name and multi files

** Patch
* [HHH-1574] - AbstractEntityPersister.getNaturalIdentifierSnapshot doesn't
work with many-to-one ids (Alex Burgel)
* [HHH-2268] - Skip bridge methods during getter determination (JDK Bug
* [HHH-3220] - Patch to prevent "org.hibernate.AssertionFailure: possible non-
threadsafe access to the session" error caused by stateless sessions
* [HHH-5064] - OrderBy string getting dumped to console on session factory
creation (Shawn Clowater)
* [HHH-5078] - JPA criteria query numeric expressions produce wrong result (due
to wrong bracketing)
* [HHH-5147] - EnumType speed up in initEnumValues()
* [HHH-5213] - Add native SQL Boolean type to Ingres10Dialect
* [HHH-5336] - a few typo fixes
* [HHH-5381] - HSQLDB new dialect (Fred Toussi)

** Task
* [HHH-4868] - Upgrade to Javassist 3.12.0.GA
* [HHH-5139] - Increase minimum language level from 1.4 to 1.5
* [HHH-5145] - Update pom to use the new distributationManagement information
* [HHH-5148] - Merge Hibernate Annotations reference documentation into Core
* [HHH-5181] - Merge hibernate-annotations module code into hibernate-core
* [HHH-5186] - update db profiles id and jdbc properties' name to use
* [HHH-5200] - Prepare to use H2 as the default testing datbase
* [HHH-5254] - Present document on Types as a separate chapter
* [HHH-5281] - TypeSafeActivator should also generate constraints for @Length
* [HHH-5294] - declare source files encoding to utf-8 to avoid maven warning
* [HHH-5317] - Update Annotations and EM to use latest version of Hibernate
* [HHH-5357] - Rename hibernate-testing packages
* [HHH-5358] - Merge jmx module back into core
* [HHH-5365] - merge annotations module into core module
* [HHH-5374] - Upgrade to H2 version 1.2.139
* [HHH-5382] - Upgrade to slf4j 1.6
* [HHH-5397] - Odds and ends from documentation merge

Changes in version 3.5.1 (2010.04.14)


** Bug
* [HHH-2809] - dialect changes: limit string
* [HHH-3543] - method
ion "swallows" all exceptions occured inside it
* [HHH-4077] - Misuse of NamingStrategy and logical column names in HbmBinder
* [HHH-4721] - Error in AuditSync.beforeCompletion() does not result in
faillure of JDBCTransaction
* [HHH-4912] - testManyToManyWithFormula induces error with Ingres dialect
* [HHH-4938] - Multiple errors reported during legacy FooBarTest with Ingres
* [HHH-4961] - org.hibernate.test.hql.ASTParserLoadingTest error running
testPaginationWithPolymorphicQuery with Ingres
* [HHH-4965] - Implicit parameters abusively use TypeFactory.heuristicType
losing UserType and XToOneType info
* [HHH-4970] - org.hibernate.test.hql.ASTParserLoadingTest error running
testComponentParameterBinding with Ingres
* [HHH-4973] - org.hibernate.test.hql.ASTParserLoadingTest error running
testSelectClauseSubselect with Ingres
* [HHH-4976] - org.hibernate.test.hql.ASTParserLoadingTest error running
testImplicitPolymorphism with Ingres
* [HHH-4977] - org.hibernate.test.hql.ASTParserLoadingTest error running
testOneToManyFilter with Ingres
* [HHH-5045] - org.hibernate.test.hql.HQLTest failure running testConcatenation
with Ingres
* [HHH-5059] - callouts and programlistings with highlighting
* [HHH-5082] - QueryException thrown when grouping by component
* [HHH-5096] - FetchingScrollableResultsImpl.last() does not move to the last
result if cursor is after the last result
* [HHH-5102] - Instances of a subclass can't be loaded
* [HHH-5103] - Specifying the referencedColumnName in a @JoinColumn in backtics
like `uid` fails
* [HHH-5104] - EntityType.isEqual() test x equals x but should test x equals y
(Thierry-Dimitri Roy)
* [HHH-5106] - UnsupportedOperationException on SQL named native queries when
using the type-safe API

** Improvement
* [HHH-3962] - Ingres Hibernate dialect for EAP 4.3.0 GA CP04

** Patch
* [HHH-2470] - Use of session.createSQLQuery causes memory leak (Harry Mark and
Michael Stevens)
* [HHH-5003] - IngresDialect requires query substitutions for boolean values
* [HHH-5076] - Multiple failures reported during ReadOnlyProxyTest with Ingres

** Task
* [HHH-3997] - Build aggregated javadocs
* [HHH-5083] - Align javadoc styles better with docbook / website
* [HHH-5084] - Improve overview for aggregated javadocs
* [HHH-5116] - Remove copyrighted fonts from annotations

Changes in version 3.5.0-Final (2010.03.31)


** Sub-task
* [HHH-4599] - An embeddable class may contain ToOne or ToMany associations
* [HHH-4666] - Implement the clarified rules for resource discovery (esp for
<mapping-file> and co)
* [HHH-4691] - Validate all new concepts are supported in orm.xml

** Bug
* [HHH-2088] - TypeMismatchException on object equality expression from one-to-
one relationship
* [HHH-2997] - LikeExpression case sensitive not working properly
* [HHH-4784] - JDBCTransaction -> commit() ->
* [HHH-4870] - Cannot determine java-type from given member [null]
* [HHH-4919] - DefaultMergeEventListener does not call
Interceptor.instantiate() for a new persistent entity (Francesco Degrassi)
* [HHH-4931] - two tests in org.hibernate.test.legacy.MultiTableTest fail on
* [HHH-4946] - org.hibernate.test.legacy.FooBarTests testLimit failure with
* [HHH-4958] - Immutable entity snapshot is retained after insert
* [HHH-4972] - javax.persistence.query.timeout and
javax.persistence.lock.timeout can be passed when creating an EMF
* [HHH-4993] - Updates to read-only entity associations made while in
persistent state are ignored by flush
* [HHH-4998] - org.hibernate.test.hql.ASTParserLoadingTest failure running
testStr with Ingres
* [HHH-5000] - duplicate words in the documents
* [HHH-5010] -
needs call flush before do the query
* [HHH-5013] - the previous select query should not to hold locks in

** Improvement
* [HHH-1088] - Add support for projections using composite keys and components
* [HHH-4374] - @Subselect
* [HHH-4907] - Support for tuple syntax in HQL/Criteria on databases which do
not support tuple syntax
* [HHH-4940] - Document immutable/read-only entity and immutable collection
* [HHH-4989] - Make Statistics concurrent safe when Java 5 is present (Alex
* [HHH-5008] - Log query lock mode in EntityLoader constructor
* [HHH-5022] - Small documentation improvements in chapter 6

** New Feature
* [HHH-4812] - Add fetch profile support in annotations
* [HHH-4994] - find(Class<T> entityClass, Object primaryKey, Map<String,
Object> properties) and refresh(Object entity, Map<String, Object> properties) do
not honor properties
* [HHH-5026] - Ability to customize Scanner strategies

** Patch
* [HHH-4419] - <synchronize table="table_name"/> is missed using annotations
* [HHH-5049] - org.hibernate.test.legacy.ParentChildTest error running
testLoadAfterNonExists with Ingres

** Task
* [HHH-4933] - Write documentation on JPA 2
* [HHH-4990] - Move to commons-annotations 3.2.0.Final
* [HHH-4995] - Update dependency versions for JPA 2 and Metamodel Generator
* [HHH-4996] - Use monospace fonts in docbook programlistings
* [HHH-5035] - upgrade to jdocbook 2.2.3
* [HHH-5047] - Remove column coordinates from areaspecs
* [HHH-5058] - Include hibernate-jpa-2.0-api (JPA 2 API) in release bundle

Changes in version 3.5.0-CR-2 (2010.02.24)

** Sub-task
* [HHH-4605] - Add support for @OneToMany @JoinColumn in XML
* [HHH-4606] - Add support for @*ToOne @JoinTable in XML
* [HHH-4662] - Implement javax.persistence.query.timeout
* [HHH-4676] - Any interceptor exception (RTE) should mark the tx for rollback
* [HHH-4765] - Enhance Dialect support for JPA-2 locking

** Bug
* [HHH-3817] - JBC second level cache integration can cache stale collection
* [HHH-4583] - Incorrect handling of empty conjunction and disjunction
* [HHH-4613] - KEY, VALUE and ENTRY should not be strict keywords
* [HHH-4693] - MapProxy - problems during marshalling/demarchalling
* [HHH-4809] - Immutable entities added to a session have Status.MANAGED unless
loaded by the Session
* [HHH-4810] - Persistent immutable and read-only entities are updated before
being deleted
* [HHH-4825] - mapping order impacting behavior leading to bug
* [HHH-4836] - Infinispan: 2L QueryCache don't considers cached queries which
belong to current transaction
* [HHH-4845] - Investigate why entitymanager test cannot be run in forkMode
* [HHH-4899] - Type not supported: org.hibernate.type.TimestampType
* [HHH-4917] - Keyword TYPE not supported
* [HHH-4926] - Upgrade to jDocBook 2.2.1
* [HHH-4928] - Non-Audited Entity with @ManyToOne in PK causes error in Envers
* [HHH-4932] - Upgrade EM to use the latest metamodel generator (CR-1)
* [HHH-4944] - putFromLoad calls could store stale data
* [HHH-4948] - Session.flush() does not always cascade save or update to read-
only or immutable entities

** Improvement
* [HHH-4905] - Allow consistent handling of numeric primary key values by any
integral data type
* [HHH-4911] - Make referencedColumnName case insensitive
* [HHH-4930] - Drop org. prefix on
hibernate.cache.default_cache_concurrency_strategy and
hibernate.id.new_generator_mappings for consistency
* [HHH-4934] - Improve logging in MetadataContext and AttributeFactory
* [HHH-4942] - Refactor PackagedEntityManagerTest and JarVisitorTest to use

** New Feature
* [HHH-3841] - Add support for lock timeouts

** Patch
* [HHH-4908] - Multiple failures reported during ReadOnlyProxyTest with Ingres

** Task
* [HHH-4640] - Add test with JNDI bound JBoss Transactions Transaction Manager
* [HHH-4936] - Document JPA criteria queries
* [HHH-4949] - Document JPA 2 metamodel
* [HHH-4951] - Correct DTD entities for injecting version and date into docs

Changes in version 3.5.0-CR-1 (2010.02.10)

** Sub-task
* [HHH-4661] - Properly propagate Query.setLockMode to Hibernate Core
* [HHH-4664] - Implement EntityManagerFactory#getProperties()
* [HHH-4848] - Derived identities: Derived entities using @IdClass and mapping
a @XToOne are not supported

** Bug
* [HHH-4317] - Memory leak in EnumType class.
* [HHH-4824] - localpath appeared in the doc xml
* [HHH-4841] - Read-only proxies in NonFlushedChanges are not read-only when
applied to a new session
* [HHH-4861] - Allow lookup by the "simple" pk type of "parent entity" in
"derived identities" cases
* [HHH-4877] - "Check Nullability" logging incorrectness in SettingsFactory
* [HHH-4880] - EntityManager.refresh does not throw EntityNotFoundException for
removed entity
* [HHH-4883] - Unable to join across a component
* [HHH-4884] - Fix binding of @TableGenerator#initialValue into
* [HHH-4889] - @IdClass containing an associated entity reference (instead of
the pk of this associated entity) should still work
* [HHH-4895] - property mappings incorrect for composite ids with many-to-one
* [HHH-4896] - Read-only proxy targets initialized from second-level cache are
not read-only
* [HHH-4898] - Results from read-only Criteria and Query obtained from query
cache are not read-only
* [HHH-4900] - Wrong immutable type check in IdMetadataGenerator
* [HHH-4902] - Handle JPA 2 requirement of setting id attribute to non-null
with its equivalent of foreign-generator

** Improvement
* [HHH-4578] - Criteria is missing read-only flag
* [HHH-4704] - Pass session into EntityTuplizer#setIdentifier
* [HHH-4879] - Support HQL index-refering functions for many-to-many, indexed
* [HHH-4894] - Process composite-id sub-generators
PersistentIdentifierGenerator contract(s)

** New Feature
* [HHH-4731] - Public API to know if an entity class is audited

** Patch
* [HHH-4886] - Merge minor change from IngresDialect.java from 3.3.2 for Ingres
9.2 compatibility

** Task
* [HHH-4892] - Simplify testing of persistence packages

Changes in version 3.5.0-Beta-4 (2010.01.28)

- http://opensource.atlassian.com/projects/hibernate/browse/HHH/fixforversion/11012

** Sub-task
* [HHH-4529] - Partial support for derived identity (including @MapsId)
* [HHH-4651] - Add support for EntityManager properties
* [HHH-4659] - Add support for standard declarative cache (@Cacheable)
* [HHH-4660] - Support Cache Retrieve Mode and Cache Store Mode Properties
* [HHH-4669] - Implement JDBC driver properties support
* [HHH-4677] - implement PersistenceUnitInfo#getPersistenceXMLSchemaVersion();
and the same in PersistenceMetadata
* [HHH-4678] - Apply PersistenceUnitInfo#getSharedCacheMode and
* [HHH-4690] - Consider adding a flag for legacy/new generators
* [HHH-4725] - implement orphanRemoval for OneToOne
* [HHH-4849] - Derived Identity: default @JoinColumn is not honored for
properties linked to @MapsId

** Bug
* [HHH-3828] - Criteria: Restriction whith class does not work
* [HHH-4736] - Cannot pass ValidatorFactory into
PersistenceProvider.createContainerEntityManagerFactory(PersistenceUnitInfo, Map)
* [HHH-4781] - When a read-only entity is refreshed it is changed to modifiable
* [HHH-4789] - Check annotations and entitymanager poms for consistent plugin
* [HHH-4796] - NullPointerException when an @AssociationOverride joinColumn is
set but no @AssociationOverride joinTable is on a given property
* [HHH-4797] - Backref properties should be ignored when building the JPA 2
metamodel (leading atm to java.lang.IllegalArgumentException: Cannot determine
java-type from given member [null])
* [HHH-4804] - Entities in non-lazy associations loaded by a read-only HQL
Query are not read-only
* [HHH-4805] - JPA 2 metamodel impl ignores nested generics
* [HHH-4806] - em.getTransaction.commit() does not always wrap in a
* [HHH-4807] - not-null checking no longer applied even if Bean Validation is
not present
* [HHH-4828] - Entities returned by Query...setReadOnly(true)...iterate()
should be read-only
* [HHH-4834] - Exception in the metamodel population when raw types are used in
* [HHH-4843] - org.hibernate.ejb.util.LogHelper assumes
javax.persistence.spi.PersistenceUnitInfo#getProperties is never null
* [HHH-4846] - NPE in AbstractIdentifiableType.checkDeclaredVersion
* [HHH-4847] - In nested id generators, use the context aka idObject for set
operation and the raw entity as input for generation
* [HHH-4850] - Transaction commit throws RollbackException instead of
* [HHH-4851] - OneToOneSecondPass Metadata is mistakenly interpreted
* [HHH-4853] - Lock Mode Properties and Uses, "Vendor-specific hints
must be ignored if they are not understood. "
* [HHH-4855] - Incorrectly tries to search a secondary table when globally
quoted identifiers are used
* [HHH-4858] - Implicitly add a cascade PERSIST when @MapsId is used
* [HHH-4859] - NPE when the entity uses a core-style "embedded" id (ie not an
@IdClass nor an explicit @EmbeddedId)
* [HHH-4862] - quoted column/alias names not properly handled in

** Improvement
* [HHH-4552] - Support generated value within composite keys
* [HHH-4813] - annotation and entitymanager module should use the maven-
injection-plugin to generate version string
* [HHH-4816] - Cleanup JPA setting name constants

** New Feature
* [HHH-2501] - Add capability to set a default read-only/modifiable setting for
a session
* [HHH-2762] -
SessionImplementor.getNonFlushedChanges()/applyNonFlushedChanges() API and initial
* [HHH-4616] - Configure global/cache level JMX statistics from Hibernate
configuration file
* [HHH-4726] - Add support for delete-orphan cascading to <one-to-one/>
* [HHH-4840] - Support embedded id properties like core

** Task
* [HHH-4792] - Validate fix for HHH-4791
* [HHH-4793] - Revert disabling of VersionsJoinTableRangeComponentNamingTest
and fix underlying issue
* [HHH-4799] - Create a *unit* test that asserts SerializationHelper's ability
to deser a class using an "isolated classloader" (aka a TCCL)
* [HHH-4822] - Add @FailureExpected annotation to annotations and
entitymananger modules to allow the skipping of tests
* [HHH-4823] - Reorder modules in top level pom so that testsuite runs directly
after core
* [HHH-4856] - Upgrade dependency to jpa metamodel generator

Changes in version 3.5.0-Beta-3 (2010.01.13)

- http://opensource.atlassian.com/projects/hibernate/browse/HHH/fixforversion/10981

** Sub-task
* [HHH-4203] - Implement JPA 2.0 criteria apis (compiling)
* [HHH-4352] - implement @AttributeOverride for Map (key, value)
* [HHH-4353] - implement default column naming strategy for Collections and Map
of basic types
* [HHH-4527] - Implement @j.p.Access support
* [HHH-4536] - Fix the mismatch between JPA 2's logical model and mapping.*
physical model wrt t*toOne and *ToMany
* [HHH-4546] - add JPA 2.0 locking
* [HHH-4553] - Hibernate doesn't support official JPA2 escape char for table
* [HHH-4584] - Query Language needs to support joins on embedded values
* [HHH-4598] - An embeddable class may contains collection of basic types or
embeddable objects
* [HHH-4600] - Implements full support for JPA 2 Maps
* [HHH-4601] - implement orphanRemoval for *ToMany
* [HHH-4649] - support for <delimited-identifier/> in ORM.xml files
* [HHH-4654] - Criteria quries must support referencing parameters by name
* [HHH-4657] - support CascadeType.DETACH and em.detach()
* [HHH-4663] - Make sure CriteriaQuery is serializable
* [HHH-4665] - Implement emf.getPersistentUnitUtil().getIdentifier(Object)
* [HHH-4667] - Properly parse the new orm.xml xsd and persistence.xml xsd
* [HHH-4675] - Bean Validation ConstraintViolationException should trigger a tx
rollback as per JPA's spec
* [HHH-4679] - Make sure @AssociationOverride support the dot notation (section
* [HHH-4680] - Implement @AssociationOverride .value for Map value overriding
(section 11.1.2)
* [HHH-4681] - Implement @AttributeOverride "key." or "value." for Maps
* [HHH-4682] - Check that @CollectionTable (or its absence) defaults to the
right table/column names
* [HHH-4684] - Make sure @Lob works with @ElementCollection
* [HHH-4685] - Make sure bidirectional @*To* works from an embedded object to
another entity
* [HHH-4686] - Implement @MapKeyEnumerated
* [HHH-4687] - implement @MapKeyTemporal
* [HHH-4688] - Make sure @OrderBy works for @ElementCollection
* [HHH-4689] - Make sure @OrderBy supports dotted notation to point to embedded
* [HHH-4692] - add the new orm_2_0.xsd file
* [HHH-4696] - Add persistence.xsd version 2
* [HHH-4724] - query.multiselect() on a CriteriaQuery<Tuple> returns
List<Object[]> instead of List<Tuple>
* [HHH-4752] - @AttributeOverride for column name should use no prefix for
@ElementCollection (legacy uses "element")
* [HHH-4753] - Default table name for @CollectionTable is not inferred
correctly according to spec requirement
* [HHH-4756] - javax.persistence.criteria.Path#get should result in *delayed*
join rendering
* [HHH-4758] - Rename org.hibernate.ejb.criteria.AbstractNode#queryBuilder to
* [HHH-4766] - Properly support criteria notion of SUM aggregation return types
* [HHH-4771] - @ElementCollection fk column should default to
* [HHH-4782] - Implement @AssociationOverride.joinTable

** Bug
* [HHH-1352] - Session.setReadOnly(Object, boolean) fails for proxies
* [HHH-1575] - Expression.in on component object gives parameters til SQL in
wrong order
* [HHH-2166] - Long "in" lists in queries results in a Java stack overflow
* [HHH-2990] - Fix SerializationHelper$CustomObjectInputStream to use
Class.forName and better classloader
* [HHH-3164] - "id in ..." with EmbeddedId and criteria API
* [HHH-3240] - In Derby field type 'text' is converted to CLOB(255)
* [HHH-3338] - Order of attributes in generated SQL query is dependent on Java
* [HHH-3529] - ConnectionWrapper is not visible from class loader
* [HHH-4041] - Null Pointer Exception when using @NotAudited on an entity with
discriminator column, inherited from base entity with InheritanceType.SINGLE_TABLE
* [HHH-4063] - NPE reading metadata from an mapped interface
* [HHH-4065] - Incorrect SQL is used for HQL if the number of values for a
filter collection parameter is changed
* [HHH-4090] - RelationTargetAuditMode.NOT_AUDITED not working with many-to-
many relations
* [HHH-4257] - map key type no longer inferred correctly, throws exception at
* [HHH-4283] - Bidirectional indexed collection mapped incorrectly for
* [HHH-4457] - SchemaUpdate fails on Sybase ASE 15 when a new column is added
without a default value
* [HHH-4519] - Hibernate/Infinispan integration doesn't property handle
Entity/CollectionRegionAccessStrategy evictAll
* [HHH-4520] - Infinispan second level cache integration can cache stale
collection data
* [HHH-4531] - Derby dialect should not support comments
* [HHH-4542] - Annotation processor does not handle "bag" mappings correctly
* [HHH-4560] - JDBC4 support inadvertently missed 1.4 compatibility
* [HHH-4565] - Maven deps: HSQLDB shouldn't be a dependency in compile scope.
* [HHH-4566] - Maven deps: JAXB API and JAXB RI shouldn't be dependencies of
Hibernate Annotations.
* [HHH-4567] - EntiytManager's QueryImpl mishandles ordinal position of HQL-
style positional parameters
* [HHH-4571] - Infinispan not properly being built into distribution bundle
* [HHH-4572] - check if the connection supports jdbc4 before looking for the
createClob method
* [HHH-4574] - ConnectionProviderFactory.getConnectionProperties() includes
extra properties
* [HHH-4581] - Embedded objects in criteria API does not work
* [HHH-4586] - Parameterized functions built throught CriteriaBuilder missing
parameters when rendered
* [HHH-4588] - Seam 2.x depends on ReaderInputStream which it shouldn't.
Deprecate the current Hibernate ReaderInputStream class
* [HHH-4590] - CASTs from CriteriaBuilder.toXXX methods still need to be
fleshed out
* [HHH-4604] - IllegalArgumentException should be raised when an ordinal
parameter is not present in the query
* [HHH-4611] - When the revision number in the revision entity uses a
@Column(columnDefinition=), the sql-type is not properly set on the REV property of
audit entities
* [HHH-4614] - (javassist) Instrumented model with abstract MappedSuperclass
and field access doesn't work
* [HHH-4625] - Use of maven-injection-plugin intermittently leads to build
* [HHH-4631] - Infinispan integration module is causing build problems
* [HHH-4633] - Using same table for multiple relations doesn't work
* [HHH-4634] - A many-to-many relation owned by both sides causes a mapping
* [HHH-4641] - @PrimaryKeyJoinColumn on an inherited entity doesn't affect the
column name
* [HHH-4644] - When using join-inheritance and a custom revision entity, the
child mapping uses incorrect revision number column sql type
* [HHH-4645] - Rename properties used to configure Envers from camel case to _
* [HHH-4650] - Removing an item from a persistent collection, flushing, and
adding the same item again fails
* [HHH-4653] - Setting the "referencedColumnName" in @JoinColumnOrFormula
throws an NPE
* [HHH-4670] - Incorrect revision types when in a add-flush-mod-flush sequence
* [HHH-4698] - Better handling of JPA criteria expressions
* [HHH-4702] - org.hibernate.ejb.metamodel.AttributeFactory should use member
for javaType, et al
* [HHH-4707] - Currently no support for modulus operator
* [HHH-4708] - Make CompoundSelectionImpl implement ExpressionImplementor
* [HHH-4709] - registered length functions should return Integer
* [HHH-4711] - persistence.xml is not validated during parsing
* [HHH-4715] - Unexpected results when an updated entity that is already
modifiable is set to modifiable again
* [HHH-4720] - Improve javax.persistence.metamodel.Attribute support
* [HHH-4735] - Proxy can be associated with a new session when it is already
connected to a different one
* [HHH-4741] -
org.hibernate.test.filter.DynamicFilterTest.testSqlSyntaxOfFiltersWithUnions fails
on MySQL
* [HHH-4743] - Bug in BooleanLiteralNode with CustomType
* [HHH-4764] - org.hibernate.test.pagination.PaginationTest.testLimitOffset()
fails on oracle and db2 due to
* [HHH-4767] - Bug in how Criteria Subquery selections are handled
* [HHH-4768] - Bug in how Criteria Subquery correlations are handled
* [HHH-4769] - In HQL, function ROUND always returns an Integer, it truncate
the decimal part of Double number.
* [HHH-4772] - Empty conjunction/disjunction in criteria does not follow spec
* [HHH-4774] - Do not handle literals using parameters in JPA criteria select
* [HHH-4775] - CriteriaBuilder#notEqual being interpreted oppositely
* [HHH-4776] - Add a NullLiteralExpression for CriteriaBuilder#nullLiteral
* [HHH-4777] -
org.hibernate.ejb.test.PackagedEntityManagerTest.testOverridenPar() hard code
hsqldb connection info
* [HHH-4778] - Need better handling of criteria expression casting
* [HHH-4780] - Allow BigDecimal and BigInteger to be specified as numeric
literal types
* [HHH-4785] - BinaryArithmeticOperation reverses incoming arguments
* [HHH-4786] - SerializableType + custom Serializable class + L2 cache causes
* [HHH-4788] - antrun plugin version is not explicitly specified in the parent
* [HHH-4790] - Envers test failing, disabling for beta-3 release
* [HHH-4791] - Invalid assumption made in

** Deprecation
* [HHH-4561] - Deprecate openConnection()/closeConnection() methods on Batcher

** Improvement
* [HHH-2576] - Allow native-sql to have placeholders for default schema and
* [HHH-4000] - Utlize jhighlight hooks for rendered syntax coloration of XML
and Java based programlisting docbook elements
* [HHH-4540] - Allow the revision timestamp to be a Date
* [HHH-4545] - Allow o.h.action.Executable to register for either (or both)
before or after transaction completion callbacks
* [HHH-4548] - Alter poms to not use javax.* artifacts under Sun proprietary
* [HHH-4550] - Document that update-timestamps cache region should not be
configured for expiry.
* [HHH-4569] - Split focus of ConfigurationPerformanceTest
* [HHH-4573] - Minor typo, formatting and cleanup fixes
* [HHH-4575] - When Infinispan is configured for INVALIDATION don't send
cluster message on entity insert
* [HHH-4671] - Derby is one of those dialects that should not support "cross
* [HHH-4697] - Add means to get HibernateEntityManagerFactory from
* [HHH-4705] - Derby does now in fact support the full ANSI SQL TRIM function
* [HHH-4719] - Support modulo operator
* [HHH-4737] - Cache the EntityKey in EntityEntry when id is non-null
* [HHH-4763] - Change antrun plugin configuration in entitymanager module to
allow metamodel generation without processing all life cycles

** New Feature
* [HHH-2308] - Adding predicates to the join condition using Criteria Query
* [HHH-4608] - Add new properties that will allow to specify the default schema
and catalog that should be used for audit tables
* [HHH-4694] - Support "fake" many-to-one bidirectional relations
* [HHH-4749] - Don't block calls to getListeners on SessionImplementor when
using thread scoped sessions

** Patch
* [HHH-1918] - enable non-hilo identity generation in DerbyDialect
* [HHH-2347] - Improvement to DerbyDialect default identy generation mode
* [HHH-2584] - PersistentMap.remove() incorrect on uninitialized, non-extra-
lazy map
* [HHH-3860] - Cascading performance problems when session contains many

** Task
* [HHH-4006] - Document fetch profiles
* [HHH-4498] - Move the xml configuration files in the annotations module into
the default resource directory /src/test/resources
* [HHH-4655] - Upgrade jpamodelgen dependency in entitymanager to use
* [HHH-4672] - Upgrade JPA dependency to hibernate-jpa-2.0-api-1.0.0-CR-1
* [HHH-4673] - Upgrade JPA Static Metamodel Generator dependency to 1.0.0.Beta1
* [HHH-4674] - JBoss has renamed its JACC artifact
* [HHH-4783] - Remove obsolete changelog.txt files in annotations and
entitymanager modules

Changes in version 3.5.0-Beta-2 (2009.11.02)


** Sub-task
* [HHH-4047] - Phase 1 - API & implement join-strategy
* [HHH-4196] - Implement JPA 2.0 criteria apis (building)
* [HHH-4202] - Implement JPA 2.0 metamodel APIs
* [HHH-4528] - Read mapping annotations from entity properties rather than the
composite pk
* [HHH-4533] - Support for @MappedSuperclass such that we can build
* [HHH-4537] - Expose Members for MappedSuperclass properties

** Bug
* [HHH-1724] - Critieria needs to be aligned with new aggreation type rules
* [HHH-3817] - JBC second level cache integration can cache stale collection
* [HHH-3818] - Hibernate/JBC integration doesn't property handle
Entity/CollectionRegionAccessStrategy evictAll
* [HHH-4095] - bug in org.hibernate.Hibernate.createBlob( InputStream in )
* [HHH-4100] - Problems with Envers docbook sources
* [HHH-4105] - SessionFactory mispells method to obtain fetch profile
* [HHH-4114] - ASTParserLoadingTest fails due to missing "bit_length" function
* [HHH-4115] - FooBarTest - "operator does not exist: character varying =
* [HHH-4435] - DataVersionAdapter.newerThan incorrect when comparing to self
* [HHH-4437] - ToOneDelegateSessionImplementor breaks
* [HHH-4441] - SessionImpl serialization violates java serialization spec
* [HHH-4447] - Envers proxy.getId() returns null if proxy was not initialized
* [HHH-4449] - NPE during inserting new audited entity with reference to
another proxy entity if proxy.lazyInitializer.session is null
* [HHH-4463] - Native queries should not be automatically paginated in
getSingleResult() as it fails for some DB and or queries
* [HHH-4475] - Constants point to non-existing default JBC/JGroups config file
* [HHH-4486] - Account for MySQL's <DROP TEMPORARY TABLE> statement
* [HHH-4494] - cglib log warning says BytecodeProvider impl is considered
* [HHH-4500] - MSSQL, Oracle - Mapping inconsistency
* [HHH-4503] - Sybase - Annotations - unit tests using LOBs fail
* [HHH-4507] - Persistence units in entitymanager's testsuite are using fixed
hsqldb configuration
* [HHH-4513] - AnotationConfiguration does not honor
hibernate.validator.apply_to_ddl property in case Hibernate Validator 4 is
* [HHH-4522] - CallbackAndDirtyTest throws exception when run against
* [HHH-4525] - Trunk is not including the newly added modules to the
distribution bundle
* [HHH-4532] - Unit Tests in test/idgen/enhanced/forcedtable need update

** Improvement
* [HHH-3461] - Enhance DialectFactory to support Sybase Adaptive Server
* [HHH-4364] - Support @NamedQuery on a @MappedSuperclass (Sharath Reddy)
* [HHH-4382] - @ManyToOne not working wth @Formula
* [HHH-4397] - Split test involving database specific features (like sequence /
* [HHH-4405] - Integrate new long string and binary property types in core with
* [HHH-4415] - TestCase could check for superclass of Dialect before skipping
* [HHH-4442] - Change StandardDialectResolver to use SybaseASE15Dialect over
deprecated SybaseDialect
* [HHH-4443] - Allow generic handling of any Hibernate type for post-insert
generated identifiers
* [HHH-4476] - Move cache-jbosscache to JBoss Cache 3.2.1
* [HHH-4484] - When JBoss Cache is configured for INVALIDATION don't send
cluster message on entity insert
* [HHH-4502] - Update database profiles in pom.xml
* [HHH-4508] - Typo in DialectFactory - avalable should be available
* [HHH-4523] - Some of the tests in the entitymanager have hard coded
connection settings - these tests should use filtered connection settings
* [HHH-4526] - Add better metainf information tot he hibernate all jar
gennerated for dist

** New Feature
* [HHH-1012] - Index not created by SchemaUpdate
* [HHH-1480] - JOIN precendence rules per SQL-99
* [HHH-3000] - Allow a TypeDef to be associated with a class (Sharath Reddy)
* [HHH-4103] - Implement an Infinispan 2nd level cache provider
* [HHH-4232] - TypeDef support on @Embeddable or @MappedSuperClass classes
(Sharath Reddy)
* [HHH-4332] - Filters for MappedSuperClass
* [HHH-4473] - Create documentation to explain the usage of the new
'defaultForType' attribute of the TypeDef annotation
* [HHH-4479] - We should be able to implement Joins using formulas with
* [HHH-4512] - TypeDef annotation should support both 'name' and
'defaultForType' attributes

** Patch
* [HHH-3972] - Adding FETCH FIRST and OFFSET support to DerbyDialect
* [HHH-4440] - Support for column-level read/write fragments (Rob Hasselbaum)
* [HHH-4488] - ListProxy, MapProxy etc. - problems during

** Task
* [HHH-2412] - Support for JDBC4
* [HHH-3580] - import entitymanager into core as a module
* [HHH-3849] - Disable lock striping in JBoss Cache configs
* [HHH-4355] - Allow running tests against different databases by using a
simple switch
* [HHH-4485] - Replace the JBoss Cache integration configuration properties
with "jbc2"-less versions
* [HHH-4487] - Restore versions of the old public API jbc2 package classes
* [HHH-4499] - Account for modules needing JDK 1.6
* [HHH-4501] - Use Maven wagon-scm provider for release deployments
* [HHH-4530] - Change the docbook style for Annotations and EntityManager to
the latest styles used in the other Core modules
* [HHH-4538] - Update to Bean Validation 1.0.0 and Hibernate Validator 4.0.0

Changes in version 3.5.0.Beta-1 (2009.08.18)


** Sub-task
* [HHH-3801] - Create a cache-jbosscache-legacy module
* [HHH-3802] - Move the up-to-date JBC integration into cache-jbosscache
* [HHH-3803] - Repackage JBC integration to org.hibernate.cache.jbc
* [HHH-4027] - Remove current cache-jbosscache module content
* [HHH-4028] - Move current cache-jbosscache2 module content to cache-
* [HHH-4029] - Remove cache-jbosscache2 module

** Bug
* [HHH-1930] - QuerySyntaxException "with-clause expressions did not reference
from-clause element to which the with-clause was associated"
* [HHH-2146] - NullpointerException in
* [HHH-2694] - create-drop with c3p0 causes SQLException
* [HHH-2745] - NullPointerException when eager fetching joined many-to-many
with native SQL query
* [HHH-3046] - Merge fails on complicated data structure because of cycle
* [HHH-3216] - Incorrect parse result in ParameterParser
* [HHH-3231] - org.hibernate.id.enhanced.TableGenerator throws
"IllegalArgumentException: alias not found: tbl" under Oracle
* [HHH-3351] - Dynamic entity model and inheritance - exception when trying to
* [HHH-3392] - Query Cache entries are not distributable
* [HHH-3472] - JTASessionContext broken for WebSphere
* [HHH-3481] - JTATransactionFactory bug when Transaction cannot be found in
* [HHH-3506] - enabled filters should apply to HQL update/delete statements
* [HHH-3508] - Sybase Dialect - Override supportsCascadeDelete to return
* [HHH-3519] - account for parameters in select clause of INSERT-SELECT for DB2
* [HHH-3528] - FETCH JOIN query doesn't work in a StatelessSession
* [HHH-3573] - Incorrect support for columns which aren't insertable
* [HHH-3575] - Empty versions-query (both types) will cause a runtime exception
* [HHH-3584] - Generate SQL when Dynamic Update is true is including version
field even when marked as updateable=false
* [HHH-3594] - Hibernate collection listener throw exception when adding entity
to the collection
* [HHH-3600] - exception while saving bidirectional association
* [HHH-3602] - Inheritence issue
* [HHH-3621] - Assertion failure in MigrationTest
* [HHH-3623] - Make at least ListProxy serializable
* [HHH-3633] - Envers ignores empty discriminator classes
* [HHH-3636] - Attempt to read invalid column when loading collection of
subclasses mapped with table-per-subclass with discriminator
* [HHH-3640] - Some standard SQL functions are not implemented in Sybase
* [HHH-3647] - instance not of expected entity type: java.util.HashMap is not
a: smx3.schema3.Party_AUD
* [HHH-3652] - CompositeIdWithGeneratorTest needs a standard way to compare
* [HHH-3662] - Merging read-only entities causes AssertionError("Merged entity
does not have status set to MANAGED...")
* [HHH-3668] - Sybase does not support implicit conversion from character types
to numeric types causes failing unit tests
* [HHH-3670] - Invalid test for str() for SQL Server and Sybase
* [HHH-3671] - The revision type field is not persisted when setting a custom
revision type field name throught the properties
* [HHH-3672] - Sybase - second(), minute(), hour(), and extract() cause
* [HHH-3675] - Limitations on Sybase ResultSet implementation cause unit test
* [HHH-3679] - Sybase conversion of Java byte to tinyint fails with 8-bit
values causing unit test failures
* [HHH-3680] - Sybase - composite primary key in unit test exceeds maximum for
index causing failure
* [HHH-3686] - Sybase - QueryCacheTest.testQueryCacheInvalidation fails
* [HHH-3693] - Implicit Polymorphic query + pagination returning zero result
* [HHH-3696] - Sybase - unit tests fail when numeric values overflow in
precision or scale on insert
* [HHH-3698] - Problem with HQL parameter bindings as indexed collection
* [HHH-3699] - Problem with HQL parameter bindings for parameters in WITH join
* [HHH-3701] - SQL function "trim" is not available in Sybase Dialect
* [HHH-3703] - RevisionEntity with compound primary key fails
* [HHH-3705] - NPE encountered on using AnnotationConfiguration
* [HHH-3706] - Audit Table Schema not generated using <annotationconfiguration>
* [HHH-3729] - @AuditJoinTable annotation has no effect for embedded concrete
subclasses of a MappedSuperClass
* [HHH-3736] - Envers EntityInstantiator does not support private constructors
for immutable entities
* [HHH-3740] - Unable to build EntityManagerFactory when using a non-audited
ManyToOne in Audited components
* [HHH-3741] - Join tables are not audited if the join is defined in an
* [HHH-3773] - NPE when generating schema containing OneToMany relations
* [HHH-3779] - "org.hibernate.MappingException: An audited relation to a non-
audited entity" during schema-export ant task
* [HHH-3782] - Saving a one-to-many relationship results in unsaved transient
instance exception
* [HHH-3794] - Issue when method return type is Interface
* [HHH-3810] - Transient entities can be inserted twice on merge
* [HHH-3830] - Problem with inheritance and @ManyToMany relation
* [HHH-3847] - java.lang.NullPointerException on onPreRemoveCollection on
replicate of persistent class
* [HHH-3871] - unnecessary proxy initialization on audit record save
* [HHH-3878] - Exception when querying historical data for deleted Entites
* [HHH-3880] - org.hibernate.id.enhanced.TableStructure missing "as" keyword in
select statment column renames; required for PostgreSQL
* [HHH-3888] - Envers schema generation (ant) ignoring columnDefinition
( atribute of @Column, JPA )
* [HHH-3912] - Change for HHH-3159 causes InstantiationException
* [HHH-3918] - Use standard JDK exception nesting
* [HHH-3923] - Enver throws Nullpointer exception with a self reference
* [HHH-3939] - @NotAudited association requires and joins to the associated
* [HHH-3957] - Audited Null Embeddable objects not returned as null
* [HHH-3980] - Fix for HHH-2980 introduced bug that allows the same bag
collection role to be fetched multiple times
* [HHH-4003] - many-to-many loaders should use inner joins from the collection
table to element table
* [HHH-4034] - Update org.hibernate.action.BulkOperationCleanupAction to use
new Region cache APIs
* [HHH-4088] - Session.getSession should always return sessions from parent (or
root) session
* [HHH-4091] - HQLTest#testDuplicateImplicitJoinInSelect
* [HHH-4099] - Doc build error (http://jira.codehaus.org/browse/MNG-1323)

** Improvement
* [HHH-1234] - allow tuplizers the opportunity to influence
getSubclassEntityPersister() processing
* [HHH-2592] - force hibernate to generate use offset qeury when offset is zero
* [HHH-2686] - Include a primary key in the sequence table used by
* [HHH-2802] - Support HQL style order by (JPA @OrderBy)
* [HHH-2980] - Error "org.hibernate.HibernateException: cannot simultaneously
fetch multiple bags" not specific enough
* [HHH-3159] - Oracle 11g - desupport of oracle.jdbc.driver
* [HHH-3249] - Make o.h.id.enhanced.TableGenerator more extension-friendly
* [HHH-3275] - Allow pluggable tuplizers for composite elements
* [HHH-3357] - improve performance of session.clear()
* [HHH-3383] - QueryKey is storing references to entities instead of
* [HHH-3424] - concat() with param binding fails function on derby
* [HHH-3439] - Change o.h.cfg.Mappings to not require constructor
* [HHH-3454] - Allow enhanced.TableGenerator to segment itself per entity as
* [HHH-3456] - Make o.h.id.enhanced.SequenceStyleGenerator more extension-
* [HHH-3471] - Provide true-false type that maps to int values
* [HHH-3515] - Introduce EntityNameResolver interface
* [HHH-3517] - Allow definition of the default tuplizer class to use
* [HHH-3518] - Remove Suite classes from testsuite module
* [HHH-3525] - Clean up reflection code trying to determine JDK 1.4
* [HHH-3532] - schema update task should look for foreign key signature
* [HHH-3708] - Suboptimal exception on m:n relations with an unaudited entity
* [HHH-3712] - Reorganize the Sybase dialect class hierarchy, add
SybaseASE15Dialect, and mark SybaseDialect as deprecated
* [HHH-3737] - Support Hibernate 3.3 branch in Envers until 3.4.0GA is out
* [HHH-3750] - Allow dialects to handle difference in how
Query.setFirstResult() should be interpreted
* [HHH-3753] - Upgrade to SLF4J version 1.5.8
* [HHH-3832] - Upgrade to cglib-2.2.jar
* [HHH-3842] - Update maven profiles to use the databases in QA Lab
* [HHH-3886] - Update database credentials for QA Lab
* [HHH-3892] - Improve support for mapping SQL LONGVARCHAR and CLOB to Java
String, SQL LONGVARBINARY and BLOB to Java byte[]
* [HHH-3944] - Document known database portability strategies
* [HHH-3978] - Expose Hibernate version via non-compile-time constant
* [HHH-3982] - Apply build version to org.hibernate.Version
* [HHH-3998] - Fix spurious failures in ConfigurationPerformanceTest
* [HHH-3999] - Change mysql hostname in pom.xml
* [HHH-4016] - SAPDialect should not use oracle style outer joins, ANSI style
is prefered by MaxDB
* [HHH-4022] - Add an actual API contract for querying/managing cache regions
(from app code)

** New Feature
* [HHH-3343] - Postgres Plus Dialect
* [HHH-3512] - Registration of IdentifierGenerators (short naming)
* [HHH-3559] - Possibility to do versioning and non-versioning commits as
* [HHH-3560] - Assume entities relationships as unversioned by default
* [HHH-3563] - Support relations in components
* [HHH-3564] - Support for the three types of inheritance
* [HHH-3565] - Direct property access
* [HHH-3568] - In the hibernate mapping of versions entities, mark them as not
* [HHH-3570] - Move from "Versioning" to "Auditing"
* [HHH-3588] - RevisionType available via public API
* [HHH-3598] - Add the possibility to specify restrictions on RevisionType,
using RevisionTypeProperty
* [HHH-3611] - Extend revision restrictions in the query system
* [HHH-3663] - Request to add Joined inheritance strategy supported for
* [HHH-3697] - Turn on/turn off versioning in runtime
* [HHH-3723] - Publish sources to maven (snapshot) repository
* [HHH-3781] - Echo version information to the console in main()
* [HHH-3819] - Deleted entries with non null properties
* [HHH-3823] - Obtain current revision entity by AuditReader
* [HHH-3898] - Add a flag to disable Nullability.checkNullability() and the
exception raised in this case
* [HHH-3906] - Move to JPA 2 API as a dependency
* [HHH-4010] - support auditing of entity having reference (many-to-one
relation) to not audited entity
* [HHH-4081] - Support for JPA 2.0 "qualified identification variables" (KEY,

** Patch
* [HHH-530] - Allow application of filters on subqueries
* [HHH-2933] - allow custom resolution of Dialect (Tomoto Shimizu Washio)
* [HHH-3401] - H2 Database Dialect Fixes
* [HHH-3450] - Include SingletonEhCacheProvider as an additional caching
provider (Greg Luck)
* [HHH-3639] - Sybase keywords - rename columns
* [HHH-3649] - DB2Dialect inherits supportsPooledSequences() as false, but it
does support
* [HHH-3650] - TableGenerator doesn't marks the "primary key" as not null,
causing errors in some RDBMS's which expects the PK to be not-null
* [HHH-3742] - Documentation corrections
* [HHH-3744] - Improved support for persistence of subclasses
* [HHH-4037] - Fixing build errors in documentation/manual

** Task
* [HHH-3214] - Update unit tests and config files to use non-depracated Oracle
* [HHH-3474] - Upgrade to use slf4j 1.5 (1.5.2)
* [HHH-3547] - import Envers into Hibernate core as a module
* [HHH-3549] - import commons-annotations back into core as a module
* [HHH-3550] - import annotations into core as a module
* [HHH-3556] - Convert documentation to docbook
* [HHH-3585] - Upgrade to JBoss Cache 3
* [HHH-3760] - Document EntityNameResolver
* [HHH-3761] - Document DialectResolver
* [HHH-3879] - Envers documentation: configuration of event listeners is
incomplete for JPA: @PostPersist, @PostUpdate @PostRemove no longer work
* [HHH-3953] - Update tutorial chapter
* [HHH-3979] - Upgrade to javassist 3.9.0
* [HHH-3981] - Upgrade to jDocBook 2.2.0

Changes in version 3.3.0.GA (2008.08.13)


** Bug
* [HHH-3430] - distribution bundles cglib directly instead of the hibernate

Changes in version 3.3.0.CR2 (2008.07.31)


** Bug
* [HHH-1697] - OracleDialect fails to recognize sequence accessible through
syonyms when validating schema
* [HHH-2604] - Isolator.JdbcDelegate masks the exception if it isn't possible
to open a connection.
* [HHH-2683] - "datediff" is declared as NoArgSQLFunction in H2Dialect, but
actually accepts 3 arguments.
* [HHH-3006] - ConcurrentModificationException in AbstractBatcher results in
infinite loop
* [HHH-3229] - Merge can fail when there is a transient entity reachable by
multiple paths and at least one path does not cascade on merge
* [HHH-3257] - Content images not displayed
* [HHH-3260] - Hibernate wraps a listener init or destroy exception into an
* [HHH-3261] - Do not wrap exceptions raised by event listeners (at init or
destroy time)
* [HHH-3265] - change license url in pom to http://www.gnu.org/licenses/lgpl-
* [HHH-3266] - distribution bundle missing jta dependency
* [HHH-3272] - using of Integer.valueOf(int), which is not available in JDK 1.4
* [HHH-3282] - DB2Dialect should report supportsLobValueChangePropogation() ==
* [HHH-3309] - Serialize/Deserialize problem in AbstractLazyInitializer with
* [HHH-3409] - ResultTransformers need smarter equals() and hashCode() impls

** Improvement
* [HHH-1786] - JTASessionContext.CleanupSynch does not remove sessions from
* [HHH-2060] - To be able to use <generator> with <composite-id>
* [HHH-2506] - Make javassist the default ByteCodeProvider
* [HHH-2875] - repackage cglib/asm under org.hibernate namespace
* [HHH-3269] - upgrade to jDocBook plugin version 2.1.1
* [HHH-3283] - protect
BulkManipulationTest#testInsertWithGeneratedTimestampVersion where
Dialect#supportsParametersInInsertSelect == false
* [HHH-3358] - Enable JTATransactionFactory and JTATransaction factory to work
without JNDI
* [HHH-3390] - Use READ_COMMITTED for JBC 2 cache

** Patch
* [HHH-3294] - Version incorrectly incremented for unchanged persistent entity
that is parent of a one to many relationship

** Task
* [HHH-3270] - follow up on documentation license questions

Changes in version 3.3.0.CR1 (2008.04.28)


** Bug
* [HHH-1312] - Unclosed ResultSet when using Identity
* [HHH-1396] - Table.validateColumns fails on valid column
* [HHH-1569] - Immutable Natural Id check fails with ArrayIndexOutOfBounds in
some cases
* [HHH-1593] - Infinite loop/StackOverflow when calling
* [HHH-1753] - DB2Dialect.getCurrentTimestampSQLFunctionName() uses Oracle
* [HHH-1916] - param values in generator element should be trimmed during
* [HHH-1920] - Incorrect documentation regarding XML manipulation in Hibernate
reference manual (chapter 18.3).
* [HHH-1956] - Interceptor.afterTransactionCompletion not called with
JTATransaction (CacheSynchronization.hibernateTransaction not set)
* [HHH-2159] - NullPointerException in
FromElement#findIntendedAliasedFromElementBasedOnCrazyJPARequirements with
'hibernate.query.jpaql_strict_compliance' enabled
* [HHH-2164] - Minor bug in section "20.1.1. Customizing the schema"
* [HHH-2200] - Memory leak in AbstractBatcher with Generated Properties
* [HHH-2320] - Regression: optional properties under a <join> tag no longer
update properly
* [HHH-2503] - AbstractEntityPersister swallows JDBCExceptions in
* [HHH-2513] - Abusive WARN logged during deserialization of replicated
* [HHH-2542] - NullPointerException in TypeFactory.replaceAssociations for
* [HHH-2553] - New LoadContexts Implementation causing possible performance
* [HHH-2593] - Keyword UNION is prefixed with "this_." in filter conditions
* [HHH-2616] - No event is fired on Collection recreate/remove/update action
* [HHH-2627] - Generated properties leak prepared statements in Hibernate 3.2.3
and higher.
* [HHH-2631] - Leaking PreparedStatement and ResultSet via
CollectionLoadContext instances maintained in Map collectionLoadContexts in
* [HHH-2711] - PropertyAccessException with backref and <composite-map-key/>
* [HHH-2726] - spelling o your CLASSPATH
* [HHH-2728] - Calling session.clear() while retrieving objects via an iterator
will cause a "LazyInitializationException - No Session" by the CGLIBLazyInitializer
* [HHH-2788] - Oracl8iDialect No Dialect mapping for JDBC type 91
* [HHH-2795] - CollectionLoadContexts for empy collections are not removed
until PersistenceContext.clear()
* [HHH-2816] - DefaultFlushEntityEventListener.checkNaturalId() causes extra
SELECTs on read-only entities
* [HHH-2833] - insert-select query fails with NPE when select includes join
* [HHH-2857] - schemaSupport for HSQLDialect remote connections doesn't work
* [HHH-2861] - cascade="delete-orphan,all" is ignored
* [HHH-2863] - testsuite fix-ups for maven and/or directory changes
* [HHH-2864] - Merging a detached instance with a new child in a unidirectional
one-to-many association fails if the parent was previously loaded as a proxy
* [HHH-2892] - skip up-to-date checks of query cache for natural-id only if
* [HHH-2928] - optimizers for enhanced id generators should be synchronized
against multi-threaded access
* [HHH-2948] - QueryStatistics.executionMinTime always = 0
* [HHH-3111] -
implemented incorrect
* [HHH-3140] - Region prefix ignored for entities and collections

** Deprecation
* [HHH-2755] - Wrong "jsdk.jar" referenced in the tutorial

** Improvement
* [HHH-1786] - JTASessionContext.CleanupSynch does not remove sessions from
* [HHH-2048] - Incomplete MappingException at org.hibernate.mapping.SimpleValue
* [HHH-2156] - Section 19.3, "Managing the caches" doesn't document
* [HHH-2533] - redesign Cache/CacheProviders
* [HHH-2662] - Workaround PostgreSQL issues in testsuite
* [HHH-2663] - Map java.sql.Types.REAL to Hibernate FloatType for auto-
discovery stuff
* [HHH-2665] - Split Oracle9Dialect into Oracle9iDialect and Oracle10gDialect
* [HHH-2669] - Unequivocally map MySQL LOB types to the LONG variant
* [HHH-2682] - support for auto-discovery of H2 dialect
* [HHH-2696] - Consider migrating to slf4j
* [HHH-2761] - Handle null and empty string consistently in PropertiesHelper
* [HHH-2778] - TransactionManagerLookup implementation for Bitronix Transaction
* [HHH-2789] - Section 19.2 of the documentation does not show OSCache as
supporting clusters. It does.
* [HHH-2822] - timestamp extraction functions for SAPDBDialect
* [HHH-2826] - IS [NOT] NULL checks with component values
* [HHH-2859] - Introduce a 'Work' API for user to perform JDBC work
* [HHH-3131] - Add a method to ActionQueue to tell whether there are currently
entries in the executions collection

** New Feature
* [HHH-1] - Optimize Hibernate for the bulk insertion of related entities
* [HHH-2555] - Create new RegionFactory for JBossCache
* [HHH-2884] - Provide a sessionFactory close event or hook for the event

** Patch
* [HHH-952] - Patch to allow subqueries with joins using Criteria API and
Subqueries with DetachedCriteria
* [HHH-2070] - Expand DB2Dialect auto-discovery support (Martin Renner)
* [HHH-2519] - Schema dropping not documented with
* [HHH-2630] - Hibernate Dialect is not auto-detected for Sybase ASE and DB2
(Shelley McGowan)
* [HHH-2758] - Patch IngresDialect based on certification
* [HHH-2839] - Don't use dummy dual table for hsqldb (David Bala?ic)
* [HHH-2849] - Better error logging in IdentifierGeneratorFactory (Antony
* [HHH-2957] - ActionQueue Insertion sort performance degrades exponentially
(Jay Erb)
* [HHH-3084] - DialectFactory detection of Ingres metadata (Michael Leo)

** Task
* [HHH-2702] - Officially move to JDK 1.4
* [HHH-2704] - Migrate to Maven2 for build

Changes in version 3.2.6 (2008.02.07)


** Bug
* [HHH-925] - DetachedCriteria.createCriteria not working with alias
* [HHH-1312] - Unclosed ResultSet when using Identity
* [HHH-1329] - SchemaValidator fail when views are involved
* [HHH-1593] - Infinite loop/StackOverflow when calling
* [HHH-1685] - DetachedCriteria doesn't create alias on subcriteria
* [HHH-1753] - DB2Dialect.getCurrentTimestampSQLFunctionName() uses Oracle
* [HHH-1916] - param values in generator element should be trimmed during
* [HHH-1956] - Interceptor.afterTransactionCompletion not called with
JTATransaction (CacheSynchronization.hibernateTransaction not set)
* [HHH-2016] - Oracle9Dialect registers last_day() function as "lastday"
* [HHH-2159] - NullPointerException in
FromElement#findIntendedAliasedFromElementBasedOnCrazyJPARequirements with
'hibernate.query.jpaql_strict_compliance' enabled
* [HHH-2200] - Memory leak in AbstractBatcher with Generated Properties
* [HHH-2261] - Setting hibernate.hbm2ddl.auto=validate causes problems on mySQL
with numeric fields
* [HHH-2320] - Regression: optional properties under a <join> tag no longer
update properly
* [HHH-2503] - AbstractEntityPersister swallows JDBCExceptions in
* [HHH-2542] - NullPointerException in TypeFactory.replaceAssociations for
* [HHH-2593] - Keyword UNION is prefixed with "this_." in filter conditions
* [HHH-2598] - Mapping a collection of entities from two different classes with
the same collection name results in duplicate backref property exception if
collection keys are not null
* [HHH-2616] - No event is fired on Collection recreate/remove/update action
* [HHH-2627] - Generated properties leak prepared statements in Hibernate 3.2.3
and higher.
* [HHH-2728] - Calling session.clear() while retrieving objects via an iterator
will cause a "LazyInitializationException - No Session" by the CGLIBLazyInitializer
* [HHH-2788] - Oracl8iDialect No Dialect mapping for JDBC type 91
* [HHH-2795] - CollectionLoadContexts for empy collections are not removed
until PersistenceContext.clear()
* [HHH-2816] - DefaultFlushEntityEventListener.checkNaturalId() causes extra
SELECTs on read-only entities
* [HHH-2833] - insert-select query fails with NPE when select includes join
* [HHH-2857] - schemaSupport for HSQLDialect remote connections doesn't work
* [HHH-2861] - cascade="delete-orphan,all" is ignored
* [HHH-2864] - Merging a detached instance with a new child in a unidirectional
one-to-many association fails if the parent was previously loaded as a proxy
* [HHH-2892] - skip up-to-date checks of query cache for natural-id only if
* [HHH-2928] - optimizers for enhanced id generators should be synchronized
against multi-threaded access
* [HHH-2948] - QueryStatistics.executionMinTime always = 0

** Improvement
* [HHH-1630] - duplicate property mapping - more details
* [HHH-1696] - Add outer join support for aliases on DetachedCriteria
* [HHH-2048] - Incomplete MappingException at org.hibernate.mapping.SimpleValue
* [HHH-2682] - support for auto-discovery of H2 dialect
* [HHH-2761] - Handle null and empty string consistently in PropertiesHelper
* [HHH-2822] - timestamp extraction functions for SAPDBDialect
* [HHH-2826] - IS [NOT] NULL checks with component values
* [HHH-2852] - Better error messages when schema validation fails

** Patch
* [HHH-952] - Patch to allow subqueries with joins using Criteria API and
Subqueries with DetachedCriteria
* [HHH-2070] - Expand DB2Dialect auto-discovery support (Martin Renner)
* [HHH-2839] - Don't use dummy dual table for hsqldb (David Bala?ic)
* [HHH-2849] - Better error logging in IdentifierGeneratorFactory (Antony
* [HHH-2957] - ActionQueue Insertion sort performance degrades exponentially
(Jay Erb)
* [HHH-3084] - DialectFactory detection of Ingres metadata (Michael Leo)

** Task
* [HHH-2559] - http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd needs
to be updated
* [HHH-3085] - Remove connector.jar (unnecessary library)
* [HHH-3086] - Remove jdbc2_0-stdext.jar (unnecessary library)

Changes in version 3.2.5 (2007.07.31)


** Bug
* [HHH-1116] - batch-size typo
* [HHH-1561] - Missing " in Documentation for H3, Chapter 15.8
* [HHH-1569] - Immutable Natural Id check fails with ArrayIndexOutOfBounds in
some cases
* [HHH-1694] - Documentation Outdated: "10.4.4. Queries in native SQL"
* [HHH-2180] - minordocumentation error in hbm xml
* [HHH-2201] - session.iterate() does not exist
* [HHH-2267] - A copy/paste mistake in the documentation for <schemavalidator>
ant task
* [HHH-2334] - Documentation error in section 5.1.3
* [HHH-2420] - Error in 2.5. Contextual Sessions
* [HHH-2502] - The second level caching documentation states that ehcache is
not distributed.
* [HHH-2631] - Leaking PreparedStatement and ResultSet via
CollectionLoadContext instances maintained in Map collectionLoadContexts in
* [HHH-2649] - Batcher configuration parameter incorrectly documented
* [HHH-2711] - PropertyAccessException with backref and <composite-map-key/>
* [HHH-2713] - duplicated phrase in docs "of the of the"
* [HHH-2714] - Three typos in code examples
* [HHH-2719] - adddress --> address
* [HHH-2720] - Monetory --> Monetary

** Improvement
* [HHH-1022] - incomplete documentation in _README.txt in the lib directory
* [HHH-1682] - Improve the description of differences between save() and
* [HHH-2048] - Incomplete MappingException at org.hibernate.mapping.SimpleValue
* [HHH-2417] - Update book on Hibernate reference
* [HHH-2418] - Refer HSQL DB website in chapter 1.2.3
* [HHH-2487] - Typo in "5.1.7. version (optional)"
* [HHH-2550] - Update API Class in 10.4.3. Criteria queries
* [HHH-2662] - Workaround PostgreSQL issues in testsuite
* [HHH-2663] - Map java.sql.Types.REAL to Hibernate FloatType for auto-
discovery stuff
* [HHH-2665] - Split Oracle9Dialect into Oracle9iDialect and Oracle10gDialect

** Patch
* [HHH-2520] - Miscellaneous config doc spelling fixes
* [HHH-2630] - Hibernate Dialect is not auto-detected for Sybase ASE and DB2
(Shelley McGowan)
* [HHH-2758] - Patch IngresDialect based on certification

** Task
* [HHH-2551] - Deprecate org.hibernate.criterion.Expression
* [HHH-2566] - Replace usages of FlushMode.NEVER with FlushMode.MANUAL
* [HHH-2567] - Update reference to use FlushMode.MANUAL
* [HHH-2568] - Hibernate javadoc overview refering wrong classes and packages

Changes in version 3.2.4.sp1 (2007.05.18)


** Bug
* [HHH-2605] - Since 3.2.4 no value specified for row id
* [HHH-2613] - LockMode.FORCE on non versioned entity leads to NPE

Changes in version 3.2.4 (2007.05.09)


** Bug
* [HHH-511] - reattach object from same session
* [HHH-2316] - org.hibernate.cache.CacheKey.equals() can cause
PropertyAccessException to be thrown
* [HHH-2553] - New LoadContexts Implementation causing possible performance
* [HHH-2602] - instrumented many-to-one problem with aggressive release
** Deprecation
* [HHH-2603] - Deprecate the Session.connection() method

** Improvement
* [HHH-2549] - Warn users explicitly about schemaexport and schemaupdate does
not support annotations

** New Feature
* [HHH-1] - Optimize Hibernate for the bulk insertion of related entities

** Patch
* [HHH-2301] - Identity generator with custom insert SQL broken in 3.2 (Scott
Rankin and Gail Badner)
* [HHH-2336] - paremeterizable and typedef-able UserCollectionType (Holger
* [HHH-2580] - Performace: Too many lookups of WAS extended transaction support
(Jesper Udby)

Changes in version 3.2.3 (2007.04.02)


** Bug
* [HHH-2376] - Query with fully qualified entity class fails
* [HHH-2392] - LockModes referencing non-root joined-subclass class in
* [HHH-2393] - Generated properties leave open ResultSet on Batcher to be
closed on transaction completion
* [HHH-2397] - hilo generator can generate negative numbers because of
arithmetic overflow
* [HHH-2469] - ArrayIndexOutOfBoundsException during update by rowid
* [HHH-2476] - PersistentMap.put() incorrect on uninitialized, non-extra-lazy
* [HHH-2481] - Big memory leak in the use of CGLIB
* [HHH-2499] - incorrect assertion failure relating to generated property
* [HHH-2513] - Abusive WARN logged during deserialization of replicated
* [HHH-2521] - Fix cascading of merge across component properties
* [HHH-2532] - update/delete executeUpdate() causes problems with JBossCache
(at least in opt-locking setups)

** Improvement
* [HHH-2495] - encapsulate the notion of state pertaining to processing a
result set
* [HHH-2534] - better error message for illegal 'collection dereference' in HQL
* [HHH-2535] - Change Cache' Cache71Dialect so that sequence support returns

** New Feature
* [HHH-2471] - create a set of "enhanced" generators
* [HHH-2500] - apply Terradata certification results

** Patch
* [HHH-2367] - InformixDialect uses wrong data type
* [HHH-2489] - SQL comments for HQL bulk operations
Changes in version 3.2.2 (2007.01.24)

** Bug
* [HHH-1471] - If the 'generated' attribute is set to 'insert' or 'always' on
the property of a component it is ignored and the value is not read from the
* [HHH-1646] - Bad code in FastClass.equals
* [HHH-1889] - LockMode.UPGRADE not applied in all cases for SQL Server /
* [HHH-2112] - ClassCastException in
* [HHH-2221] - MySQL temp table DDL and isolation
* [HHH-2238] - SQLQuery executeUpdate doesn't respect Query.setFlushMode()
* [HHH-2251] - Settings build unnecessary in schemaupdate/schemavalidate
* [HHH-2257] - Query.iterate() results differ from Query.list() 2
* [HHH-2259] - autoflush and autoclose not longer occur in JTA environment with
hibernate 3.2
* [HHH-2264] - NPE when NamedQuery contains space before variable name
* [HHH-2274] - Collection ordering when many to many order by is used is not
* [HHH-2275] - Mapping a composite element as a map key using formulas can lead
* [HHH-2284] - HQL: selecting components inside components doesn't work
* [HHH-2291] - collection based on property-ref not handled correctly during
* [HHH-2292] - merge detached instance fails to persist collection changes in
case of bare collection reference
* [HHH-2356] - NullableType.toString(Object) should account for nulls
* [HHH-2366] - Changing a component's value does not trigger an update during
* [HHH-2378] - replicate() of non-versioned entiy can result in wrong value for
version in entity cache

** Improvement
* [HHH-1851] - relax special handling of 'id' property
* [HHH-2130] - SQLQuery does not autoflush all entities used in the query
* [HHH-2193] - Introduce a flag to avoid checking NamedQuery at startup
* [HHH-2242] - Consider Allowing Optimistic Lock Strategies other than
'Version' with joined-subclass
* [HHH-2250] - Create an appropriate error message if Query.setEntity is passed
a NULL value
* [HHH-2282] - PersistentClass property lookups do not properly account for
embedded composite identifiers
* [HHH-2286] - dialect informational metadata
* [HHH-2372] - Allow tooling to create Settings via SettingsFactory without
contacting the db

** New Feature
* [HHH-2246] - No way to specify CACHE_PROVIDER_CONFIG in HibernateServiceMBean

** Patch
* [HHH-2300] - Updated dialect for H2 database engine
* [HHH-2371] - enhancements to C3P0ConnectionProvider

** Task
* [HHH-2032] - update c3p0 to 0.9.1
Changes in version 3.2.1 (2006.11.16)

** Bug
* [HHH-939] - 'class' property in HQL results in incorrect SQL for joined-
* [HHH-1401] - session.merge() executes unnecessary updates when one-to-many
relationship is defined.
* [HHH-1460] - Inconsistent behavior when using Session.get() with multiple
* [HHH-1564] - deleting versioned object with collection leads to unecessary
* [HHH-1629] - SchemaUpdate/validator doesn't listen to quoting
* [HHH-1631] - Missing table in SQL from clause that is referenced in where
clause when using joined subclass
* [HHH-1651] - hibernate does not find an existing sequence from an Oracle
* [HHH-1663] - <any/> with collection will produce "AssertionFailure:
collection was not processed by flush()"
* [HHH-1737] - Add a ConnectionWrapper interface to allow access to the
underlying connection from a BorrowedConnectionProxy
* [HHH-1756] - Proxy objects are not removed from the BatchFetchQueue during a
session evict
* [HHH-1774] - Component parameters bound incorrectly
* [HHH-1921] - "dirty, but no dirty properties" thrown when Interceptor resets
* [HHH-1986] - javassist throws InvocationTargetException instead of original
checked Exception
* [HHH-2027] - merge listener over-writes Interceptor changes to component
state for a transient entity
* [HHH-2044] - DefaultMergeEventListener.entityIsDetached call
StaleObjectStateException with wrong identifier
* [HHH-2082] - UpdateTimestampsCache.isUpToDate returns before checking all
* [HHH-2108] - cacheable files broken
* [HHH-2138] - merge with bidirectional one-to-one may fail
* [HHH-2145] - set.retainAll calling set.addAll
* [HHH-2174] - Wrong log message in SessionImpl.afterTransactionCompletion(...)
* [HHH-2199] - Unique constraints on nullable columns should not be generated
with unique-key is used and supportsNotNullUnique=false
* [HHH-2202] - Clearing the connection warnings even when log is > WARN to
workaround a Sybase issue
* [HHH-2206] - SessionImpl tries to deserialize itself in an incorrect order
* [HHH-2207] - Suggested fix for HQL - MySQL setMaxResults issue
* [HHH-2226] - org.hibernate.hql.ast.tree.FromElementType contains warning log
message that should be debug instead
* [HHH-2229] - Performance issue with fix for HHH-1293, CGLIBLazyInitializer
may be slower for certain Java classes
* [HHH-2236] - Lazy property + setReadOnly + Instrumented classes results in
NullPointerException when accessing lazy property

** Improvement
* [HHH-2037] - provide Query.setProperties(Map)
* [HHH-2042] - Typo in FlushMode.MANUAL Javadoc
* [HHH-2057] - Add "remove" cascading style to CascadeStyle for XML mappings
* [HHH-2127] - Document <filter-def condition="defaultCondition"> and <filter-
* [HHH-2135] - Hibernate Deserialization: In
org.hibernate.type.SerializableType the code makes a test for the return of a null
object by simply testing the object as to whether or not it is null.
* [HHH-2185] - introduce setting to control cglib caching of classes
* [HHH-2203] - Make Post*Events extend AbstractEvent
* [HHH-2208] - Table schema use in DatabaseMetadata
* [HHH-2209] - ehcache.jar is old and does not contain the
SingletonCacheProvider which are advised in exception messages
* [HHH-2217] - Collection write methods and dirtying the collection

** New Feature
* [HHH-2205] - Dialect for Intersystems' Cache SQL 2007.1

** Patch
* [HHH-1767] - read-only cache for immutable collection causes unnecessary

** Task
* [HHH-2219] - Upgrade to Javassist 3.4

Changes in version 3.2.0.ga (16.10.2006)

(retag of 3.2.0.cr5 (2006.10.16))

Changes in version 3.2.0.cr5 (04.10.2006)


** Bug
* [HHH-1668] - PersistentSet write methods mark collection as dirty even if
entry is not written
* [HHH-1714] - Session.get() behavior
* [HHH-1891] - Since rc3 deprecation Warning: The syntax 'TYPE=storage_engine'
is deprecated and will be removed in MySQL 5.2.

** Improvement
* [HHH-2093] - PERSIST_ON_FLUSH ineffective for recursive object graphs
* [HHH-2103] - Rolling back 'SELECT is mandatory' on JPA strict compliance

** Task
* [HHH-1931] - verify that the instrument tasks actually work

Changes in version 3.2.0.cr4 (24.08.2006)


** Bug
* [HHH-1293] - java.lang.NoSuchMethodError: <persistent
* [HHH-1677] - optimistic-lock="dirty|all" is ignored at delete time
* [HHH-1710] - persistent collections with property-ref to secondary tables
cannot be joined in HQL
* [HHH-1713] - AbstractEntityPersister causes an exception when a row in a
joined table is missing with fetch="select"
* [HHH-1740] - Build-time instrumentation breaks lazy="proxy"
* [HHH-1750] - Exception ORA-01000 too many open cursors by generated="insert"
* [HHH-1806] - No Dialect mapping for JDBC type: 3
* [HHH-1848] - A session.lock generates a query with a version column in a
joined subclass which does not exist
* [HHH-1892] - finish HHH-1789 for ordered and sorted collections
* [HHH-1898] - With hibernate 3.2.0-cr3 there is an hql parsing error on a one-
to-one relation
* [HHH-1924] - ForeignKeys: TransientObjectException is thrown without a
message because of a wrong bracket in the code
* [HHH-1927] - persist() and then merge() not handled correctly for multiple
entity instances representing the same logical state
* [HHH-1937] - Proxy creation failure leads to NPEs
* [HHH-1943] - PersistenceContext not checked to see whether the associated
entity is transient or not
* [HHH-1944] - generated subqueries and jpaql compliance (derived select
clause) check
* [HHH-1947] - OF part of MEMBER OF is optional
* [HHH-1948] - Query Idetification variables are case insensitive in JPA
* [HHH-1949] - having trim(BOTH from c.name) translated into having
ltrim(rtrim(BOTH)) on DB2
* [HHH-1954] - Proxies are never unassociated (evicted) from a session
* [HHH-1958] - session.lock(LockMode.FORCE) can lead to NPE
* [HHH-1963] - meta inheritance broken
* [HHH-1992] - Some cascade actions should not trigger a property access on
lazy properties
* [HHH-2001] - javaassist does not setup the proper protection domain thus does
not work with signed/secured deployments such as webstart
* [HHH-2015] - where= does not set parenthesis leading to unexpected query when
multiclause are used
* [HHH-2017] - locate function defined on Oracle9Dialect is incorrect
* [HHH-2022] - property names beginning with underscores cause Hibernate to
generate invalid aliases

** Improvement
* [HHH-1470] - Enhance Hibernate-Mapping DTD Definition of type element
* [HHH-1934] - logging NonUniqueObjectException and WrongClassException
* [HHH-1941] - Be more specific about x not found and invalid mapping
exceptions to allow tools to tell about it
* [HHH-1968] - unify bytecode instrumentation
* [HHH-1980] - disallow the mapping combination of <version/> and optimistic-
* [HHH-2005] - more standard build script
* [HHH-2023] - performance optimization of

** Patch
* [HHH-1271] - When using Stored Procedure for update or delete, the check is
not done correctly.

** Task
* [HHH-1931] - verify that the instrument tasks actually work

Chages in version 3.2 cr3 (2006.07.06)


** Bug
* [HHH-1452] - Native SQL query is missing join if entity includes many-to-one
on secondary table
* [HHH-1507] - one-to-one can have formula or meta but not both of them.
* [HHH-1552] - Error when using ?1 and parameterList
* [HHH-1586] - ClassCastException in CollectionType.toLoggableString if using
* [HHH-1732] - EhCache.toMap still assumes Serializable objects
* [HHH-1734] - Connection leak when using hilo strategy in SE environment
* [HHH-1741] - Bug in reference documentation
* [HHH-1746] - NullPointerException at
* [HHH-1748] - Setting a comment that contains a single quote on a query
results in an unintuitive exception
* [HHH-1763] - Bug in InputStream
org.hibernate.util.ConfigHelper.getResourceAsStream(String resource)
* [HHH-1791] - property update="false" ignored since 3.2.0.cr2
* [HHH-1816] - serializing session from a named session factory to a different
vm broken
* [HHH-1822] - flushing entity linked to transient instance (non cascaded)
should always fail
* [HHH-1828] - registering a transaction marked for Rollback is illegal
* [HHH-1833] - Not Generating HibernateException
* [HHH-1838] - Wrong SQL generated for hql query on "any" relation
* [HHH-1855] - booleans not properly handled in assignment clause of UPDATE
* [HHH-1858] - wrong sql generated against many-to-any association table
* [HHH-1871] - query type autodiscovery assume wrong column when mixing
entities and scalars

** Deprecation
* [HHH-1792] - Callable update/insert/delete statements should not force
rowcount out parameter

** Improvement
* [HHH-1617] - Check the second-level cache before adding a PK to a batch fetch
* [HHH-1773] - Typo in ImprovedNamingStrategy
* [HHH-1779] - Allow Session.remove() on transient object
* [HHH-1789] - improve efficiency of collection initialization from L2 cache
* [HHH-1795] - default cache provider to NoCacheProvider
* [HHH-1796] - TreeCache based providers and Fqn
* [HHH-1800] - session.get() / load() should raise exception when the id is of
the wrong type
* [HHH-1818] - remove() should force subsequent contains() calls to return
* [HHH-1831] - Batch loading the same EntityKey (one side of manytoone ) more
than once
* [HHH-1861] - More complete component handling in HQL
* [HHH-1881] - introduce LoggableUserType interface

** New Feature
* [HHH-1709] - Be able to raise ENFE rather than LIE in proxies
* [HHH-1727] - Add a SQLFunctionRegistry
* [HHH-1817] - Introduce setting for JPA-QL strict compliance
* [HHH-1826] - Built-in type for char[] -> VARCHAR Byte[] and Character[]

** Patch
* [HHH-1558] - Dialect for new database engine H2
* [HHH-1847] - QBE 'like' clause with backslashes don't work with MySQL

** Task
* [HHH-1839] - rename FlushMode.NEVER -> FlushMode.MANUAL

Changes in version 3.2 cr2 (2006.05.05)


** Bug
* [HHH-1114] - The first (HSQL) Hibernate Application doesn't work as expected
due to lack of database shutdown
* [HHH-1175] - Exception when loading inheritance mapping in single file
* [HHH-1560] - PropertiesHelper.resolvePlaceHolders() fails with non-String
values in System properties
* [HHH-1620] - Errors on max_lo <=1 boundaries
* [HHH-1625] - Hibernate.isPropertyInitialized() returns false on instrumented
transient object
* [HHH-1648] - Exception while resuming a transaction is silently eaten
* [HHH-1674] - Configuration serialization error: filterDefinitions map not
* [HHH-1695] - subsequent calls to non-existent proxy causes NPE

** Improvement
* [HHH-1266] - StatelessSession can implement refresh
* [HHH-1414] - many-to-many and metadata order-by based on column from the
target table
* [HHH-1477] - Improve naming strategy for ANN-195
* [HHH-1538] - aggregations functions in EJBQL queries does not return the
appropriate types
* [HHH-1670] - Update EhCache and EhCache provider to support EhCache 1.2
* [HHH-1704] - Deduplicate unique constraints generation sharing the same

** New Feature
* [HHH-870] - support SQL updates in named queries
* [HHH-1591] - Replace LazyInitializationException by EntityNotFoundException
* [HHH-1719] - Provide a ClassTransformer interface to the BytecodeProvider

Changes in version 3.2 cr1 (2006.03.27)


** Bug
* [HHH-1453] - Broken exception handling in NullableType

** Improvement
* [HHH-227] - remove reflection optimizer
* [HHH-587] - Make ResultTransformer available for all query methods
* [HHH-1588] - delay inserts for insert-generated-identifiers outside
* [HHH-1590] - redesign how PostInsertIdentifierGenerators are handled at
* [HHH-1592] - allow SelectGenerator to use a defined natural-id (if one)

** New Feature
* [HHH-332] - create ability to add resulttransformer to HQL query
* [HHH-1179] - support inline sequence id generation on Oracle using RETURNING

Changes in version 3.2 alpha2 (2006.03.15)


** Bug
* [HHH-535] - properties element causes exception in interface/abstract class
* [HHH-1325] - ArrayOutOfBounds expected in DatabaseMetadata.isTable when
specifing schema
* [HHH-1435] - many-to-one lazy seems to be broken in 3.1.x
* [HHH-1531] - NPE with many-to-many and property-ref
* [HHH-1546] - generated version properties fail with multiple actions per

** Improvement
* [HHH-1540] - Better Error Feedback In
* [HHH-1555] - ConnectionReleaseMode.AFTER_STATEMENT and flushes
* [HHH-1559] - introduce TransactionFactory.isTransactionInProgress to
facilitate EJB3 joinTransaction handling

Changes in version 3.2 alpha1 (2006.02.28)


** Bug
* [HHH-687] - Exception QuerySyntaxError not really serializable
* [HHH-1236] - Remove static reference to classloader, to avoid memory leak at
webapp reload
* [HHH-1287] - Problem with WAS ExtendedJTATransaction not available when using
* [HHH-1419] - Update + Exists doesn't seem to work
* [HHH-1445] - SchemaUpdate closes shared ConnectionProvider
* [HHH-1464] - QueryException from Query.getReturnAliases when query uses
* [HHH-1486] - Concurrent access issues with both SoftLimitMRUCache and
* [HHH-1508] - Session.createQuery() should not flush the session

** Improvement
* [HHH-1411] - Collection fetches and DISTINCT
* [HHH-1412] - Collection fetches and firstResult/maxRows
* [HHH-1416] - LockMode.FORCE to implement EJB3 LockModeType.WRITE
* [HHH-1457] - support new optimisitc locking capabilities of JBossCache
* [HHH-1466] - better handling of Antlr exceptions
* [HHH-1516] - support DataDirect standard jdbc stored procedures
* [HHH-1518] - Guarentee LockMode behaviors
* [HHH-1520] - with clause with implied joins within an explicit join
* [HHH-1526] - Improved DTDEntityResolver

** New Feature
* [HHH-1251] - Avoid replicating the clearing of TreeCache on
* [HHH-1410] - FlushMode.AUTO -> COMMIT when outside a transaction
* [HHH-1447] - pluggable bytecode libraries

Changes in version 3.1.2 (01.27.2006)


** Bug
* [HHH-73] - Statistics for HQL queries use pre-processed query string
* [HHH-1306] - HQL parsing problem with join fetching of arrays/collections of
* [HHH-1370] - Warning in hibernate-mapping-3.0.dtd
* [HHH-1371] - MappingException is thrown when the same column is referenced
with different case
* [HHH-1386] - Numeric (long) literals not properly handled by HQL parser
* [HHH-1390] - Session.isOpen() throws exeception when the session is closed
with ThreadLocalSessionContext
* [HHH-1391] - Invalid parameter index SQLException when using named parameters
after positional parameters
* [HHH-1392] - Proxies cannot be serialized after session is closed
* [HHH-1398] - extends and entity-names broken with mapping-level package
* [HHH-1407] - return-join broken for entity collections

** Improvement
* [HHH-1364] - Defensive check of isClosed when obtaining a connection from
* [HHH-1367] - warn level log "this operation breaks ==" may be disturbing

** New Feature
* [HHH-1372] - Support for MySQL5 new varchar length

** Patch
* [HHH-1005] - Criteria LEFT JOIN capability when adding Order to associations

** Task
* [HHH-1373] - Document update versioned

Changes in version 3.1.1 (01.13.2006)


** Bug
* [HHH-853] - DML-style HQL queries and associations
* [HHH-1281] - FORWARD_ONLY ScrollableResults#next() throw GenericJDBCException
* [HHH-1286] - Set entity in HQL query without prefix -> incorrect SQL
* [HHH-1308] - Session.createFilter(...).iterate() results in bogus column
names for result set extraction
* [HHH-1314] - float/double literals not sent to the database correctly
* [HHH-1316] - SchemaUpdate : java.sql.SQLException: You cannot commit during a
managed transaction!
* [HHH-1328] - org.hibernate.util.SimpleMRUCache keeps a soft reference to the
cache key, so cached values get collected prematurely
* [HHH-1336] - ForeignGenerator does not handle transient entities with an
entity-name properly
* [HHH-1337] - Mapped <component> generated column names incorrect with
* [HHH-1349] - HQL delete statement problem due to oracle lacking table aliases
in delete clause
* [HHH-1361] - creating temporary table for bulk delete will commit current
transaction in managed environment such as J2EE

** Improvement
* [HHH-1019] - Native SQL return-property mapping doesn't support dot-syntax in
return-property for components
* [HHH-1290] - Defensive checking of session status
* [HHH-1302] - query.getReturnTypes inconsistent
* [HHH-1304] - better handling of borrowed connections in non-ON_CLOSE release
* [HHH-1309] - schemaupdate does not handle TableHiLoGenerator
* [HHH-1339] - empty property name in mapping file gives imcomprehensible error
* [HHH-1344] - ANSI-SQL trim function for SQLServer
* [HHH-1345] - ANSI-SQL mod function for SQLServer
* [HHH-1346] - ANSI-SQL bit_length function for SQLServer
* [HHH-1351] - <return-scalar name="blah"/> should be possible
* [HHH-1360] - set autodiscovery flag for SQLQueries when resultsetmappings are

Changes in version 3.1 (12.12.2005)


** Bug
* [HHH-849] - Cartesian product + implicit joins
* [HHH-1065] - user provided connection not usable by default due to agressive
release changes
* [HHH-1101] - associations join fetched in HQL without owner being selected
* [HHH-1133] - Comparators, defined for collections in mapping files, are not
* [HHH-1149] - NPE flushing reattached entity w/ non-mutable natural-id
* [HHH-1170] - HQL 'cast' function doesn't work with MySQL 4 when casting to
* [HHH-1187] - Cannot delete a object having a delete-orphan collection when
user_rollback_id is set
* [HHH-1191] - HQL fails backward compatibility using classic translator
* [HHH-1194] - hql delete statements with joined-subclass hierarchies with a
mapped where attribute at the root
* [HHH-1206] - Mappings.TableDescription is not serializable
* [HHH-1212] - mismatch in entity-modes defined in DTD and EntityMode class
* [HHH-1227] - ClassCastException on DOM4J replicate of Calendar property
* [HHH-1239] - BinaryArithmeticOperatorNode.getDataType() does not properly
handle date/time arithmetic
* [HHH-1240] - Track connection leakage in
* [HHH-1245] - Calling the Session should register it with the current JTA txn.
* [HHH-1254] - Serialization of Sessions using JDBCTransactions with auto-

** New Feature
* [HHH-1222] - Autodiscover scalar types in native-sql
* [HHH-1243] - allow placeholders to system properties in config properties
* [HHH-1244] - Support for MySQL5 stored procedures
* [HHH-1260] - Configuration.mergeProperties()

** Task
* [HHH-1066] - Upgrade CGLIB to fix proxy memory leak
* [HHH-1242] - upgrade ANTLR to 2.7.6rc1

** Improvement
* [HHH-860] - insert ... select ... and version numbers
* [HHH-926] - TypeDef should be global
* [HHH-1138] - No ConstraintName when using PostgreSQL
* [HHH-1144] - Implement naming convention for temporary test failures
* [HHH-1153] - PropertiesHelper fails reading primitive values from hibernate-
mapping when doc has whitespace
* [HHH-1182] - Access to filter metadata
* [HHH-1183] - Getting sql "plan" for DML operations
* [HHH-1197] - Support for HQL delete on MaxDB
* [HHH-1198] - post-insert event pass the entity wo the id field filled when
the generator is identity
* [HHH-1213] - make JACC event listeners auto configurable (through
* [HHH-1215] - Added support for LVARCHAR in InformixDialect
* [HHH-1218] - Add concat() function support to SAPDBDialect
* [HHH-1255] - ThreadLocalSessionContext and Session serialization

** Patch
* [HHH-967] - executeUpdate on StatelessSession
* [HHH-1172] - Missing configuration templates for the new MimerSQLDialect

** Deprecation
* [HHH-1229] - deprecate ability for entities to not define identifier

Changes in version 3.1 rc3 (17.11.2005)


** Bug
* [HHH-755] - Setter / Getter for property gDate are wrong
* [HHH-764] - XML mapping
* [HHH-1034] - The connection is closed *outside* the JTA transaction in
* [HHH-1062] - java:comp/UserTransaction not correct for JBoss
* [HHH-1064] - Exception using JTATransaction in WebSphere 6
* [HHH-1069] - Unnecessary commas generated in select with left outer joins
* [HHH-1075] - New parser "not exists" command bug
* [HHH-1077] - Typo in docs: "equiped"
* [HHH-1080] - HQL delete fails on entities with where-fragments using
operators other than '='
* [HHH-1081] - missing parens in example code for Criteria Associations
* [HHH-1084] - incorrect method name "sql" in Restrictions example, should be
* [HHH-1091] - Can't write transparent CurrentSessionContext for BMT
* [HHH-1098] - Patch for build.sh to be able to build latest version on linux
* [HHH-1106] - HQL "not in" generatad wrong SQL
* [HHH-1111] - JDBCTransaction.rollback() results in a call to
* [HHH-1128] - Column alias clashes under certain circumstances
* [HHH-1146] - latest cvs(11/10/05) hibernate3 issue with classic query
* [HHH-1156] - StatefulPersistenceContext not serializable when property-ref is
* [HHH-1160] - Incorrect use of getGeneratedKey() for Oracle

** New Feature
* [HHH-449] - korean hibernate reference manual
* [HHH-1129] - use expected-type in 'untyped' Query.setParameter()

** Improvement
* [HHH-221] - Proxy for one-to-one with property-ref
* [HHH-844] - move parameter "bookkeeping" into QueryTranslator
* [HHH-1051] - "Compiled" native SQL queries are not cached
* [HHH-1061] - import.sql should allow more human readable and usable files
* [HHH-1078] - <dynamic-component> requires type on property
* [HHH-1120] - Make NamingStrategy to work nicely with HA and EJB3 naming
* [HHH-1142] - added getSelectSequenceNextValString() and
getCurrentTimestampSelectString() to TimesTenDialect
** Patch
* [HHH-1063] - support for 'locate' function in SQLServer and Sybase dialects
* [HHH-1090] - Allow subqueries on criteria to obtain non-string results
* [HHH-1095] - Hibernate takes incorrect HasCode when a lot of CompositeKeys
and Lazy loading is involved
* [HHH-1103] - finalize method filter for proxies
* [HHH-1136] - more meaningful AssertionFailure message in

Changes in version 3.1 rc2 (17.10.2005)

** Bug
* [HHH-1045] - Example contains inner classes that aren't serializable
* [HHH-1055] - optimistic-lock is not inherited from class to subclass et.al.

** Improvement
* [HHH-702] - auto detect aliasing for collection properties (coll.key, coll.id
* [HHH-1038] - make 'auto' the default for hibernate.connection.release_mode
* [HHH-1042] - determine "expected type" of parameters during HQL parsing

Changes in version 3.1 rc1 (07.10.2005)

** Bug
* [HHH-528] - component.manyToOne.id in HQL causes join
* [HHH-871] - Configuration.setListener(String type, Object listener) throws
* [HHH-873] - referencing raw HQL FromElement alias outide the from clause of
update and delete statements generates incorrect sql
* [HHH-876] - PreparedStatement being closed before being executed by
* [HHH-884] - SchemaExport does not propagate parent indexes to <union-
subclass> tables
* [HHH-887] - Aggressive release and Session.connection()
* [HHH-893] - custom tuplizer are not instantiated for components
* [HHH-905] - $PlaceHolder$ remains in generated SQL when filter is enabled
* [HHH-907] - optimistic-lock="false" for timestamped object results in
SQLException: Invalid column index
* [HHH-908] - CLONE -NullPointerException when using BigInteger in a query
* [HHH-911] - CGLIBLazyInitializer and Exceptions
* [HHH-913] - NPE in CMTTransaction since javax.transaction.Transaction is
never set
* [HHH-918] - impossible to move objects to another session
* [HHH-924] - Useless OracleErrorCodeConverter (and possibly others)
* [HHH-932] - HQL UPDATE and <union-subclass>
* [HHH-946] - QuerySyntaxException might not be serializable
* [HHH-964] - ORA-00936 with joined subclass / Oracle
* [HHH-986] - Need to check Thread.currentThread().getContextClassLoader() in
* [HHH-991] - Cannot use comparator class
* [HHH-1000] - varchar(xxx char) not supported on Oracle8i

** New Feature
* [HHH-950] - interface for SessionFactory.getCurrentSession() handling

** Improvement
* [HHH-608] - update HSQLDialect for HSQL 1.8 sequence support
* [HHH-889] - Add read-only cache-mode comment in <query and <sql-query
* [HHH-898] - OracleDialect UTF8 varchar2
* [HHH-909] - Onquoted primary key in IncrementGenerator
* [HHH-988] - generated="never|insert|always"
* [HHH-989] - add discussion of implicit and explcit joins
* [HHH-1011] - Make disconnect/reconnect of a Session implicit

** Patch
* [HHH-994] - Sybase/SQLServer support for temporary tables

Changes in version 3.1 beta 3 (13.09.2005)

** Bug
* [HHH-528] - component.manyToOne.id in HQL causes join
* [HHH-871] - Configuration.setListener(String type, Object listener) throws
* [HHH-873] - referencing raw HQL FromElement alias of update and delete
* [HHH-876] - PreparedStatement being closed before being executed by
* [HHH-884] - SchemaExport does not propagate parent indexes to <union-
subclass> tables
* [HHH-887] - Aggressive release and Session.connection()
* [HHH-893] - custom tuplizer are not instantiated for components
* [HHH-905] - $PlaceHolder$ remains in generated SQL when filter is enabled
* [HHH-907] - optimistic-lock="false" for timestamped object results in
SQLException: Invalid column index
* [HHH-908] - NullPointerException when using BigInteger in a query
* [HHH-911] - CGLIBLazyInitializer and Exceptions
* [HHH-913] - NPE in CMTTransaction since javax.transaction.Transaction is
never set
* [HHH-918] - impossible to move objects to another session
* [HHH-924] - Removed ErrorCodeConverters
* [HHH-946] - QuerySyntaxException might not be serializable

** Improvement
* [HHH-898] - OracleDialect UTF8 varchar2
* [HHH-909] - Unquoted primary key in IncrementGenerator

Changes in version 3.1 beta 2 (16.08.2005)

** Bug
* [HHH-477] - Boolean discriminators generate invalid SQL for PostgreSQL
* [HHH-480] - SchemaExportTask ignores some properties not defined in
* [HHH-615] - SchemaExport outputFile ignores ant's basedir
* [HHH-770] - hql query execution generates invalid SQL
* [HHH-779] - Assertion failure occured with Hibernate 3 saving objects
* [HHH-781] - SimpleExpression ignorecase regression
* [HHH-799] - merge() and embedded composite identifiers
* [HHH-801] - subselect fetch and named parameters
* [HHH-802] - querying "mapped" composite identifiers
* [HHH-803] - no version increment from delayed collection adds
* [HHH-805] - Session.getStatistics().getEntityCount() throws
* [HHH-819] - Firebird CONCAT SQL function
* [HHH-821] - query by natural-id cache is not update when object is inserted
or deleted
* [HHH-822] - <key-property> will actually pick up <type> tags if it were
allowed by the DTD
* [HHH-825] - ReadWrite-Cache issues NullPointerException after modification of
an array
* [HHH-839] - Session.refresh not working for custom 'Load' SQL
* [HHH-849] - Cartesian product + implicit joins
* [HHH-854] - Class with mapped composite id can't have subclasses
* [HHH-858] - Autocommit status inconsistent in connections created by
* [HHH-863] - Hibernate generates "notExists" instead of "not exists"
* [HHH-868] - Missing parens after / or -

** New Feature
* [HHH-35] - add attribute haltonerror to schemaexport Ant task
* [HHH-182] - Mimer SQL Dialect for Hibernate 3
* [HHH-704] - Statistics for optimistic lock failures
* [HHH-725] - Allow hooks into all executed sql by a session
* [HHH-783] - collection lazy="extra"
* [HHH-818] - Optimisitc locking using database current timestamp
* [HHH-828] - session.getTransaction()
* [HHH-829] - <cache include="all|non-lazy" ... />
* [HHH-831] - allow database generated property values
* [HHH-832] - allow database generated property values for versioning
* [HHH-838] - Transaction.setTimeout()
* [HHH-840] - allow definition of "auxiliary" database objects in mapping
* [HHH-846] - Add Intializable interface for events
* [HHH-848] - Validate mappings against JDBC metadata
* [HHH-859] - post-commit events

** Improvement
* [HHH-133] - schemaexport task: provide independent drop/create output
* [HHH-135] - parameterized types can't be used on key-property or ir (possible
* [HHH-552] - NoopAccessor for HQL-only properties
* [HHH-680] - Easier support for doing UserCollectionType's
* [HHH-686] - Final classes and classes with private null ctors cause unhelpful
* [HHH-754] - Allow HQL DML for implicit polymorphism
* [HHH-782] - Avoid unnecessary updates when component property is
update='false' but modified
* [HHH-786] - Improve lazy options for <one-to-one>
* [HHH-791] - Use cascade styles when fetching entities in refresh() and
* [HHH-815] - Confusing use of the term "dereference"
* [HHH-830] - Improvements to caching lazy properties

** Patch
* [HHH-378] - Better LockMode.UPGRADE for DB2 UDB v8.2
* [HHH-430] - Improved SizeExpression with greater, lesser, not equals, etc.
* [HHH-735] - SchemaUpdate reads table metadata from wrong schema
* [HHH-780] - org.hibernate.proxy.BasicLazyInitializer reflection hotspot
* [HHH-864] - Use QUERY_CACHE for sessions with filters to improve performance

Changes in version 3.1 beta 1 (21.07.2005)


** Bug
* [HHH-145] - union-subclass and oracle 8i
* [HHH-374] - EJB3 example delete query doesn't work in Hibernate.
* [HHH-447] - EHCache integration prevents multiple session factories
* [HHH-488] - JACCListeners are not working at all
* [HHH-564] - missing commas for implicit joins
* [HHH-577] - joins within subqueries on dbs supporting ansi-joins result in
extraneous commas
* [HHH-592] - cast() function doesn't know its returned Hibernate type
* [HHH-639] - CGLIB instrumentation of subclasses
* [HHH-658] - Bug in Alias Name Generation
* [HHH-671] - Firebird support of sequences/generators
* [HHH-679] - setLockMode(LockMode.UPGRADE_NOWAIT) does not translate to correct
SQL on Oracle
* [HHH-688] - Bad implementation in org.hibernate.type.CustomType.stringToObject
* [HHH-691] - generated column alias is incorrect if there is a prior
relationship and the table column names are similar to the table name
* [HHH-694] - NPE when accessing the SLCache stats with TreeCache
* [HHH-698] - Exception on EG , trying to change immutable id (natural-id)
* [HHH-699] - Incorrect Tablename genetaion when using MySQL Dialect and no
Schema definition
* [HHH-708] - Restrictions.in could not be used properly on composite-ids
* [HHH-709] - ArrayType.replaceElements fails if original.length !=
* [HHH-718] - HQL "fetch all properties" not working for column level lazy props
* [HHH-726] - ConstraintViolationException with primitive collection
* [HHH-727] - java.lang.StackOverflowError when cascade="true" on both sides of
bidirectional one-to-one association using FK
* [HHH-734] - HQL incorrectly parses certain query strings
* [HHH-736] - Use of sql functions containing space not supported in filter
* [HHH-738] - formula property with select-before-update
* [HHH-747] - Order.toSQLString generates incorrect statement
* [HHH-748] - component dereferencing in subquery from clauses
* [HHH-752] - Typo in 8.5.3 bidirectional one-to-one jjoin table example
* [HHH-757] - NullPointerException when using BigInteger in a query

** New Feature
* [HHH-595] - HQL insert select
* [HHH-597] - Named XML resultsetmappings
* [HHH-696] - handle discriminators on HQL insert
* [HHH-697] - allow bumping versions in HQL update
* [HHH-716] - handle version columns in bulk inserts
* [HHH-723] - Need to be able to pass in javax.sql.DataSource in SF creation
* [HHH-739] - Order.ignoreCase()
* [HHH-741] - select clause subselects
* [HHH-742] - Stateless session
* [HHH-744] - collection fetching in scroll() via "break processing"
* [HHH-768] - <many-to-many property-ref=".."/>

** Improvement
* [HHH-14] - Add Session.delete(String entityName, Object entity)
* [HHH-295] - cleanup and expose the Tuplizers
* [HHH-352] - HQL bulk and cache
* [HHH-689] - exclude parens for components outside where-clause
* [HHH-743] - {coll.key}, {coll.index}, {coll.element}, etc
* [HHH-745] - EJB3 composite PK style
* [HHH-749] - Cascade merge() and unidirectional one-to-many
* [HHH-750] - use attribute name other than 'type' in dynamic-maps
* [HHH-753] - Replace antlr System.exit with QueryException
* [HHH-769] - property-ref="foo.bar" to a component property
* [HHH-772] - null in maps are handled inconsistently
* [TODO-18] - optimistic-lock="all|dirty" with components

Changes in version 3.1 alpha 1 (24.06.2005)

** Bug
* [HHH-204] - Wrong/uncommon log name in class ...hql ast ErrorCounter
* [HHH-241] - HQL lexer doesn't support unicode quoted strings
* [HHH-354] - property named "full" breaks HQL queries
* [HHH-493] - WARNING: Keyword 'member' is being intepreted as an ident
* [HHH-538] - length() function does not work in SQLServerDialect
* [HHH-539] - ClassCastException on mapping a property with a formula in a set
of composite elements
* [HHH-540] - Mapping a one-to-many collection with a non-null foreign key
within a component fails on save
* [HHH-547] - Cannot commit using UserCollectionType and debug logging
* [HHH-548] - many-to-many faulty delete optimization when filter in use
* [HHH-554] - Hibernate 3 HQL to SQL FROM Clause Comma Generation Problem
* [HHH-558] - HQL doesn't support multi-byte character in class name and
property names
* [HHH-559] - quoted multi-byte character in HQL is translated into weird
character in SQL.
* [HHH-565] - delete-orphan generating AssertionFailure
* [HHH-566] - The result is not correct in 'createQuery("select new Foor(x,x)
from Foo").scroll()'
* [HHH-570] - size operator fails on a many to many in HQL
* [HHH-571] - JDK 1.3 Compatibility Issue
* [HHH-573] - error when merging entity graph has cascade level>2
* [HHH-575] - org.hibernate.cache.FilterKey is not Serializable
* [HHH-589] - parameterized expression inside function
* [HHH-594] - order-by mapping for collections overrides order by in HQL
* [HHH-601] - New temporary table feature assumes all persisters are ready
* [HHH-614] - SchemaUpdate broken in DB2/400
* [HHH-622] - Spelling mistake 'intepreted' in org.hibernate.hql.PARSER warning
* [HHH-642] - criterias with projection
* [HHH-650] - FilterImpl is Serializable yet FilterDefinition is not
* [HHH-657] - Date parse exception using EntityMode.DOM4J
* [HHH-666] - JTAHelper.isInProgress( txn.getStatus()) throws NPE when txn null

** New Feature
* [HHH-620] - Extra join conditions in HQL
* [HHH-640] - short-circuit dirty checking for instrumented classes
* [HHH-643] - support mutable="false" for collections
* [HHH-645] - Session.setReadOnly()
* [HHH-549] - portable to_char() function
* [HHH-576] - Hook to pre-process generated select strings in the Dialect
* [HHH-662] - Add support for definition of functional composite key
("properties") in joined subclass

** Improvement
* [HHH-46] - Allow access to properties that are not joined
* [HHH-261] - Stored procedure support for SQLServer dialects
* [HHH-351] - multi-table bulk operations
* [HHH-574] - improve in naming named-query
* [HHH-596] - Auto-detect {..} in native SQL queries
* [HHH-641] - create constraints for many-to-one property-ref
* [HHH-501] - warn when a final method is tried to be proxied
* [HHH-525] - cglib related startup performance
* [HHH-557] - Helpful error message for non Serializable classes with a
* [HHH-586] - check immutable natural-ids
* [HHH-609] - Adds substr to PostgreSQL dialect
* [HHH-618] - documentation bugs

** Patch
* [HHH-224] - JDataStore Dialect and updated Testfiles
* [HHH-366] - InformixDialect SQLExceptionConverter
* [HHH-536] - ImprovedNamingStrategy modifies capitalized column names
* [HHH-632] - Informix Dialect missing from automatic dialect discovery
* [HHH-4] - CachedFile bugfix + configuration + autodetect resource as file

Changes in version 3.0.5 (25.5.2005)


** Bug
* [HHH-516] - Interceptor.onFlushDirty() sometimes not called
* [HHH-517] - getDatabaseMajorVersion() not available in JDK 1.3
* [HHH-518] - SQL parser does not recognize all whitespace
* [HHH-519] - broken SQL when traversing many-to-many to joined <subselect>
* [HHH-529] - Bug in merge()

** New Feature
* added <natural-id> mapping
* [HHH-533] - allow unique-key on <property> and <many-to-one>
* [HHH-534] - efficient cache by natural key
* support for <comment> on MySQL

** Improvement
* [HHH-526] - log "Aggressively releasing JDBC Connection" as DEBUG instead of
* various logging improvements

Changes in version 3.0.4 (23.5.2005)


** Bug
* [HHH-452] - UnsavedValueFactory.instantiate does not wrap the Exception it
* [HHH-456] - Session still holds references to entities after close()
* [HHH-457] - Log info for structured second-level cache entries is incorrect
* [HHH-466] - Made default for MS SQL dialect definition more flexible
* [HHH-473] - Formula can't contain SQL cast keyword
* [HHH-484] - Order-by not applied to collections fetched by OuterJoinLoader
* [HHH-487] - Possible empty union in UnionSubclassEntityPersister
* [HHH-505] - Possible NullPointerException in BigIntegerType
* [HHH-507] - Cached List does not show additions
* Fixed bugs in subselect fetching

** New Feature
* [HHH-455] - Obtain non-intercepted Session by passing an EmptyInterceptor
* [HHH-467] - HQL: support for case when then else end IN select clause
* [HHH-485] - Support multiple collection join fetches (attention: Cartesian
product) in native SQL queries
* Added SessionStatistics metric interface
* Added support for table and column level <comment> blocks
* Added Simplified Chinese translation of reference documentation (Xiaogang

** Improvement
* Any query may now join fetch >1 collection role (attention: Cartesian
* [HHH-454] - Add 2292 integrityViolationCode to Oracle9Dialect
* [HHH-503] - Implemented ViolatedConstraintNameExtracter for HSQLDialect
(Frank Grimes)

Changes in version 3.0.3 (8.5.2005)

* fixed bug in HQL for composite key classes which have a property named the same
as the owning entity's id property
* replaced 'connection.aggressive_release' with 'hibernate.connection.release_mode'
* added ConnectionReleaseMode
* added eager fetch for any associations with fetch=join, even after a HQL query,
or cache retrieval (EJB3)
* added replicate() isUpdate flag to OnReplicateVisitor, useful for native ids
* fixed ParameterizedTypes order of initialization
* fixed bug in DB2Dialect
* fixed EntityMode.DOM4J creation of duplicate <set> output
* fixed JDBCException error code handling
* fixed Criteria Restrictions.isEmpty()/isNotEmpty() when collection is mapped to
* fixed HQL indexed collections access with no alias
* fixed HQL aggregate functions on components when "id" property is used
* fixed issue with non-cascading refresh to collections
* fixed query-timeout not being applied to bulk HQL (Stephan Fudeus)
* fixed pessimistic locking with Firebird (Yuichi Sugimura)
* updated Ant 1.6.3
* improved validation of sql queries, throw QueryException if addEntity() nor
addScalar() was called
* added automatic dialect detection if no dialect is configured
* added new tutorial (Michael Gloegl, Christian Bauer)

Changes in version 3.0.2 (27.4.2005)

* fixed union operations on PostgreSQL
* fixed HQL concat() function for Oracle dialect
* fixed auto-close/auto-flush during getCurrentSession() processing
* fixed ClassCastException with EntityMode.DOM4J
* fixed HQL dynamic instantiation with iterate()
* fixed HQL bug with missing parantheses and implicit joins
* fixed bug were Interceptor.getEntity() wasn't called if in cache
* fixed bug in merge() of sorted sets
* fixed bug in EntityMode.DOM4J with non-lazy embedded many-to-ones
* fixed Criteria/Projection ordering bug
* fixed HQL referencing component attribute
* fixed column duplication detection for components
* fixed eager fetching for many-to-many associations
* fixed stack overflow with auto_close_session and aggressive_release and unclosed
* fixed bug in HQL parser regarding naked property refs which reference component
* fixed bug with eager fetched arrays not being loaded
* fixed bug in filter against joined-subclass
* improved CacheMode.GET/IGNORE, disabled cache put
* improved HQL support for standard SQL functions, including coalesce() and
* improved filtering of many-to-many associations
* added HQL support for cast(x as type) if SQL database supports it
* added increment id generation for union-subclass
* added ConnectionProvider.supportsAggressiveRelease() for managed environments
* added support for caching of queries if filter is enabled
* added PreparedStatement count to Statistics
* added transactional/nontransactional read()/get() to Cache API
* added quotation of schema names
* added Distinct to Projection API
* added config parameter 'connection.aggressive_release'

Changes in version 3.0.1 (18.4.2005)

* added HQL tuple constructor/comparison feature
* added HQL "fetch all properties" override if instrumentation is used for lazy
* added HQL projection feature, return Lists instead of arrays for projection
* added HQL projection feature, return Maps with user-defined HQL SELECT aliases as
* added HQL support for expressions in aggregation functions
* added new IntegrityViolationException to MySQL dialect
* added value mapping type 'big_integer'
* added not-found="ignore|exception" switch for legacy associations (i.e. broken
database integrity)
* added fully automatic Session scoping in JTA environments with
* fixed bug in DTD that wouldn't allow union-subclass in separate file
* fixed a MS SQL Server case sensitivity issue with native SQL queries
* fixed a minor bug in subselect fetching
* fixed case sensitivity in HQL functions
* fixed a bug with listener assignment for save() operation (Matthew Inger)
* fixed return-property in named SQL queries to work with all identifier names
* fixed TransactionManager lookup (again) for WAS 6.0
* fixed a bug with HQL batch delete and MS SQL Server
* fixed session not getting closed with auto_close when rollback occured
* improved concatentation handling in AST parser
* updated dom4j to avoid memory leak in old version
* updated C3P0

Changes in version 3.0 (31.3.2005)

* added support for autoflush/autoclose to HibernateServiceMBean
* fixed initialization/session association detection problem of collections
* fixed creation of FK constraints to union superclass table
* fixed bug where union-subclass table did not get a PK constraint
* added a separate log category for HQL parser warnings and errors
* fixed bulk delete operation on MS SQL Server
* added support for proxying protected methods (Juozas)
* added support for unicode quoted strings in new HQL parser
* fixed implied joins in subselect WHERE clause in new HQL parser
* added SQLServer7Dialect to handle differences in functions
* added support for JNDI-bound cache instances, future use for JBoss Cache
* added scale attribute to column mappings for numeric precision control
* added fetch=subselect for collections
* added support for bulk update/delete against discriminator-based inheritence
* added the ability to use naked property refs in HQL (required in update/delete
* updated CGLIB 2.1.0
* fixed NPE at BasicEntityPersister.getPropertyIndex (Todd Nine)
* fixed issue with entity-name and subclasses (Sverker Abrahamsson)
* fixed issue with correlated subqueries in new HQL parser
* fixed a problem with native SQL query mapping and embedded composite identifiers
* improved mapping binding, allowing unordered extends for pure entity-name
* fixed NPE for delete() with deprecated Lifecycle interface
* fixed a problem with serial joins ending in component value in new HQL parser
* fixed inner join/subselect precedence problem in new HQL parser
* fixed indices() function in new HQL parser
* fixed a bug in InformixDialect, now correct LIMIT clause
* fixed a bug in idbag.remove() (Sebastien Cesbron)
* fixed a conflict on OracleDialect between setMaxResult and LockMode.UPGRADE
* fixed XML configuration file issue with SchemaExport
* fixed an ArrayIndexOutOfBounds problem
* renamed executeUpate() to executeUpdate()
* fixed batch loading for property-ref entities
* fixed loading from cache of <key property-ref> collection owner
* fixed minor bug in SQL exception reporting
* fixed dynamic-component cannot be bound to XML
* fixed querying component with formula property
* fixed incorrect table alias for order-by on many-to-many
* fixed a bug for unidirectional one-to-many with moving child objects
* fixed a bug with union-subclasses and persister creation
* fixed a HQL concatenation problem on MySQL
* fixed a bug where an unnecessary exception was thrown for a property-ref to a
superclass property
* fixed minor dtd bug
* fixed new bug in Clob/Blob support
* fixed issue with INDEX_OP and subclass joins on theta-join dialects
* fixed some minor issues in query cache regions, including HB-1449
* fixed superflous import and regression bug in verifyparameters
* fixed two bugs in select id generator (Malcolm Green)
* fixed increment generator for union-subclass mappings
* updated JBoss Cache to 1.2.1alpha, fixing locking issues
* made stat classes serializable
* fixed merge(), now ignores blob and clob fields
* added support/dialect for TimesTen
* improved algorithm for batch fetching, more aggressive
* improved toStrings()s for Statistics objects (Ryan Lynch)
* renamed <result-*> to <return-*> for externalized SQL query mapping
* renamed Session.openSession() for EntityMode to Session.getSession()
* added support for CASE in HQL
* fixed bug with filters and polymorphic queries
* fixed import ordering problem of super/subclass mappings
* switched to patched ANTLR 2.7.5, now using context classloader before doing
* TableHiloGenerator now falls back to TableGenerator properly with max_lo < 2
(Emmanuel Bernard)
* better transaction handling of TableGenerator in a JTA environment (Emmanuel
* removed hard coded log4j dependency (Emmanuel Bernard)
* added support for stored procedure in named queries (Max Andersen)
* added <property-result> to named SQL queries to allow users to use sql without
* added multi-column property support to native SQL mapping

Changes in version 3.0rc1 (28.2.2005)

* introduced EntityModes, and XML mapping preview
* several minor dialect improvements
* fixed a problem where filters were not applied to subclasses
* fixed a problem where InstrumentTask would fail if applied to already-
instrumented classes
* fixed many problems with new parser and made it the default (thanks again to
Joshua for the new parser)
* implemented bulk update/delete queries for the new parser
* fixed a minor bug in the classic query parser
* renamed create() to persist() as per EJB3edr2

Changes in version 3.0 beta 4 (11.2.2005)

* support unidirection one-to-many with a not-null foreign key
* support formulas for index and element of collections
* support one-to-ones mapped to formulas
* fixed a bug in proxying methods that return "this"
* optimized proxies for embededded composite id classes
* fixed a bug affecting <key-many-to-one>
* fixed a bug caching newly inserted objects
* introduced DetachedCriteria
* support subselects in Criteria queries
* miscellaneous Criteria API enhancements
* fixed a problem where hibernate.max_fetch_depth applied to eager fetching via
* use inner joins for join fetching not-null fk associations
* support unique="true" in <component> and <properties> mappings
* union-subclass hierarchies may own collections (dtd bug)
* added guid support for Oracle
* new mechanism for auto-detecting unsaved-value
* pass state array in delete events
* improved implementation of hibernate.auto_close_session and
* fixed a bug where components with only collections would be incorrectly nullified
* fixed a bug where criteria queries with projection could not be cached
* fixed a problem where duplicate column name aliases could be generated

Changes in version 3.0 beta 3 (30.1.2005)

* Major rework of Criteria queries, support for projection, grouping, aggregation,
ordering by any attribute
* various improvements to new HQL parser (Joshua Davis)
* fixed a bug where <join fetch="select"> was broken for subclasses with duplicated
property names
* fixed problems with long types in Oracle DDL generation
* added EnhancedUserType, UserCollectionType, UserVersionType
* added CacheMode
* fixed minor performance problem where cascade delete could add objects to second-
level cache
* added hibernate.default_batch_fetch_size
* added hibernate.cache.use_structured_entries
* different classes and collection roles may now share a cache region
* don't include discriminators for abstract classes in generated SQL
* it is no longer truly necessary for composite identifier classes to implement
equals()/hashCode() (but still recommended)
* workaround for bug in MySQL InnoDB with self-referential foreign keys
* added lazy="true" to many-to-one and one-to-one mappings (requires bytecode

Changes in version 3.0 beta 2 (24.1.2005)

* added LockAcquisitionErrorCodes to MySQL dialect (Jesse Barnum, Emmanuel Bernard)
* added MultipleHiLoPerTableGenerator, one hi value per row/per table (compliant
with EJB3)
* added a generator handling multiple hi values per table (Emmanuel Bernard)
* added events for pre/post SQL operation interception
* added experimental support for JACC-aware configuration and events
* added full support for implicit polymorphism in Criteria queries
* added support annotated classes through XML configuration (Emmanuel Bernard)
* added support for WebSphere's weird TxManagerLookup
* added support for filters with dynamic-class mappings
* added support for lists of parameters in filters
* added support for scalar queries in createSQLQuery (Michael Gloegl)
* added support for scalar results in native SQL queries (Michael Gloegl)
* fixed SchemaExport/SchemaUpdate, now respect default_schema and default_catalog
(Michael Gloegl)
* fixed a bug in one-to-one mapping with property-ref
* fixed a bug in the query cache lookup routine
* fixed compilation problems on IBM JDK 1.4. and JDK 1.3.1
* fixed custom SQL for loading when using composite identifiers
* fixed exception thrown from optimistic locking failures
* fixed support for limit queries (select first ?) in Informix
* improved SchemaExport/Update, now respect default_schema and default_catalog
* improved dialect handling, throw an exception if no dialect has been set
* improved loading of mappings, no ordering of super/subclasses required anymore
* improved statistics for second-level cache
* improved table generators for hi/lo, can now be used in a JTA environment
(Emmanuel Bernard)
* query engine: added support for 'trim([leading | trailing | both] [expression
from] expression)'
* query engine: added support for DISTINCT and ALL
* query engine: added support for FETCH
* query engine: added support for HAVING count()
* query engine: added support for HQL NOT IN and EJBQL '[NOT] MEMBER OF'
* query engine: added support for ORDER BY COUNT(*)
* query engine: added support for collections of scalar values
* query engine: added support for literals in constructor select expressions.
* query engine: added support for select elements(..) from Foo f
* query engine: added support for template functions in the SELECT clause
* query engine: fixed NOT LIKE
* query engine: introduced EMPTY and added it to constant (support for IS [NOT]
* updated dom4j, OSCache, EHCache, JBoss Cache, Xerces, Xalan, and Log4j
* associated class where filter now applies to <one-to-one property-ref>

Changes in version 3.0 beta 1 (21.12.2004)

* reimplemented HQL using an ANTLR-based AST parser (Joshua Davis)
* added class="select" id generator
* added Query.setReadOnly()
* added hibernate.order_updates
* introduced cascade refresh
* added typed JDBC exceptions (Steve Ebersole)
* improved lifecycle for CacheProviders (Steve Ebersole)
* added Expression.isEmpty()
* fixed some minor mapping DTD bugs (Ben Sommerville)
* fixed auto-commit mode for SchemaUpdate
* added default-lazy to <hibernate-mapping>, which defaults to true!
* added fetch="join|select" and deprecated outer-join attribute
* fixed a bug where <custom-insert> was not used for entities with "identity" id
* fixed some problems with dynamic-class
* added property-level optimistic-lock attribute, to allow an unchecked property
* cascade lock() now cascades with LockMode.NONE
* fixed some bugs in filter handling (Steve Ebersole)
* added hibernate.transaction.flush_before_completion and
* added JSR-220 compliant create() and merge() operations
* cascade attribute is now multi-valued, with values save-
* index and unique-key attributes may now be multi-valued
* introduced unsaved-value="undefined", the default for "assigned" ids and
<composite-id>, which forces Hibernate to hit the db
* primitive typed <id> property mappings now default to unsaved-value="0"
* added ScrollMode
* added dialect for Derby (Simon Johnston)
* added MySQLMyISAMDialect and MySQLInnoDBDialect
* added precision and scale mapping attributes, for numeric types in DDL
* fixed a problem with duplicate column mappings on Sybase
* read-write cache now uses version numbers to ensure consistency with database, if
* native SQL queries may now fetch a collection role (Steve Ebersole)
* added sequential-select, optional and inverse attributes to <join/>
* added <properties> element, which can be the target of a property-ref
* fixed a bug relating to composite property-refs
* Hibernate now much more robust if user does not implement equals()/hashCode() on
id and unique key classes
* enabled batch deletes for versioned data
* fixed a minor bug in Session.close()
* removed uuid.string and renamed uuid.hex to plain uuid
* workaround for a MySQL bug in SchemaUpdate
* added JDBCException.getSQL() and made various improvements to exception flow
* createSQLQuery() now fully supports components
* fixed a bug in SQL generation for <joined-subclass> mappings
* fixed a bug where filter and query parameters could be bound in the wrong order
(Steve Ebersole)
* fixed a problem where quantifiers could not appear in SQL fragments
* fixed a bug with dynamic components
* fixed a bug where Dialect default properties overrode user-specified properties
(Ben Sommerville)
* fixed a bug where duplicate column name in a joined table caused an exception
* implemented two-phase load for dynamic components
* fixed a bug where cancelQuery() canceled a re-pooled statement
* deleted collections are now removed from session-level cache
* fixed a bug in LocaleType (Steve Ebersole)
* use "with rr" to obtain UPGRADE locks in DB2
* package attribute now significant for extends
* fixed a minor problem with Hibernate Clobs and Blobs
* extends attribute does no longer require specific ordering of mapping files

Changes in version 3.0 alpha (23.8.2004)

* package rename net.sf.hibernate -> org.hibernate
* checked exceptions are now runtime exceptions
* some session methods deprecated and moved to org.hibernate.classic.Session
* removed various deprecated functionality
* added Filter API and mappings, for temporal, regional and permissioned data
(Steve Ebersole, Gavin King)
* support cascade delete via ON DELETE CASCADE constraint
* added extra attributes to named query definition
* added hibernate.use_identifier_rollback
* added subselect mappings
* added lazy="true" to property mappings
* added <join/> for multitable mappings
* added <union-subclass/> for table-per-concrete-class strategy
* added Statistics API and JMX MBean (Gavin King, Emmanuel Bernard)
* introduced new event-driven design (Steve Ebersole)
* support for faster startup with Configuration.addCachableFile() (Joris Verschoor,
Max Andersen)
* mask connection password for log level greater of equals to info (Joris
Verschoor, Emmanuel Bernard)
* add check of named queries when building SessionFactory (Joris Verschoor,
Emmanuel Bernard)
* added custom EntityResolver setting capability (Emmanuel Ligne, Emmanuel Bernard)
* PropertyValueException for null values in not-null properties of components
(Emmanuel Bernard)
* enhanced support for single- and no-argument sql-functions in HQL select clause
(Michael Gloegl)
* Added catalog element, to enable table names like catalog.schema.table (Michael
* Added <sql-insert>, <sql-update> and <sql-delete> support (Max Andersen)
* Support callable statements (stored procedures/functions) via callable="true" on
custom sql (Max Andersen)
* Added support for type parameters and typedefs (Michael Gloegl)
* Added support for JDBC escape sequences in createSQLQuery (Max Andersen)
* Added statistics per SessionFactory (Gavin King, Emmanuel Bernard)
* Added a StatisticsService MBean for JMX publucation (Emmanuel Bernard)
* support for updates via rownum in Oracle
* fixed problems with SchemaUpdate
* support for <column formula="..."/>
* added hibernate.use_sql_comments
* added property-ref to collection <key/>
* fixed performance problems with <one-to-one property-ref=.../>
* enhanced UserType with new methods assemble()/disassemble()
* better algorithm for batch fetch batch sizes
* added <dynamic-class>
* added entity-name concept, and session methods save(entityName, object),
update(entityName, object), etc
* added framework in proxy package
* native SQL queries may now fetch a collection role
* added <loader/> for class and collection mappings
* added getEntity() and getEntityName() to Interceptor
* formula-based discriminators and association mappings
* added "guid" id generation strategy
* various improvements to dialects
* <discriminator force="true"/> now acts as a filter on collections
* where filters now apply in the on clause in an outer join
* added hibernate.jdbc.factory_class to select a custom batcher
* session now uses entity name + id to enforce uniqueness, instead of table name +

Changes in version 2.1.6 (9.8.2004)

* fixed Quickstart/readme.txt instructions
* fixed DB2/400 identity column support
* fixed the scroll() query method
* fixed exotic classloader problems with CGLIB
* added insert="false" for discriminator columns which are part of a composite
* added several new configuration settings to JMX HibernateService
* added new instantiate() method to SessionFactory.getClassMetadata()
* improved the HSQL DB dialect with features from new version
* added hibernate.jdbc.batch_versioned_data (Steve Ebersole)

Changes in version 2.1.4 (2.6.2004)

* improved Session serialization support by adding ability to serialize unflushed
sessions (Steve Ebersole)
* fixed Session.clear() functionality to clear the internal nonExists cache (Steve
* much better implementation of scroll() (Steve Ebersole)
* support "select new ..." for iterate() and scroll() (Steve Ebersole)
* added support for multi-parameter SQL functions (Steve Ebersole)
* fixed hbm2ddl generating infinite indexes on MySQL (Michael Gloegl)
* fixed alias precedence in HQL queries, function names are second (Steve Ebersole)
* added "transactional" as allowed cache concurrency strategy in XML configuration
* improved System.getProperties() with security exception warning in secure
* improved Proxool integration, better property handling
* fixed problem with use of getDefinedMethod() in secure environments (Ken Arnold)
* fixed bug in createSQLQuery() which prohibited multiple aliases for the same
entity (Max Andersen)
* fixed query cache misses when using named bind parameters (Michael Greer)
* recognize "left" and "right as keywords in SQL fragments
* recognize SQL quoted identifiers in SQL fragments
* improved identity handling on SQL Server by using scope_identity() for update
counts (Arthur Fitt)
* added DB2390Dialect for DB2/390 databases (Kristoffer Dyrkorn)
* fixed a bug in toArray() of identifier bag collections (Khachchou Mohammed)
* fixed a problem with DDL generation for serial columns in Informix
* fixed a problem with DDL generation for timestamp columns in Informix (Michael
* fixed a NPE that occurred calling saveOrUpdateCopy() for components
* fixed a bug with replicate() and uninitialized collections
* fixed a bug caching one-to-one associations
* fixed eviction from named query cache regions

Changes in version 2.1.3 (25.4.2004)

* added SELECT-clause SQL function support to main Dialects
* fixed a problem where some unnecessary selects where issued for optional one-to-
one associations
* fixed a bug in SQL generation for criteria queries with multiple one-to-many
* deprecated everything related to PersistentEnum
* fixed an NPE that occurred when using <one-to-one property-ref> with composite
* fixed a problem with JCA adaptor on WebLogic (Michael Gloegl)
* improved behavior when removing elements from <idbag>s
* fixed a bug in getGeneratedKeys() support (Michael Gloegl, Kevin Day)
* fixed a bug when using Criteria queries with collections of joined-subclasses
* fixed an NPE that occurred when calling comparator() on a lazy sorted set (Attila
* fixed a bug when using setMaxResults() with native SQL queries in some Dialects
* validate that composite id classes override hashCode() (Adrien)
* fixed some minor problems with saveOrUpdateCopy()
* fixed some problems in OSCache provider
* fixed an NPE that occurred when calling a lazy collection after evicting from
* fixed an NPE that occurred when select-before-update is used with unversioned
data (Patrick Peralta)
* fixed a bug where dynamic-components could not be queried (Massimo Ferrari)
* SQL formula parser now recognizes all Dialect-specific SQL functions (Anthony
* fixed a problem where SQL CASE statements could not appear in SQL formulas
* fixed a problem where subselects with joins could not appear in SQL formulas
* C3P0 and Proxool pools now cleaned up after SessionFactory.close()
* fixed a bug where dirty checking of mutable properties was broken after lock()
* fixed a minor bug where orphan delete was broken for newly saved instances
* added Query.setFetchSize() and Criteria.setFetchSize()
* PreparedStatement pooling in DBCPConnectionProvider can now be disabled (Emmanuel
* Query.setProperties(Object) now detects array and collection valued properties
and delegates to Query.setParameterList() (Max Andersen, Nick Heudecker)
* lengths of positional parameters and types arrays are now validated
* fixed an obscure problem where a PreparedStatement was not closed

Changes in version 2.1.2 (4.2.2004)

* added Session.isDirty()
* fixed a very obscure concurrency problem with read-write cache for inverse
* deprecated Criteria.returnMaps() / Criteria.returnRootEntities() in favor of new
ResultTransformer framework
* don't cache objects with dynamic-update="true" or <joined-subclass> mappings
immediately after insert/update
* added version checking to saveOrUpdateCopy()
* fixed constraint violations that occurred when mixing identity columns with other
id generation strategies
* added Sybase 11.9.2 dialect to support older versions of Sybase that do not
support ANSI joins (Colm O' Flaherty)
* added Informix9Dialect (Finn McCann and Max Andersen)
* added DB2400Dialect (Peter DeGregorio)
* fixed a problem where mapping validation failure was reported as duplicate import
(Michael Gloegl)
* fixed a problem with Expression.not() in MySQL (Michael Gloegl)
* added support for ResultSet.getGeneratedKeys() (David Morris, John Kristian)
* added check attribute to allow check constraints in DDL
* implicit polymorphism for Criteria queries (Shorn Tolley)
* use IF EXISTS for dropping hilo tables (Michael Gloegl)
* better exception report if deleted object is resaved by cascade
* support nested components in Example queries (Emmanuel Bernard)
* fixed a minor problem with onDelete() callbacks
* fixed an obscure problem with select-before-update
* added SunONETransactionManagerLookup (Robert Davidson)
* fixed a problem with replicate() and <joined-subclass> mappings
* made setParameterList() accept empty lists and deny null values (Max Andersen)
* validation check on query parameters now allows setParameter(x, null) (Max
* added default-access to DTD (Max Andersen)
* made Query.setParameterList() accept empty lists and deny null values (Max
* allow Query.setParameter(x, null) (Max Andersen)
* queries with "select new" now cacheable
* throw meaningful exception when lazy initialization occurs on disconnected
* added default-access to <hibernate-mapping> (Max Andersen)
* added -text support to SchemaUpdate (Max Andersen, Matt Hall)
* fixed broken implementation of embedded composite keys with createSQLQuery() (Max
* added hibernate.cache.use_minimal_puts config property to reduce unnecessary
second-level cache puts
* optimized performance of orphan delete detection (Bertrand Renuart)
* fixed problem where unnecessary UPDATE occurred after INSERT for versioned
objects with collections
* WebSphereTransactionManagerLookup for WAS 5.1 (Edina Pimp)
* Criteria queries now cacheable (Mario Ivankovits)
* fixed problem with ordered, paginated queries in DB2 (Tim Collins)
* fixed a bug caching <idbag>s
* lazy="true" collections are now lazy even when available in cache
* fixed a problem with version unsaved-value="negative"
* added hibernate.cache.region_prefix config property (William Drai)
* fixed problem where configuration input streams were not closed (Rajesh Patel)

Changes in version 2.1.1 (17.12.2003)

* added optional package attribute to <hibernate-mapping>
* added <meta-value> element to allow simpler <any> mapping
* native SQL queries are now cacheable - added <synchronize> element to allow
correct result set expiry
* fixed a bug in CGLIB2 integration (Chris Nockleberg)
* added NamingStrategy
* don't cache objects with formula properties immediately after insert/update
* log generated SQL to a special category
* type of property with access="field" may now be guessed using reflection

Changes in version 2.1 final (12.12.2003)

* fixed a problem with CGLIB2 proxies and method calls inside constructors
* fixed a bug running SchemaExportTask with mappings in jar files (Tom McCune)
* allow custom persister declaration for subclasses (Nick Johnson)
* fixed handling of sequences in SchemaUpdate on Oracle (Andrew Delpha)
* fixed a bug where Iterator did not handle single null values correctly
* detect and throw exception in the case of a duplicate property mapping
* don't auto-create indexes for collection foreign keys (roll back to 2.0.x)

Changes in version 2.1 rc1 (29.11.2003)

* long identifier and discriminator column names are now safely aliased (Max
* cleaned up mapping package to allow applications to manipulate metamodel
* fixed a recent bug where collection sort order was lost in second-level cache
* formula attribute now supported for joined-subclass mappings
* formula properties may now be used anywhere in queries
* dialect-specific query pagination for SQL Server
* fixed a bug where a long path expression ending in collection access by index
missed some tables in SQL FROM clause
* fixed a very ancient performance problem where null one-to-one associations
caused n+1 selects
* added Session.saveOrUpdateCopy()
* fixed some bugs in Example queries
* fixed some minor bugs in dialect-specific query pagination
* immutable entity passed to update() is now lock()ed instead
* reworked the semantics of nonstrict-read-write
* JCS cache support now deprecated
* fixed some obscure bugs in collection handling
* migrated to CGLIB2 (thanks to Chris Nockleberg)
* fixed bugs in replicate()
* fixed a bug affecting joined-subclass mappings with dynamic-update=true
* performance improvements to boolean type mappings (Bertrand Renuart)
* integrated JBoss TreeCache clustered cache (thanks to Bela Ban and Ben Wang)
* fixed a bug in new query parameter validation (Steve Ebersole)
* fixed a bug where <any> mappings caused unnecessary ObjectDeletedException at
flush time
* fixed a bug where associations with property-ref mappings were not properly
* throw PropertyValueException when not-null properties are null at flush time
* added unsaved-value attribute to version property mapping (Emmanuel Bernard)
* tolerate classnames containing $ (Steve Ebersole)

Changes in version 2.1 beta 6 (5.11.2003)

* added Session.cancelQuery()
* improvements to transaction handling for failed commit (thanks to Juergen
* added cascade="delete-orphan"
* fixed an exception that occurred when a property was declared not-null="true"
update="false" (thanks to John Kristian)
* support multiple named query cache regions (Mikheil Kapanadze)
* some improvements to collection reattachment
* fixed a bad bug with adds to an uninitialized bag or list
* removed support for <dynabean/> components
* added <dynamic-component/> mapping for properties of type Map
* fixed a bug where schema export generated index names that were too long for DB2
* allow per-region expiry policies in OSCache (Matthias Bogaert)
* fixed a stack overflow that could occur while initializing nonlazy collections
* fixed a bug in case-insensitive like for Example queries
* fixed a bug in ScrollableResults.setRowNumber() (Martin Priekopa)
* improvements to the cache concurrency strategies

Changes in version 2.1 beta 5 (30.10.2003)

* Support for custom CollectionPersister (Nick Johnson, Max Andersen)
* Support for named SQL queries (Max Andersen)
* duplicate named queries now throws MappingException instead of just logging
warning (Max Andersen)
* fixed problems with WebSphereTransactionManagerLookup (Ralf Taugerbeck, Daniel
* added support for custom collection persisters (thanks to Max Anderson, Nick
* fixed a performance problem during query compilation (Bulent Erdemir)
* composite keys now supported in createSQLQuery() (Max Andersen)
* fixed JCA adaptor to run in WebLogic (Daniel Bradby)
* integrated SwarmCache (Jason Carreira)
* integrated OSCache (Matthias Bogaert)
* fixed an NPE that could occur with lists and orphan delete
* allow nullable one-to-one with property-ref
* improved usage of Dialect-specific limit SQL
* fixed problem where non-lazy collections held by cached objects were not
immediately initialized
* fixed getReturnTypes() for native SQL queries (Max Andersen)
* fixed problems with Criterions that applied to multi-column properties
* check of rowcounts when JDBC batch updates enabled
* added named SQL queries using <sql-query> element (Max Andersen)
* added some extra validations so Hibernate fails earlier when user makes mistakes
* allow lazy="true" as an alternative to proxy="ClassName"
* removed dependency to commons-lang
* SchemaExport now creates indexes for collection foreign key columns if specified
by Dialect
* fixed a bug parsing named parameters in setParameterList()
* select new Foo(...) will now tolerate null values if the constructor accepts a
wrapper type
* fixed a problem detecting Proxool
* added logging of persistent object states during flush()
* allow "not null" as a discriminator value
* added "parameters" config param to "sequence" generator (Matthias Bogaert)

Changes in version 2.1 beta 4 (3.10.2003)

* fixed a bug where <any> mappings did not handle proxies correctly
* implemented new optimistic-lock strategies
* fixed several bugs in Criteria query API
* fixed a bug caching property-ref associations
* improvements to XML Databinder (Ara Abrahamian)
* added Session.replicate() and ReplicationMode
* added ScrollableResults.setRowNumber() / ScrollableResults.getRowNumber()
* added query cache and Query.setCacheable()
* added Criteria.returnMaps()
* fixed some problems with CGLIB proxies
* fixed an NPE that occurred when a joined-subclass of a versioned entity defined
only collections
* added the access attribute, direct field access and the PropertyAccessor
extension point
* added MatchMode for use with Criteria queries (thanks to Michael Gloegl)
* fixed a bug where some lazy="false" collections were not immediately initialized
* fixed problem with WebSphere 5 TransactionManager
* support schema attribute in MySQL, by using an underscore in the table name
(Chris Hane)
* now seperate Dialects for Interbase and Firebird (Reha Cenani, Max Andersen)
* removed built-in PreparedStatement cache
* added Session.getSessionFactory()
* fixed problem with native SQL queries and Query.setProperties() (Max Andersen)
* Query now fully validates parameters against the query string before passing them
to JDBC (Max Andersen)
* fixed an NPE in SessionFactory.close()
* fixed an NPE that occurred when using <idbag>s
* added SQL-level query results paging to DB2Dialect
* "foreign" id generator now handles detached instances

Changes in version 2.1 beta 3 (7.9.2003)

* added Example queries
* fixed an exception that occurred at startup with <key-many-to-one> and <joined-
* fixed a bug where composite-elements were not being updated if a property not in
the equals() was changed
* <parent> property of a composite-element may now be used in equals()
* named parameters may now be used in HQL order by clause
* null value of version property now indicates unsaved instance
* added select-before-update attribute
* two-phase loading now use for components
* better implementation of equals()/hashCode() for proxies
* added property-ref attribute to <many-to-one>
* renamed result() to uniqueResult()
* added Session.get()
* added HashtableCacheProvider
* JTA TransactionManager now used even when not using Hibernate Transaction API
* always bypass process-level cache for LockMode.READ

Changes in version 2.1 beta 2 (27.8.2003)

* <subclass> and <joined-subclass> may now appear outside of a <class> element, by
providing the extends attribute (Max Andersen)
* fixed an NPE at startup that was introduced in beta 1
* fixed a bug in Map.putAll()
* new pluggable cache API
- deprecated <jcs-cache> in favor of <cache>
- net.sf.hibernate.cache.CacheProvider settable via hibernate.cache.provider_class
* more aggressive caching
* added Hibernate.close(Iterator)
* Criteria queries may now include joins
- Criteria.addJoin()
- Criteria.createCriteria()
* hibernate.transaction.manager_lookup_class should now ALWAYS be specified in JTA
environment when using jcs caching
* fixed a bug caching <key-many-to-one>
* fixed bug where cached component did not get <parent> property populated
* added hibernate.max_fetch_depth property
* smarter outer-join fetching
* transient object may now be associated with session using Session.lock()
* added Query.result(), Criteria.result()

Changes in version 2.1 beta 1 (10.8.2003)

* batch-size attribute for collection and class mappings, to allow batch loading
* collections of "value types" (including composite-elements) may now appear in HQL
from clause
* more efficient loading of collections, and better handling of non-lazy
* added HQL index() function to allow access to collection element index
* added Session.createSQLQuery() (Max Andersen)
* added outer-join attribute to collection mappings
* Criteria.setFetchMode() now applies to collection-valued path expressions
* added property-ref attribute to <one-to-one>, enabling unique foreign key
* added hibernate.max_fetch_depth config property
* added hibernate.hbm2ddl.auto config property
* fixed a bug with combination of <jcs-cache> and <key-many-to-one>
* support for Dialect-specific SQL functions in HQL select clause (David Channon)
* added Session.clear()

Changes in version 2.0.2 (2.8.2003)

* subqueries may now use HAVING and GROUP BY clauses
* fixed a bug with setMaxResults(), setFirstResult() in HSQL (introduced in 2.0.1)
* fixed a bug in Set.removeAll()
* fixed a bug in SchemaUpdate (Mathias Bogaert)
* added weak typing functionality to ScrollableResults
* fixed a bug with "calendar" versioning in IBM JDK1.3.1 (workaround for JDK bug)
* fixed a bug in mapping DTD that caused a problem for hbm2java (Max Andersen)
* fixed a bug querying nested components
* SQL generation now prefers ANSI-style inner joins to theta inner joins
* fixed a bug caching collection references loaded using FETCH
* fixed a bug with composite foreign keys in normalized table mappings (Tom Sedge)
* limit support for Interbase (Ludovic Orban)
* added where attribute to <class> mappings
* added cascade="all-delete-orphan" for collection mappings
* fixed a bug binding named parameters with setMaxResults()/setFirstResults()
* fixed some minor bugs in HQL translator
* fixed a long-standing bug where a <key-many-to-one> could not be dereferenced in
* SQL UPDATEs now occur in a predictable order (same order as objects were loaded)
* support for SELECT ... FOR UPDATE in SAPDB
* fixed bug where Criteria queries against a subclass also returned superclass
* fixed a very rare bug where an update could get lost with normalized mappings
* fixed a problem with proxied class heirarchies rooted at an interface or abstract
* where and order-by attributes now allow SQL function calls and subselects
* added formula attribute to <property> tag, to allow "computed" properties
* fixed a bug where PreparedStatements were sometimes not closed when an exception
* workaround for a problem with <joined-subclass> and Interceptor.onFlushDirty()

Changes in version 2.0.1 (17.6.2003)

* fixed some problems with new dialect-specific LIMIT clauses
* improved parsing of collection where attribute
* made one-to-many bags more efficient (they are really sets!)
* allowed type="calendar" for <version> properties
* fixed a bug with locking a versioned composite-id class
* refresh() may now take a transient instance
* added ProxoolConnectionProvider (Martin Crawford)
* fixed some minor JCA issues (Mike Mosiewicz)
* fixed a bug with FETCH and sorted associations
* improved performance of SchemaUpdate tool (Teodor Danciu)
* fixed a bug in Configuration.addFile(String) (Ken Geis)
* tidied up and documented hbm2ddl package (esp. Ant tasks)
* deprecated CounterGenerator in favor of IncrementGenerator
* improved logging during initialization
* deprecated "vm" in favor of "increment" id generator

Changes in version 2.0 final (8.6.2003)

* added "fetch" keyword to HQL
* added evict() methods to SessionFactory for JVM-level cache
* destroy caches from SessionFactory.close()
* fixed an NPE in Session.evict() (Simon Spero)
* added Query.setLockMode()
* tidied up implementation of Loader
* release ResultSets more aggressively
* miscellaneous improvements to some Dialects
* hbm2java now honors the sort attribute (Max Andersen)
* added exceptions to Interceptor interface
* fixed problem with setMaxResults(), setFirstResult() in Oracle (introduced in
beta 6)
* fixed some SQL generation that was a problem for Sybase (Dietmar Posselt)
* fixed some problems with ODMG API (Oliver Gries)
* added JOTMTransactionManagerLookup (Low Heng Sin)
* added JOnASTransactionManagerLookup (?)
* fixed a bug in WeblogicTransactionManagerLookup (Mathias Bogaert)
* added Criteria.setFetchMode()
* added new Expressions
* much more elegant/robust handling of quoted identifiers
* renamed Hibernate.association() to Hibernate.entity()
* added dynamic-update and dynamic-insert mapping attributes
* fixed a bug with refresh() of objects with collections
* HQL aliases now optional - "from Cat" now legal
* platform-independant quoting of identifiers using backticks

Changes in version 2.0 beta 6 (10.5.2003)

* fixed a bug querying one-to-many associations to a <joined-subclass>
* added support for dialect-specific LIMIT-style clauses (David White)
* added <idbag>
* fixed bug in hashCode() of persistent collections
* <joined-subclass> now supported in HSQL (Wolfgang Jung)
* fixed problem for XML parsers which ignore default values declared in DTD
* <meta> tags can now be set to not be inheritable
* fixed bug in Expression.in()
* fixed an NPE that could occur from update() in very strange cases (Chris
* disabled outer-join back to owner when initializing one-to-many (performance
* fixed a bug in Query.setParameterList() (Nick Heudecker)
* improved JCA support (Igor Fedorenko)

Changes in version 2.0 beta 5 (21.4.2003)

* Informix support (Steve Molitor)
* fixed a bug parsing "select new ... " queries
* deprecated "object" type in favor of <any> mappings
* added Session.contains()
* added extra DBCP config options (Alex Burgel)
* SessionFactory.close() now unbinds from JNDI
* added Session.evict()
* got rid of an unnecessary SQL DELETE issued when an empty collection was
* where attribute of collection mappings no longer ignored for deletion
* improved logging
* support polymorphic associations to "embedded" composite id classes
* various bugfixes to collection filter parameter binding
* fixed some problems with proxies introduced in earlier beta versions
* fixed bug with self-reference in the case of identity column id generation
* added hibernate.cglib.use_reflection_optimizer property
* added nonstrict-read-write cache
* fixed an SQL-generation bug in new Criteria API
* added CompositeUserType
* sequence and table id generators now aware of default-schema
* added update and insert attributes to <component> element
* fixed a bug with expressions like elements(foo.bar.baz) in where clause
* more efficient Set initialization (two-phase load)
* removed support for hibernate.query.imports and added <import> mapping element
* fixed problem in DBCP connection validation and added new config properties
* hbm2java can now generate finder methods for persistent objects (experimental)
(Matt Hall)
* hbm2java small fixes/refactorings to support generating more than one file per
persistent object (Max Andersen)

Changes in version 2.0 beta 4 (22.3.2003)

* Major HQL improvements
- from "Foo as foo join foo.bars as bar" instead of "from foo in class Foo, bar in
- "select new Foo(bar.name, bar.amount) from ...."
- outer and full join support
* Query methods now return this, to allow chaining
* FrontBase support (Run Lussier)
* experimental JCA support (Daniel Bradby)
* hbm2java now can generate Beans style property events (Klaus Zimmermann)
* support SQL identifiers quoted with []
* fixed bug with PostgreSQL
* name attribute now optional in .cfg.xml
* support for postgres ilike operator (M Lang)
* squash warnings with GNU JAXP (Chris Nockleberg)
* fixed a bug in Query.setParameterList()
* Ingres support (Ian Booth)
* collections now detect changes not made via wrapper for newly saved objects
* new (experimental) Criteria + Expression APIs
* Query.setEntity(), etc, now aware of proxies (also improved hueristics for
guessing Type)
* added Hibernate.isInitialized()
* detect changes made directly to newly-wrapped collection (ie. not via the
* added Hibernate.refresh(Object, LockMode)
* update(), saveOrUpdate() no longer initialize a proxy
* fixed problems with Sybase
* added force attribute to <discriminator>
* improved handling of null discriminator-value
* support SQL-style '' escape for HQL strings

Changes in version 2.0 beta 3 (24.2.2003)

* collections now represent null elements as a missing row
* collections now deserialize correctly (fix for bug in beta 2)
* standardised on dom4j for XML parsing
* fixed bugs in collection caching (an exception occurred for some sorted
collections and some kinds of maps)
* allowed null discriminators
* set autocommit to true in SchemaUpdate
* fixed a stack overflow that could occur in toString() of classes created with
hbm2java (Max Andersen)
* fixed a bug where composite-element <parent> property was not being set after
retrieval from cache
* added where attribute to collection mappings to allow filtering
* fixed a exception that occurred when wrapping collections with
sort="MyComparator" (Jason Horne)
* objects with mutable="false" are now never updated
* fixed an exception that occurs with <key-many-to-one> association to a class with
a composite id (Stefano Travelli)
* added SchemaExport Ant task (Rong C Ou)
* integrated latest CGLIB release (Juozas Baliuka)
- added support for new CGLIB reflection optimizer (Juozas Baliuka)
* improved query cache algorithm (Who?)
* fixed a bug in "object" type
* Lists and arrays now represent null elements as a missing row
* fixed a bug in Hibernate PreparedStatement cache where maxRows and fetchSize were
not cleared before re-caching
* fixed a bug in HibernateService that caused a restart to fail
* added SybaseAnywhereDialect (?)
* added SessionFactory.close()

Changes in version 2.0 beta 2 (2.2.2003)

* property column names may now be of any length (Mark Woon)
* fixed problem where CodeGenerator created private get/set pairs (Max Andersen)
* fixed all silly bugs in Configuration.configure()
* efficient collection updates from Session.update()
* added <jcs-class-cache> and <jcs-collection-cache> elements to hibernate-
* support for normalized mappings for databases with DECODE instead of CASE (Simon
* added Oracle9Dialect
* added JRun4TransactionManagerLookup (Joseph Bissen)
* fixed JDBCException to keep reference to underlying SQLException
* fixed a bug loading many-to-many associations with a repeated column name
* fixed a bug in ShortType
* added IngresDialect (Ian Booth)
* added --config option to SchemaExport

Changed in version 2.0 beta 1 (28.1.2003)

* renamed packages to net.sf.hibernate.*
* all API methods now wrap SQLExceptions
* removed support for toplevel collections / subcollections
* created hibernate-mapping-2.0.dtd
- renamed 'readonly' attribute to 'inverse'
- renamed 'role' attribute to 'name'
- changed default value for 'unsaved-value' to "null"
- added mandatory 'name' attribute to <param>
- added <meta> tag
* created hibernate-configuration-2.0.dtd
* brand new Configuration API, including exposed mapping package
* completely reworked IdentifierGenerator framework
- built-in generators now auto-detect the type (so integer identity columns are
supported, for example)
- parameters are now named
- built-in strategies are renamed
* expanded Interceptor interface
* removed exceptions that occur if an object is saved or deleted multiple times in
a session
* added <parent> subelement to <composite-element> and <nested-composite-element>
* collections except for <bag>s now implement by-value equals() and hashCode()
* removed all deprecated methods
* added Session.refresh()
* added dynamic-update functionality
* added update and insert attributes to <property> and <many-to-one> mappings
* added elements(), indices(), size(), maxelement(), minelement(), maxindex(),
minindex() collection functions to query language
* huge improvements to CodeGenerator (Max Andersen)
* enhanced outerjoin fetching support in queries
* experimental support for DynaBeans as components

Changes in version 1.2.3 (28.1.2003)

* fixed a recently-introduced problem with Timestamp dirty checking
* added createClob(), createBlob() for streams (Benoit Menendez)
* SchemaUpdate now configures Dialect correctly (Michael Locher)
* update() now working for classes with embedded composite ids
* unsaved-value attribute now recognized for <composite-id>
* fixed a minor problem where a very specific kind of SQL select did not qualify a
column name
* added Query.getQueryString()
* fixed an NPE that sometimes occurred when hibernate.connection.username was not
* fixed a bug in SchemaExport where foreign key constraints did not use qualified
* added isFirst(), isLast() to ScrollableResults
* fixed bug finding properties inherited by mapped interfaces

Changes in version 1.2.1b (4.1.2003)

* fixed an NPE that occurred while loading Hibernate classes in IBM JVM
* arbitrary JNDI InitialContext properties may now be passed as hibernate.jndi.*
* fixed a problem where index column was not being nullified when an entity was
removed from a one-to-many

Changes in version 1.2.1 (31.12.2002)

* Changed the MySQL mapping of Hibernate "timestamp" to MySQL "DATETIME" (Matthias
* TransactionManagerLookup classes now define defaut UserTransaction JNDI names
* support for WebSphere 5 (Venkat Srinivasan)
* fixed a bug with query expressions of the form "foo.bar.id" for normalized
* experimental Blob/Clob support (thanks to Benoit Menendez and Mark Woon)
* improvements to SchemaUpdater (Benoit Menendez)
* deprecated suspendFlushes() / resumeFlushes() in favor of FlushMode
* deprecated IDGenerationException in favor of IdentifierGenerationException
* fixed a bug introduced in 1.2 final where cascade save-update was sometimes
ignored for readonly="true" bags
* fixed a bug caching null-valued one-to-one associations
* CodeGenerator now supports <bag> and <joined-subclass>
* fixed problem with TimestampType on DB2 (Jonas)
* fixed a bug in generated SQL for collections with <joined-subclass> mappings
(Robson Miranda)
* fixed a bug caching Maps (Benoit Menendez)
* SchemaExport now accepts a .jar file as a source of mappings
* hibernate.dbcp.validationQuery setting (Juozas Baliuka)
* hibernate.c3p0.validate setting
* added Query.setTimeout()
* setMaxResults() now behaves sensibly on SAPDB (Russel Smyth)
* added Query.setProperties() and Query.getNamedParameters(), fixed a bug in
* CodeGenerator now generates equals() and hashCode() for composite-id classes (and
toString() for all classes)
* CodeGenerator now includes superclass properties in subclass constructors (Max
* added Hibernate.custom()

Changes in version 1.2 final (7.12.2002)

* fixed a bug where uppercase IS NOT NULL, NOT IN, etc were not parsed correctly
* addition to readonly="true" bags now no longer requires collection initialization
* added ResinTransactionManagerLookup (Aapo Laakkonen)
* improved exception message when setting null to primitive type (Max Andersen)
* improved exception message for an unserializable identifier
* support for overloaded setter methods (patch by Alex Staubo)
* CodeGenerator support for <composite-element> (patch by Wolfgang Jung)

Changes in version 1.2 beta 4 (29.11.2002)

* fixed bugs in one-to-many associations to a <joined-subclass>
* LockMode class now properly serializable
* exceptions thrown by proxied objects are now propagated correctly (rather than
being wrapped)
* made Calendar types compilable in JDK1.2
* added --format and --delimiter options to SchemaExport (thanks to Richard Mixon)
* fix for problem with class with no properties + native id generation + MS SQL
Server contributed by Max Andersen
* fixed a BAD bug in Hibernate.configure() (thanks to Rob Stokes)
* CodeGenerator now recognizes <key-many-to-one> (patch by Wolfgang Jung)
* CodeGenerator now recognizes <version> and <timestamp> (patch by Max Andersen)

Changes in version 1.2 beta 3 (26.11.2002)

* fixed bug in UPDATE SQL generation for <joined-subclass> mapping strategy (fix by
Robson Miranda)
* support <composite-id> correctly in CodeGenerator (patch by Tom Cellucci)
* fixed an exception that occurred with short qualified tablenames
* added the polymorphism attribute to the <class> element
* allow "not between", "not in" in query language
* allow subqueries beginning with a from clause in query language
* query expressions like "not (foo.bar.baz=1)" now translated to "(bar.baz!=1 and
* support for PostgreSQL ~ operator (regular expression match)
* load(id, lockMode) now working for normalized table mappings
* now compiling properly under JDK1.2, 1.3 (fix by Tom Cellucci)
* support for subcollections in query language: foo.bars[2]['index'],
foo.bars[4].elements, foo.bars[0].size, etc.
* added calendar and calendar_date types
* find() queries may now return scalar values
* component-type properties may appear in a select clause
* ConnectionProviders now set isolation level before toggle autocommit
* Iterator.next() now throws NoSuchElementException as per Iterator contract (fix
by Alex Staubo)
* database reverse engineering GUI tool contributed by Tom Cellucci
* SchemaExport now generates column in mapping file order (rather than alphabetical
* <joined-subclass> mappings working on Oracle (?)

Changes in version 1.2 beta 2 (15.11.2002)

* support multi-argument SQL functions in queries
* reintroduced deprecated form of update() with slightly altered semantics
* fixed BAD problem in the generated SQL for certain queries
* added OrionTransactionManagerLookup

Changes in version 1.2 beta 1 (11.11.2002)

* Fixed a bad bug binding to JNDI with servers that use serialization in preference
to getReference()
* support for quoted SQL identifiers (patch by Jean-Francois Nadeau)
* Hibernate.initialize() allows the user to force initialization of a proxy or
persistent collection
* fix to minor bug in CodeGenerator by Max Andersen
* fixed a problem with outerjoin fetching of one-to-one associations defined on
* fixed a minor problem with proxies of classes that override finalize()
* finished work on normalized table mappings using <joined-subclass> declaration
(only for databases with ANSI OUTER JOIN and CASE)
* deprecated hibernate-mapping.dtd in favor of hibernate-mapping-1.1.dtd
* reworked unmapped class / interface / table-per-concrete-class query
functionality, fixing several problems
* removed deprecated methods
* deprecated findIdentifiers()
* fixed some problems with embedded composite identifiers
* fixed a bug cascading deletes to one-to-one associations
* CodeGenerator now generates isFoo() style getters for boolean properties (patch
by Aapo Laakkonen)
* components may now have a nonpublic constructor (patch by Jon Lipsky)
* changes / bugfixes to MapGenerator tool
* experimental SchemaUpdate tool contributed by Christoph Sturm

Changes in version 1.1.8 (30.10.2002)

* full support for composite keys in query language
* fixed bug where character type could not be null
* fixed bug parsing collection filters like: "group by this.date"
* fixed a bad bug where C3P0 properties were not always being used
* replaced hibernate.use_jdbc_batch with hibernate.jdbc.batch_size
* renamed some other properties to hibernate.jdbc.*
* made hibernate.show_sql settable from JMX (patch by Matas Veitas)
* added SessionFactory.getAllClassMetadata(), getAllCollectionMetadata (patch by
Max Andersen)
* allowed use of concrete-class proxies with inherited classes ie. <subclass
name="ConcreteClass" proxy="ConcreteClass">
* HibernateException extends Apache commons lang NestableException (patch by Max
* <parent> subelement of <component> allows a component to get a reference back to
owning entity
* Query.setParameterList() to bind lists of values to "in (:list)"
* Java constants may now be used in Queries
* serialization of an object graph now removes all initialized proxies
* several other improvements to proxy handling
* proxies may now be used in JDK 1.2

Changes in version 1.1.7 (25.10.2002)

* added Session.createFilter()
* fixed a bug parsing queries with properties of form idXXX (introduced in 1.1.6)
* fixed a bug parsing queries with the id property named in the select clause
(introduced in 1.1.6)
* fixed a bug dirty checking big_decimal (fix by Andrea Aime)

Changes in version 1.1.6 (24.10.2002)

* classes without subclasses may now declare themselves as their own proxy
* outer-join attribute now working for component properties and <many-to-many>
* outer-join="true" will now force outerjoin loading for an association even if
associated class has a proxy
* enabled oracle-style outerjoins for SAP DB
* version properties may now be long or short (previously always integer)
* discriminators may now be boolean type
* fixed the foo.bar.id.baz syntax for queries doing composite-key joins
* fixed an NPE that occurred when no Dialect was specified
* CodeGenerator now fully proxy-aware (patch by Max Andersen)
* removed dependency upon trove4j

Changes in version 1.1.5b (20.10.2002)

* fixed an NPE that occurred on JMX startup
* smarter fetching for one-to-one associations

Changes in version 1.1.5 (19.10.2002)

* added built-in currency and timezone types
* hibernate-mapping-1.1.dtd
- added <index-many-to-many> and <composite-index> subelements of <map>
- added <key-property> and <key-many-to-one>
- renamed "save/update" to "save-update"
- tightened up the dtd (now using enumerated attribute types)
* enabled multi-column map indexes (ie. key of a Map)
* composited-id may now include a many-to-one association
* improvements to Databinder contributed by Brad Clow
* fixed bugs in minIndex, maxIndex, minElement, maxElement
* fixed a problem with JTATransaction in a JBoss BMT bean
* added addMapResource() to the MBean
* minor improvements to Configuration
* more accurate cache entry timestamping to increase the likelihood of cache hits
* JCS cache may now be used with JTATransaction in WebSphere, Weblogic, JBoss
(thanks to Matt Baird)
* improvements to CodeGenerator contributed by Andrea Aime
* stopped a TransientObjectException that was being thrown when it shouldn't be
* re-enabled primary key export for tables of sets with not-null elements
* hibernate.statement.fetch_size configuration contributed by Matas Veitas
* added Interceptor application callback interface
* added metadata package to expose persistence metadata to the application
* changed filter() argument type from Collection to Object to allow filtering of
arrays and Maps
* added <column> index attribute to allow table indexes to be specified in mapping
* implemented support for queries against interfaces and abstract superclasses

Changes in version 1.1.4b (4.10.2002)

* fixed problems for JDK1.2 (thanks to Chris Webb)

Changes in version 1.1.4 (4.10.2002)

* New locking API
* disabled 2-phase load for objects contained in Sets (because they should be
initialized before equals() or hashCode() is called)
* fixed a bug where non-serializable cache entries could not be cached by JCS
auxiliary cache
* fixed a bug in dirty checking PersistentEnums
* deprecated getID() in favor of getIdentifier() (for mainly cosmetic reasons)
* HibernateService may now be subclassed to obtain mapping files by some other
mechanism (patch by Chris Winters)

Changes in version 1.1.3 (1.10.2002)

* new 2-phase loading process (replaces complicated "deferred" loading process)
* new ScrollableResults interface for efficiently navigating Query results
* removed deprecated interfaces
* created engine package to hold "internal" APIs (ie. the external contract of the
impl package)
* fixed bug where a component defined before all collections in the mapping file
caused collections to not be persisted (thanks to Michael Link)
* fixed a bug where cascaded saveOrUpdate was ignoring the unsaved-value setting
* faster Timestamp dirty checking

Changes in version 1.1.2 (29.9.2002)

* added persister attibute of class mapping to support custom persistence
* Support for Oracle outerjoins contributed by Jon Lipsky
* Reworked versioning, fixing bugs (and tightening tests)
* Fixed a bug where an ObjectNotFoundException was thrown for null one-to-one
* fixed problems with timestamps introduced in 1.1.1
* added batch file for running demo

Changes in version 1.1.1 (27.9.2002)

* Major refactoring / abstraction of persistence logic
* added maxIndex, minIndex, maxElement, minElement properties for collections
* added support for class names in where clause of queries
* fixed a bug where an association could become null after caching
* fixed a bug where an NPE could occur for a null component
* fixed minor bugs in SortedMap, SortedSet
* object type is now cacheable
* added big_integer type
* improved dirty checking for timestamp type

Changes in version 1.1.0 (22.9.2002)

* implemented collection indexing with [] in query language
* fixed some minor query-language bugs

Changes in version 1.1 beta 14 (19.9.2002)

* bags now implement java.util.List
* delete() may now take a transient object
* bug where sorted collections were not being sorted fixed by Brad Clow
* fixed a bug in many-to-many association filtering
* no longer try to query connection metadata when using user-supplied connections
* added hibernate.use_scrollable_resultsets for user-supplied connections
* fixed a problem where sublists were not being proxied
* fixed a problem where Hibernate could not call methods of package-visibility
* removed obsolete select attribute from MapGenerator
* multiple occurrences of same path in a query no longer require multiple joins
* added WrongClassException

Changes in version 1.1 beta 13 (15.9.2002)

* added constants to Lifecycle interface
* fix for circular cascade="save/update"
* fixed a bug in cascaded update introduced in version 1.1 beta 11
* added object type

Changes in version 1.1 beta 12 (14.9.2002)

* Session.filter() for applying a filter query to collections
* experimental ODMG API (OQL features are not yet compliant)
* new DBCPConnectionProvider for Apache commons-dbcp connection pool
* Session.lock() now does version number check even on databases with no FOR UPDATE
* introduced new cascade styles: cascade="save/update", cascade="delete"
* added default-cascade attribute
* foreign key columns lengths now automatically set to primary key column lengths
for SchemaExport
* added error checking of row update counts when batching disabled
* major improvements to ProxyGenerator tool
* CodeGenerator now aware of proxy attribute
* integrated PointbaseDialect contributed by Ed Mackenzie
* fix for problem where Proxies were being initialized on identifier access by
Christoph Sturm

Changes in version 1.1 beta 11 (7.9.2002)

* deprecated update() in favor of saveOrUpdate() and introduced unsaved-value
attribute of <id>
* children mapped with cascade="all" are now always saved/updated even without a
call to update(parent)
* support for composite-id classes where the composite id consists of properties of
the persistent class
* added constrained attribute to <one-to-one> element
* added Validatable interface
* renamed several config properties (Hibernate issues log warnings for obsolete
property usage)
* arbitrary JDBC connection properties may now be passed using
* fixed a classloading bug in C3P0ConnectionProvider (introduced in 1.1 beta 10)
* CodeGenerator may now take multiple mapping files on the commandline

Changes in version 1.1 beta 10 (28.8.2002)

* fixed a bug that occurred when calling Session.update() for an object with no
* changed class loading to use the context classloader first
* introduced <timestamp> as an alternative to <version>
* added Query.getReturnTypes()
* fixed a bug with composite-elements introduced in 1.1 beta 7
* save() may now be used to persist classes with composite-ids
* improved handling of nanoseconds values in Timestamps
* support for composite id properties + objects in select clause of iterate()
* beefed-up collection tests
Changes in version 1.1 beta 9 (26.8.2002)
* fixed a bug introduced in 1.1 beta 8 that could cause an NPE after deserializing
a session with proxies
* deprecated insert() in favor of more flexible save()
* deprecated IDGenerator in favor of new IdentifierGenerator interface
* "assigned" id generator now returns the existing value of the id property instead
of throwing an Exception
* fixed a problem where PreparedStatements were not being recached after retrieving
a natively generated id

Changes in version 1.1 beta 8 (25.8.2002)

* fixed a bug introduced in 1.1 beta 6 where an updated element of an indexed one-
to-many collection caused an SQLException
* uninitialized collections passed to update() may now be initialized in the new
* uninitialized proxies passed to update() may now be initialized in the new

Changes in version 1.1 beta 7 (23.8.2002)

* fixed a bug where Hibernate was not returning statements to the cache when batch
updates were disabled
* fixed a bad bug parsing mappings with toplevel one-to-many associations
* fixed a bug with versioning and subcollections
* reworked Set updates again for much improved efficiency
* schema export now creates primary keys for indexed collection tables
* minor refactor to Type hierarchy
* improved some user-error detection
* fixed foreign key constraint creation for MySQL with Innodb tables

Changes in version 1.1 beta 6b (20.8.2002)

* Fixed a problem updating Sets
* added <bag> mapping for java.util.Collection

Changes in version 1.1 beta 6 (20.8.2002)

* completely reworked fetching code
- one-to-many associations now always fetched in a single select
- many-to-many associations fetched in a single select when outerjoin fetching is
- this includes nested outerjoin fetching of the associated class!
- outerjoin fetching for <many-to-one> nested inside <component> or <composite-
- code refactored to be cleaner and faster
* removed unnecessary order by clause in List and array fetching SQL
* collections now individually update, insert and delete only rows that changed
(thanks to Doug Currie)
* fixed a problem where exceptions were being wrapped in a
LazyInitializationException for non-lazy collections
* added order-by attribute to <set> and <map> to specify a table column as defining
the iteration order (JDK1.4 only)
* improved error detection in Session.update()
* further usage of JDBC2 batch updates
* some fine-tuning of JDBC2 feature usage configuration
* CodeGenerator will now generate components and arrays
* fixed problem where CodeGenerator could not generate classes in the default
* improved logging of flush() activity
* renamed property hibernate.use_jdbc2 to hibernate.use_jdbc_batch

Changes in version 1.1 beta 5 (13.8.2002)

* hibernate.query.imports property to allow use of unqualified classnames in
* fixed a bug in collection flushing that was introduced in 1.1 beta 4

Changes in version 1.1 beta 4 (11.8.2002)

* JMX integration (thanks to John Urberg)
* "having" clause in query language

Changes in version 1.1 beta 3 (10.8.2002)

* removed the select="all" attribute for <class> mappings - "select distinct" now
specified in the hibernate query
* system properties now override hibernate.properties
* Session now flushes changes even less often (only when actual updates to the
queried table(s) are waiting)
* fixed a *very* rare problem where an unnecessary update could be accidently
issued before a delete

Changes in version 1.1 beta 2 (6.8.2002)

* fixed a bug exporting schemas with identity columns
* implemented factory-level caching of collections
* Datastore.storeJar() contributed by Christian Meunier
* added <mapping jar="jarfile"> to hibernate.cfg.xml

Changes in version 1.1 beta 1 (4.8.2002)

* new Query API including named parameters, pageable results
* subqueries in Hibernate queries (only for databases that support subselects)
* new DocBook documentation (contributed by Christian Bauer)
* support collections .elements, .indices inside select clause (even in aggregate
* don't load collections before removal unless absolutely necessary
* mutable="false" attribute in <class> element to map immutable classes
* use JDBC batch to insert collection elements if hibernate.use_jdbc2 is set
* brand new PreparedStatementCache
* improvements to MYSQL dialect for long datatypes
* always check isAccessible() before setAccessible(true)
* removed extra unnecessary table join in queries with one-to-many association
* removed ugly "WHERE 1=1" from generated SQL
* fixed exception mapping a class with no properties (fix by Rob Stokes)
* logging enhancements including SQLException logging
* reworked factory-level cache and integrated JCS support (thanks to Christian
* fixed a bug with circular references in cached data
* removed blocking cache support
* now rendering outerjoins as "LEFT OUTER JOIN" because "LEFT JOIN" caused problems
for some Sybase versions
* added default Hibernate properties to Dialects
* native id generation now falls back to sequence id generation when identity
columns not supported by the dialect
* fixed some problems with native id generation under HSQL
* may now use Session.insert() even when using native id generation

Changes in version 1.0.1b (18.7.2002)

* fixed a bad bug in query parser when hibernate.query.substitutions was unset
* much improved build.xml Ant script
* latest c3p0.jar

Changes in version 1.0.1 (17.7.2002)

* enabled use of scalar values and aggregate SQL functions in select clause of
iterate() queries
* fixed bug in JNDI lookup for SessionFactory
* changed ordering of SQL inserts/deletes for child collections of a cascade-
enabled association
- better behaviour for some not-null constraints
- performance optimization for bidirectional many-to-one associations
* added hibernate.query.substitutions property to allow named query constants (eg.
translate 'true' to '1')
* added locale type for java.util.Locale
* added sequence hi/lo generator (seqhilo.long)
* fixed bug where load(), onLoad() callbacks were sometimes called at wrong time
* fixed an exception (fix by Eric Everman) and improved identifier searching in
MapGenerator tool
* refactored SerializableType
* extra logging + error handling
* documentation enhancements

Changes in version 0.9.17 (3.7.2002)

* Added UserType interface
* documented Lifecycle
* added some new trace messages to log
* bugfix to allow SQL functions like upper(), lower(), etc to work on all platforms
* documented SAP DB support (dialect contributed by Brad Clow)
* foreign key constraint export for SAP DB
* map index may be the composite-id of the element class (contributed by Jon
* fixes to CodeGenerator tool (contributed by Uros Jurglic)

Changes in version 0.9.16 (19.6.2002)

* fixed bug cacheing objects with references to themselves
* support for composite ids of classes with no id property
* may now disable outer join (deep) fetching for an association by setting outer-
* enabled outer join fetching for one-to-one
* fixed a bug for mappings that specify class attribute of <one-to-many>
* fixed a bug where Hashbelt did not expire cached data in a timely fashion
* fixed a mistake in the mapping DTD
* new user-error check in update()

Changes in version 0.9.15 (15.6.2002)

* one-to-one associations
* support for "tricky" mappings in SchemaExport tool (multiple properties to one
column, etc)
* Transaction API contributed by Anton van Straaten
* SessionFactory may be bound to JNDI name by setting
* Sessions are now Serializable!
* added Session.findIdentifiers() query methods
* new Lifecycle interface to replace deprecated PersistentLifecycle
* fixed problem where session did not autoflush on iterate() queries
* performance enhancements to collection dirty checking
* added Hibernate.configure() and configuration file format
* removed some deprecated methods
* refactored Type hierarchy
* query language identifiers now case sensitive (bugfix for case sensitive SQL
* username/password now optional for datasource (contributed by Emmanuel Bourg)
* much improved API documentation
* binary types now saved using streams if hibernate.use_streams_for_binary=true
(contributed by Jon Lipsky)
* MySQL Strings now mapped to TEXT columns if length > 255 (contributed by
Christoph Beck)

Changes in version 0.9.14 (4.6.2002)

* lifecycle objects - properties now have a cascade attribute to cascade save,
update, delete
* composite id properties may now be used in queries eg. foo.id.bar (contributed by
Jon Lipsky)
* slightly changed semantics of update() so it now also save()s new transient
* Session now flushes() itself less often before query execution (performance
* fixed problem where Session.save() returned null instead of the natively
generated id
* fixed bug with object identity for cached classes
* fixed bug where delete(x) could not be called after update(x)
* MUCH improved Exception hierarchy
* deprecated create()
* added sql-type attribute to <column> tag to allow user to override default type
* deeper fetching with use_outer_join
* new ConnectionProvider framework
* fixed a bug where blocking cache could return stale data
* now working again in JDK1.2.2
* fixed problem with not-null associations + native key generation
* minor changes to PersistentLifecycle interface
* initial, minimal version of new Transaction mechanism
* MUCH improved documentation

Changes in version 0.9.13 (25.5.2002)

* Datastore.storeResource() to load mapping files from classpath
* fixed a problem executing under JDK1.3 when compiled from JDK1.4
* documentation improvements

Changes in version 0.9.12 (24.5.2002)

* Session.update() methods to update a persistent instance from transient copy (as
requested by many users)
* discriminator column name, type, length, etc now configurable by <discriminator>
tag in mapping file
* discriminator column values configurable by discriminator-value attribute of
<class> and <subclass> tags
* added Session.insert(object, id) for classes with no identifier property
* fixed another bad bug with connection handling (fix by Anton van Straaten)
* fixed a problem with deferred loading
* fixed a problem with sorted collections (fix by Anton van Straaten)
* nested collections of objects now require 2 SQL SELECTs to load, rather than
* session is NO LONGER atomic - application should discard session when exception
* fixed problem where character type was mapped to VARCHAR column
* arrays of proxies now possible by using new element-class attribute of <array>
* fixed various problems with proxies
* added proxy generation tool
* proxy unit tests
* replaced two RuntimeExceptions with checked exceptions
* made hibernate.username/hibernate.password optional for DriverManager
* CodeGenerator now supports all hibernate basic types
* much improved caching algorithm for compiled queries
* may now specify properties simply by placing hibernate.properties in classpath
* documentation improvements + fixes
* --abstract switch to MapGenerator (contributed by Eric Everman)

Changes in version 0.9.11 (12.5.2002)

* fixed major bug with connection handling (fix by Anton van Straaten)

Changes in version 0.9.10 (11.5.2002)

* set a default schema name using SessionFactory property hibernate.default_schema
* code generator tool contributed by Brad Clow (www.workingmouse.com)
* lazy object initialization under JDK 1.3 and above
* fixed some error messages to go to logging framework, not stdout
* new system property hibernate.show_sql=true logs all executed SQL to stdout
* integration of bugfixes in c3p0
* wrap IllegalArgumentExceptions in HibernateExceptions
* added ObjectNotFoundException and StaleObjectStateException
* fixed a bug when using schemas
* new caching strategy (and documented cache feature)

Changes in version 0.9.9 (25.4.2002)

* sorted sets and maps (thanks to Doug Currie)
* mapping files may now be loaded using getResourceAsStream() (thanks to Markus
* hibernate messages now logged by Apache commons-logging
* default hi/lo generator table now has column named "next_id", instead of "next"
* query language may now refer to identifier property name (eg. foo.fooKey as
alternative to foo.id)
* hibernate.jndi_class, hibernate.jndi_url now optional when using datasource
* hibernate now throws an exception if you try to persist an object with a
reference to a transient object
* improved connection pooling algorithm (hibernate.pool_size limits pooled
* very experimental integration of c3p0 JDBC connection pool
* now compiles under JDK 1.2.2
* fixed bug persisting null components
* fixed bug where cached prepared statements were not cleaned up after disconnect()
* fixed a null pointer exception in MappingByReflection

Changes in version 0.9.8 (13.3.2002)

* supports database native key generation in Sybase, MS SQL, MySQL, DB2, Hypersonic
(contributed by Christoph Sturm)
* supports Mckoi (dialect contributed by Doug Currie)
* supports Progress (dialect contributed by Phillip Baird)
* added exceptions to catch Session reentrancy from PersistentLifecycle.load() +
* experimental cross-transaction cache
* Session.lock() and Session.loadWithLock() for pessimistic locking
* HiLoGenerators may now use their own DriverManager connection properties + may
now use same table across diff mapping files
* Session.flush(), Session.close() and Session.connection() replace
Session.commit(), Session.cancel()
* Session.disconnect() and Session.reconnect() for long transactions
* added single JVM id generators vm.long, vm.hex
* added unique column constraints to mappings
* extensions to IDGenerator framework
* support sequence-style ID generation in Oracle, PostgreSQL, DB2, Interbase

* fixed problem where subcollections of a collection that changed roles would be

* changed class loading strategy to be compatible with JBoss
* stopped queries retrieving unnecessary columns
* mutable types (binary + serializable) now always detected as dirty

Changes in version 0.9.7 (26.2.2002)

* save() now safe from foreign key violations (so create() is no longer preferred
method of adding data)
* delete() now completely safe from foreign key violations - it no longer matters
what order objects are deleted in
* removed Session.copy()
* hilo generators now NOT for use with application server datasources

* fixed two intermittent bugs in queries

* fixed a problem where components not detected as dirty
* fixed broken hilo generator which was not updating database
* fixed a minor bug when hibernate.use_outer_join was set

Changes in version 0.9.6 (24.2.2002)

* experimental XML generation
* added support for bi-directional associations (one-to-set, set-to-set) with <set
readonly="true"> config
* reflective generation of mappings tool was contributed by Doug Currie
* Session operations now atomic, so exceptions are recoverable
* made ID properties optional in persistent classes
* support for multiple schemas through schema attribute of <hibernate-mapping>,
<class>, <set>, <map>, etc.
* auto-creation of tables for hilo id generators (restriction: cannot use same
table from more than one mapping file)
* added some more assertions to catch user "mistakes" like deleting transient or
saving persistent objects

* major rework of collections and fixed some bad bugs

* lazy initialization re-enabled for one-to-many associations (thanks to Georg
* fixed a problem in the mapping DTD to allow nested components in collections
* fixed a BAD bug in RelationalDatabaseSession when loading objects with
PersistentLifecycle callbacks (thanks to Paul Szego)
* fixed problems with quoted strings in query language
* fixed a bug where a stack overflow occurred instead of HibernateException thrown
(thanks to Georg Schneemayer)
* fixed a bug deleting updated versioned data
* fixed some problems with name generation for indexes + foreign keys
* fixed problem in Sun JDK 1.4 (only?) where IllegalArgumentException was not
* minor improvements to handling of dates and times
* HiLoGenerator now safe for all transaction isolation levels + safe when rollback
* noticed and fixed obscure piece of nonthreadsafe code outside of core persistence
* removed unnecessary drop constraints for some dialects

* MUCH more comprehensive test suite

* changed some terminology used in documentation

* added javadoc for API classes
* commented the mapping DTD

Changes in version 0.9.5 (8.2.2002)

* supports HypersonicSQL (dialect contributed by Phillip Baird)
* supports Microsoft SQL server (with third party JDBC driver)
* proper command-line tool for schema generation and export
* deprecated the interface cirrus.hibernate.Persistent (due to popular demand)
* changes to hibernate-mapping DTD (required to support optional Persistent
- deprecated <property type="package.PersistentClassName"/> in favor of <many-to-
one class="package.PersistentClassName"/>
- deprecated <element type="package.PersistentClassName"/> in favor of <many-to-
many class="package.PersistentClassName"/>
- deprecated <property role="..."/> in favor of <collection role="..."/>
- deprecated <element role=".."/> in favor of <subcollection role="..."/>
- deprecated <association> in favor of <one-to-many>
* class attribute optional in <component> and <composite-id> tags (determined by
* querying components of components now supported
* one-shot table creation (no use of unportable "alter table")
* time dataype support
* reflective mappings of java.sql.Time, java.sql.Timestamp, java.sql.Date
* fixed error msg thrown when class is missing a method but has a superclass
* property names now conform to JavaBean spec ("foo" instead of "Foo"). Note that
"Foo" still works
* constructors of persistent classes may now be non-public
* collection indexes now mapped to not-null columns
* fixed obscure bug with querying collections inside components of components
* fixed potential bug related to cacheing of compiled queries
* major rewrite of code relating to O-R mappings
* Session.copy() and Session.equals() as convenience for users
* fixed repeated invocations of hasNext() on iterator + wrappedIterators now always
work with distinct SQL resultsets
* McKoi dialect was contributed by Gabe Hicks
Changes in version 0.9.4 (29.1.2002)
* fixed BAD bug where XML parsing would not work for parsers other than Xerces -
thanks to Christian Winkler
* added some more assertions to catch user "mistakes" like changing ids or reusing
existing ids

Changes in version 0.9.3 (27.1.2002)

* repackaged (corrupted DatasourceConnectionProvider.class)
* better exception reporting using datasource
* added Datastore.storeClass() which looks for mapping file in classpath (class
foo.Bar -> foo/Bar.hbm.xml)
* improved documentation

Changes in version 0.9.2 (25.1.2002)

* iterate over query results (lazy instantiation of query results)
* added "select foo, bar" style queries returning multiple objects per row
* delete by query
* composite key support
* outer joins for faster (?) loading of associated objects ( set
"hibernate.use_outer_join" to "true" )
* connection pooling when using DriverManager
* foreign key constraint from unkeyed collection table to owner entity table
* improved drop tables script execution (still not infallible)
* added <composite-element> tag
* added not-null properties and elements
* added an optimisation for dates and components
* made some XML attributes optional
* fixed errors in documentation + documented some extra features
* bugfix: store() not getting called on lifecycle interface
* bugfix: schema generation for indexed associations
* added many tests

Changes in version 0.9.1 (20.1.2002)

Too many to list

version 0.8.1
Initial alpha version