Extracted methods taking a Specification from JpaRepository into JpaSpecificationExecutor. Introduced QueryDslPredicateExecutor that takes QueryDsl Predicate objects to execute them. Introduced QueryDsl specific subclass to execute Predicate instances. Extended JpaRepositoryFactory to rather use the QueryDsl specific implementation if the actual user repository implements QueryDslPredicateExecutor. Added test case to ensure detection of query class. Added QueryDslRepositorySupport to ease implementation of repositories. Added constructor to QueryDslJpaRepository to take an EntityPathResolver to allow plugging in a different implementation. Extracted actual EntityPath resolution tests into unit test for SimpleEntityPathResolver. Check for QueryDsl classpath presence to prevent ClassNotFoundExceptions.
We now treat paths handed into a Sort object as individual property traversals and build and join them together appropriately. Thx to Nemanja Nedic for the contribution.
Simply let the EntityManager create a JPA query object on SimpleJpaQuery creation. This fails if the query contains syntactical errors.
When building with Maven 3 plugin dependencies are only looked up through repositories defined in the <pluginRepositories /> element. So we had to add the Spring release repository there.
Added IsNewAware and IdAware implementation that uses JPA 2.0 meta model API to find the id field. Using that instead of JpaAnnotationEntityInformation to be able to use XML based entity mapping as well. Changed mapping of Role sample domain class to XML and created integration test to verify XML metadata is considered as well.
…eries. JpaCountQueryCreator now correctly applies the predicate. Added test cases and support for 'In' keywords.
…ing. Using the initially created root to create the count projection now. Added more tests to verify correct number of elements and pages.
Use the actually accessed path instead of the root object. Added test cases to verify behaviour.