Upgrade to Hamcrest 1.3.0.
DATAJPA-268 - LockModePopulatingMethodInterceptor cleans up resources correctly.

LockModePopulatingMethodInterceptor now safely unbinds the LockModeMetadata after the target method invocation completes.
DATAJPA-254 - Upgrade dependency to Spring Data Commons in 1.5.0.BUILD-SNAPSHOT.
DATAJPA-254 - Upgrade to Spring 3.1.3.RELEASE.
DATAJPA-271 - Switched to Logback for test logging.
DATAJPA-116 - Improved implementation to support annotation-based auditing.

Re-engineered our auditing setup to leverage the APIs introduced from DATACMNS-137.
DATAJPA-272 - Polished logging setup to reduce noise in test cases.
DATAJPA-274 - Introduce JPA Metamodel based MappingContext implementation.

Implemented rudimentary MappingContext to expose a JpaPersistentEntity through RepositoryFactoryInformation.
DATACMNS-263 - Upgraded to OpenWebbeans 1.1.7 for testing.
DATAJPA-282 - Polished JavaDoc.
DATAJPA-283 - Support accessor method level mapping annotations.

Upgraded to use new methods introduced for DATACMNS-269 to be able to detect mapping annotations independently of whether they are declared on the field or an accessor method for the property. Upgraded to new artifactId Spring Data Commons is distributed under.
DATAJPA-284 - Added @OneToOne as annotation to be considered an association.
DATAJPA-285 - Upgraded pom.xml to use new build infrastructure.
DATAJPA-277 - Specification execution with sorting now uses left joins where necessary.

When applying sorting options to a Specification based query we have to make sure to apply left joins where necessary as we otherwise exclude results with null associations. Applying the sort options does an enhanced inspection of the target path and declares a left join instead of a get if the path logically points to an entity. The Metamodel API is not without caveats here, see http://bit.ly/10geC02.
DATAJPA-286 - Added test infrastructure for plain JPA tests.

Added integration tests in org.springframework.data.jpa.infrastructure that will not be included in the normal test execution as they are purely means to quickly identify potential differences in persistence provider implementations.
DATAJPA-280 - Added null guards to AuditingHandler access.

In case the AuditingEntityListener is declared globally and <jpa:auditing /> is not activated the listener is considered by the JPA infrastructure but not configured correctly. In particular no AuditingHandler gets injected which leads to NullPointerExceptions every time an entity is persisted. Added checks for null to the access and skip it if no AuditingHandler is present.
DATAJPA-285 - Refer to deployment repository to get unfiltered pom.xml.
DATAJPA-286 - Removed plugin configuration redundancy.

Cleaned up duplicate Surefire configuration from pom.xml.
DATAJPA-287 - Count query execution now considers distinct flag of query.

If the implementation of a Specification sets the distinct flag, we now create a count query that is honoring the distinct flag as well.
DATAJPA-288 - Separate test execution for different persistence providers.

Re-enabled more integration tests integration tests.