DATAJPA-627 - Typo in BeanDefinitionNames.

Fixed bean name of jpaMa{ppp->pp}ingContext.

Original pull request: #117.
DATAJPA-630 - Add IdentifierAccessor implementation that avoids proxy resolution for id lookups.

We now customize the IdentifierAccessor returned from JpaPersistentEntity.getIdentifierAccessor(…) to allow the identifier lookup use persistence provider specific means. This is needed to make sure we lookup identifiers for proxies correctly for which a field value lookup would not succeed (as the providers do not pre-populate the identifier field).
DATAJPA-622 - AbstractPersistable.isNew() is now annotated with @Transient.

We now mark AbstractPersistable.isNew() property as @Transient for JPA in order to make sure that no JPA provider complains about a missing setter in case a user derives a domain entity from AbstractPersistable. Without this it isn't possible to bootstrap a PersistenceContext.

Original pull request: #115.
DATAJPA-622 - Polishing.

Renamed CustomAbstractPersistableIntergrationTests to AbstractPersistableIntergrationTests. Reordered declarations in persistence(2).xml to make sure we retain alphabetic sorting.

Original pull request: #115.
DATAJPA-628 - Use a shared SpelParser instead of recreating it.

We now use a shared SpelExpressionParser and propagate this through the String-based JpaRepositoryQuery implementations to avoid reinstantiations.

Cleaned up ParameterBinder inheritance hierarchy by merging (and removing) ExpressionAwareParameterBinder into SpelExpressionStringQueryParameterBinder.

Original pull request: #121.
DATAJPA-628 - Polishing.

Made central SpelExpressionParser static.

Original pull request: #121.
DATAJPA-606 - SQLGrammarException for IN Query with emtpy parameters.

Prepare issue brach.
DATAJPA-606 - Improve handling of empty arrays and collections in query parameters.

We now replace an empty collection or array with null as surrogate value.
This allows empty collections / arrays to be passed to repository methods.
This works with Hibernate EntityManager as well as EclipseLink. OpenJPA doesn't support using null values as surrogates for empty collections yet.

I filed https://issues.apache.org/jira/browse/OPENJPA-2544 to track this.

Original pull request: #123.
DATAJPA-606 - Improve handling of empty arrays and collections in query parameters.

Introduced potentiallyConvertEmptyCollection method to PersistenceProvider for provider specific handling of empty collections. Special handling is performed for Hibernate and EclipseLink. Conversion is performed in ParameterMetadata.prepare(..). Renamed ParameterMetadataProvider.accessor to bindableParameterValues.