Permalink
Commits on Jun 15, 2016
Commits on Jun 8, 2016
  1. DATAJPA-904 - Guard against null values from JPA's ManagedType.getJav…

    …aType().
    
    Some persistence providers (Hibernate *cough*) return null for a ManagedType's JavaType, which we perviously didn't expect in the implementation of JpaPersistentPropertyImpl.isEntity().
    
    We now eagerly extract all managed types from the Metamodel and gracefully skip nulls so that we don't have to look up the types repeatedly.
    olivergierke committed Jun 8, 2016
Commits on Jun 7, 2016
  1. DATAJPA-885 - Make sure manually defined queries returning domain typ…

    …e don't use tuples.
    
    We now check manually defined queries for whether the projection is equal to the used alias and don't use a Tuple query in this case. This allows the manually defined queries to still define the projections manually but also the returned objects be wrapped with projection interfaces easily.
    olivergierke committed Jun 7, 2016
Commits on Jun 5, 2016
  1. DATAJPA-911 - More reflection to adapt to changes in Hibernate 5.2.

    We now workaround a JPA specification violation introduced in 5.2 [0] in parameter binding. This involves removing a workaround for a bug in older Hibernate variants that returned the parameter index as String for parameters that shouldn't return a name at all. We now solve that by explicitly not considering parameter names that are purely numeric as named parameters in the first place. This also avoids producing an exception in the case of the usage of named parameters in the first place.
    
    org.hibernate.Query was deprecated in Hibernate 5.2 but at the same time a couple of methods on it were changed in a binary incompatible way. We now explicitly detect that change in the execution of stream queries and fall back to reflection based invocation of the methods we need to call.
    
    [0] https://hibernate.atlassian.net/browse/HHH-10803
    olivergierke committed Jun 5, 2016
Commits on Jun 4, 2016
  1. DATAJPA-911 - Assert compatibility with Hibernate 5.2.

    We now use a completely reflective lookup of the Hibernate query string as well as for the Hibernate specific PersistenceProvider lookup in tests.
    
    Added build profile for Hibernate 5.2 but it's currently not working due to Hibernate complaining about an invalid identifier mapping on CustomAbstractPersistable which is overriding the parent types  property on accessor working fine on 5.1.
    
    The build profile for 5.1 is still broken due to the fixed but yet unreleased HHH-10514 [0] and the not yet fixed HHH-10515 [1] (apparently fixed but still open and unreleased) which has been broken since 5.0.8.
    
    [0] https://hibernate.atlassian.net/browse/HHH-10514
    [1] https://hibernate.atlassian.net/browse/HHH-10515
    olivergierke committed Jun 3, 2016
Commits on Jun 2, 2016
  1. DATAJPA-909 - Fixed count query execution for projections and paginat…

    …ion.
    
    We now make sure that the count query for derived queries using pagination uses a plain count projection and does not try to apply that on a tuple query.
    olivergierke committed Jun 2, 2016
Commits on May 31, 2016
  1. DATAJPA-908 - Added note about named parameters and @Param.

    Clarifies that the use of @Param is optional when on Java 8 and compiling with -parameters flag.
    
    Original pull request: #173.
    michael-simons committed with olivergierke May 31, 2016
Commits on May 27, 2016
  1. DATAJPA-905 - Polishing.

    Deprecated SimpleJpaRepository.readPage(…) and ….getCountQuery(…) variants for which we have more dedicated overloads taking the domain type already.
    
    Some formatting polishing on the way.
    olivergierke committed May 27, 2016
  2. DATAJPA-905 - Count queries for Specifications don't use orders anymore.

    Count queries that are executed in the context of paginated queries using Specifications now get their order specifications removed as they get rejected by some databases.
    olivergierke committed May 27, 2016
Commits on May 25, 2016
  1. DATAJPA-903 - Stream access on Hibernate only unwraps first element i…

    …f one element array is returned.
    
    Previously we always picked the first element of the Object array returned by the Hibernate ScrollableResults. We now only do that for one element arrays to basically mimic the handling of List based query methods.
    olivergierke committed May 25, 2016
Commits on Apr 15, 2016
Commits on Apr 14, 2016
  1. DATAJPA-891 - Polishing.

    Formatting in JpaPersistentPropertyImpl.
    olivergierke committed Apr 14, 2016
  2. DATAJPA-891 - Avoid creating unnecessary exceptions in JpaPersistenEn…

    …tityImpl.
    
    JpaPersistentEntityImpl.isEntity() currently called a method on the JPA meta-model, catching an exception to indicate the given type is not managed. We're now rather iterate over all managed types to avoid the overhead of the exception being thrown and handled immediately.
    olivergierke committed Apr 14, 2016
Commits on Apr 11, 2016
  1. DATAJPA-888 - Clarify usage of native queries for pagination.

    This commit changes the note of using native queries for pagination and adds an example on how to manually define a count query. Also clarify that pagination using native queries is supported, dynamic sorting not.
    
    This adresses questions like this one http://stackoverflow.com/questions/28529584/spring-data-why-its-not-possible-to-have-paging-with-native-query/36520935#36520935.
    
    Original pull request: #171.
    michael-simons committed with olivergierke Apr 11, 2016
Commits on Apr 9, 2016
  1. DATAJPA-885 - Polishing.

    Some cleanups in some test cases.
    olivergierke committed Apr 9, 2016
  2. DATAJPA-885 - Tuple queries are now only issued for non-JPA managed t…

    …ypes.
    
    We now explicitly check the return types for queries using manually defined queries to find out whether it's a JPA managed type in the first place. Only if that's not the case we resort to a Tuple query and assume DTO mapping happening downstream.
    
    This is necessary as a singular projection expression in the query might simply return an element of the aggregate and thus doesn't need any DTO creation. In case an unmanaged type is returned from the query method we assume DTO creation.
    olivergierke committed Apr 9, 2016
Commits on Apr 6, 2016
  1. DATAJPA-883 - Fixed configuration of AspectJ Maven plugin.

    We now enforce the AspectJ plugin to run no matter what to work around bugs in the plugin in combination with bugs in the compiler plugin.
    
    mojohaus/aspectj-maven-plugin#15
    https://issues.apache.org/jira/browse/MCOMPILER-205
    https://issues.apache.org/jira/browse/MCOMPILER-209
    olivergierke committed Apr 6, 2016
Commits on Apr 5, 2016
  1. DATAJPA-880 - Add pull request template.

    Original pull request: #170.
    mp911de committed Apr 5, 2016
Commits on Apr 4, 2016
  1. DATAJPA-876, DATAJPA-838 - Add AD-HOC entity graph sample and what's …

    …new section.
    
    Original pull request: #167
    christophstrobl committed Mar 25, 2016
Commits on Apr 1, 2016
  1. DATAJPA-876 - Fix typo in reference doc.

    Original pull request: #156.
    Centonni committed with christophstrobl Sep 5, 2015
  2. DATAJPA-876 - Add documentation for projections using query methods.

    Fix typo along the way.
    
    Original Pull Request: #167
    mp911de committed with christophstrobl Mar 23, 2016
Commits on Mar 18, 2016
  1. DATAJPA-218 - Tweaked reference documentation on Query by Example.

    Fixed section anchors to match convention. Added level offsets to adapt to changes in Spring Data Commons.
    olivergierke committed Mar 18, 2016
Commits on Mar 17, 2016