Spring Data JPA Changelog ========================= Changes in version 1.4.0.RC1 (2012-08-01) ----------------------------------------- * Sort with aggregate properties results in an invalid alias being generated and added to the query (DATAJPA-148) * Composite Primary Key Class With Foreign Key using IdClass results in TypeMismatchException (DATAJPA-269) * Sort by property of an associated object doesn't work. Join type should be LEFT OUTER JOIN for sorting on associated objects. (DATAJPA-346) * @IdClass of @MappedSuperclass is not supported (DATAJPA-348) * SimpleJpaQuery validates count queries to aggressively (DATAJPA-352) * ClasspathScanningPersistenceUnitPostProcessor does not resolve mapping files properly (DATAJPA-353) * @Lock annotation doesn't work on (at least) findOne method (DATAJPA-359) * Improve SimpleJpaRepository.delete(ID id) by removing superfluous call to exists(…). (DATAJPA-363) * NullPointerException for manually defined queries with multiple named like expressions (DATAJPA-373) * Count queries should be issued without ORDER BY clause (DATAJPA-377) * JpaRepository.findAll(Iterable ids) should return List, not Iterable (DATAJPA-357) * Improve QueryDslJpaRepository.findAll(Predicate, Pageable) (DATAJPA-361) * Explain usage of SpEL Expression in @Query(...) on Repository methods (DATAJPA-368) * Problems with entities weaved by EclipseLink (DATAJPA-376) * Add support for TemporalType parameter in named queries (DATAJPA-107) * Passing parameters from child classes to the parents' annotations (DATAJPA-170) * Ref doc - explain about save strategy repositories (DATAJPA-344) * Add missing package-info.java files (DATAJPA-370) * Release 1.4 RC1 (DATAJPA-379) Changes in version 1.3.4.RELEASE (2013-07-24) --------------------------------------------- * Fixed NullPointerException for manually defined queries with multiple named like expressions (DATAJPA-373) * Added missing package-info.java files (DATAJPA-370) Changes in version 1.3.3.RELEASE (2013-07-19) --------------------------------------------- * Sort with aggregate properties results in an invalid alias being generated and added to the query (DATAJPA-148) * Repository injection fails if BeanPostProcessor depends on repository (DATAJPA-335) * New LIKE expression handling breaks backward compatibility (DATAJPA-341) * Wrong calculation of total number of elements when using DISTINCT clause (DATAJPA-342) * Subselect bug introduced in the snapshot on 20130507 (DATAJPA-343) * @IdClass of @MappedSuperclass is not supported (DATAJPA-348) * Improve query validation by creating explicit EntityManager instance (DATAJPA-350) * @Lock annotation doesn't work on (at least) findOne method (DATAJPA-359) * Improve SimpleJpaRepository.delete(ID id) by removing superfluous call to exists(…). (DATAJPA-363) * Open up OSGi manifest for Spring 4 (DATAJPA-339) * Impove OSGi manifest to allow usage with Spring 4 and Slf4j 1.6.x (DATAJPA-340) * @QueryHints can not be used in a meta annotation (DATAJPA-345) * Improve QueryDslJpaRepository.findAll(Predicate, Pageable) (DATAJPA-361) * Release 1.3.3 (DATAJPA-369) Changes in version 1.4.0.M1 (2012-06-04) ---------------------------------------- * Upgrade to Querydsl 3.0.0 (DATAJPA-321, DATAJPA-320) * Support query internal LIKE expressions (DATAJPA-292, DATAJPA-341) * Support to 'countBy' query methods. (DATAJPA-231) * Support for case insensitive sorting in Pageable and Sort (DATAJPA-296, DATAJPA-327) * Code doesn't compile with JDK 6 due to generic method signature (DATAJPA-304) * XML Schema Validation errors in STS (DATAJPA-314) * Allow building against Hibernate 4 (DATAJPA-316) * JpaRepository interface should have @NoRepositoryBean (DATAJPA-317) * findAll(ids) throws SQL grammar exception when given an empty collection (DATAJPA-332) * Repository injection fails if BeanPostProcessor depends on repository (DATAJPA-335) * Release 1.3.1 breaks auditing (DATAJPA-336) * Wrong calculation of total number of elements when using DISTINCT clause (DATAJPA-342) * Subselect bug introduced in the snapshot on 20130507 (DATAJPA-343) * Improve query validation by creating explicit EntityManager instance (DATAJPA-350) * JpaEntityInformationSupport could inspect potentially available @Version annotated field for null to discover isNew (DATAJPA-119) * Specifications must support null as a parent Specification (DATAJPA-300) * Prevent duplicate registration of PersistenceAnnotationBeanPostProcessor (DATAJPA-308) * CDI repository beans should be application scoped (DATAJPA-319) * Invalid class name referenced in readme.md (DATAJPA-334) * Impove OSGi manifest to allow usage with Spring 4 and Slf4j 1.6.x (DATAJPA-340, DATAJPA-339) * @QueryHints can now be used in a meta annotation (DATAJPA-345) * Release 1.4. M1 (DATAJPA-351) Changes in version 1.3.2.RELEASE (2013-05-02) --------------------------------------------- * Release 1.3.1 breaks auditing (DATAJPA-336) * findAll(ids) throws SQL grammar exception when given an empty collection (DATAJPA-332) * Invalid class name referenced in readme.md (DATAJPA-334) Changes in version 1.3.1.RELEASE (2013-04-16) --------------------------------------------- * Support query internal LIKE expressions (DATAJPA-292) * Code doesn't compile with JDK 6 due to generic method signature (DATAJPA-304) * XML Schema Validation errors in STS (DATAJPA-314) * Allow building against Hibernate 4 (DATAJPA-316) * JpaRepository interface should have @NoRepositoryBean (DATAJPA-317) * Specifications must support null as a parent Specification (DATAJPA-300) * Prevent duplicate registration of PersistenceAnnotationBeanPostProcessor (DATAJPA-308) Changes in version 1.3.0.RELEASE (2012-02-07) --------------------------------------------- * Added support for annotation based auditing (DATAJPA-116) * SimpleJpaRepository.exists(ID) works now, if ID is an composite key (DATAJPA-266) * LockModePopulatingMethodInterceptor does not cause memory leak (DATAJPA-268) * Pageable sorting by join property excludes null matches with Specifications (DATAJPA-277) * Switch to Logback for test logging (DATAJPA-271) * Fixed NullPointerException in unit tests (DATAJPA-280) * Expose Spring Data Commons mapping metamodel (DATAJPA-274, DATAJPA-284, DATAJPA-283) * Separated integration tests for different persistence providers (DATAJPA-286, DATAJPA-288) * Polished documentation (DATAJPA-282, DATAJPA-291) * Improved build (DATAJPA-285, DATAJPA-271) * Upgraded to JodaTime 2.1 (DATAJPA-293) Changes in version 1.2.1.RELEASE (2012-02-07) --------------------------------------------- * SimpleJpaRepository.exists(ID) fails, if ID is an composite key (DATAJPA-266) * LockModePopulatingMethodInterceptor leak causes memory leak (DATAJPA-268) * Pageable sorting by join property excludes null matches with Specifications (DATAJPA-277) * Switch to Logback for test logging (DATAJPA-271) Changes in version 1.2.0.RELEASE (2012-10-10) ---------------------------------------- * Resolve conflicts between Spring Data Commons Core, JPA and Mongo (DATAJPA-146) * Improved reference documentation/JavaDoc (DATAJPA-251, DATAJPA-261, DATAJPA-174, DATAJPA-238) * Upgrade to latest Querydsl 2.8.0, APT 1.0.4 (DATAJPA-259, DATAJPA-260) * Improved detection of joins to make sure sorting gets applied correctly (DATAJPA-252) * Fixed application of Specifications.not(…) (DATAJPA-253) * Fixed detection of total elements when paging over partitioned entities with EclipseLink (DATAJPA-257) Changes in version 1.2.0.RC1 (2012-07-24) ----------------------------------------- * Sorting of paginated results is not working when Querydsl is used (DATAJPA-243) * Namespace XSDs of current release version should refer to repositories XSD in version 1.0 (DATAJPA-239) * NamedQuery should defer warning logs until the named query is actually detected (DATAJPA-241) * JpaClassUtils#isEntityManagerOfType is not safe within an OSGI Environment (DATAJPA-244) * Make Spring 3.1.2.RELEASE default Spring dependency version (DATAJPA-249) * List compile time dependencies explicitly (DATAJPA-245) Changes in version 1.1.2.RELEASE (2012-08-24) --------------------------------------------- * Namespace XSDs of current release version should refer to repositories XSD in version 1.0 (DATAJPA-239) * NamedQuery should defer warning logs until the named query is actually detected (DATAJPA-241) * JpaClassUtils#isEntityManagerOfType is not safe within an OSGI Environment (DATAJPA-244) * List compile time dependencies explicitly (DATAJPA-245) Changes in version 1.2.0.M1 (2012-07-23) ---------------------------------------- * Added support for JavaConfig support for repositories (DATAJPA-69) * Upgraded to Hibernate 3.6.10 and EclipseLink 2.4.0 (DATAJPA-229) * A round of code improvements (DATAJPA-104) * Throw more appropriate exception if manually defined query in @Query is invalid (DATAJPA-226) * SimpleJpaRepository.findAll(Iterable ids) now works when handing in non-Lists (DATAJPA-232) * OSGi bundle identifier is now org.springframework.data.jpa (DATAJPA-215) * We now include JPA metamodel classes for our base domain types (DATAJPA-217) * Improved documentation of how to use native queries with @Query (DATAJPA-227) Changes in version 1.1.1.RELEASE (2012-07-23) --------------------------------------------- * Throw more appropriate exception if manually defined query in @Query is invalid (DATAJPA-226) * SimpleJpaRepository.findAll(Iterable ids) now works when handing in non-Lists (DATAJPA-232) * OSGi bundle identifier is now org.springframework.data.jpa (DATAJPA-215) * We now include JPA metamodel classes for our base domain types (DATAJPA-217) * Improved documentation of how to use native queries with @Query (DATAJPA-227) * Upgraded to Spring Data Commons 1.3.2.RELEASE (DATAJPA-233) Changes in version 1.1.0.RELEASE (2012-05-16) --------------------------------------------- * JPA Repository can get typing of @Query annotated findXXX methods wrong (DATAJPA-169) * SimpleJpaRepository.delete(ID id) should validate entity/record existance prior to issue delete command (DATAJPA-177) * StackOverflowError during query parsing if repository method does nots match with a property (DATAJPA-179) * Typos in log message when named query is used with a Pageable (DATAJPA-186) * MergingPersistenceUnitManager potentially adds classes multiple times (DATAJPA-189) * JpaQueryExecution started to throw NullPointerException if pageable is null (DATAJPA-201) * Typo in reference (DATAJPA-153) * Readme file references old Spring Data JPA version (DATAJPA-155) * Ability to specify template when create QueryDSL JPAQuery (DATAJPA-181) * Provide more safety in custom @Queries with named @Params (DATAJPA-185) * Log level used for message generated with named query with a Pageable parameter lower than the actual severity of the issue (DATAJPA-187) * MergingPersistenceUnitManager should merge mapping file locations as well (DATAJPA-190) * Adapt changes in CrudRepository interface (DATAJPA-191) * @Query(nativeQuery=true) can't return List (DATAJPA-207) * Add support for newly introduced StartingWith, EndingWith and Containing keywords (DATAJPA-180) * Support Before and After keywords for query creation (DATAJPA-188) * Minor typos in readme.md (DATAJPA-192) * Upgrade to Spring Data Commons 1.3.0.RC1 (DATAJPA-193) * Upgrade to Spring Data Commons 1.3.0.GA (DATAJPA-194) * Upgrade to Querydsl 2.5.0 (DATAJPA-203) * Sonar build is failing (DATAJPA-210) * Document CDI integration (DATAJPA-211) * Release 1.1 GA (DATAJPA-212) Changes in version 1.1.0.RC1 (2012-02-03) ----------------------------------------- * Support for locking (DATAJPA-73) * Added CDI integration for repositories (DATAJPA-136) * Support for @IdClass in entities (DATAJPA-50) * Support for LessThanEqual and GreaterThanEquals keywords in query methods (DATAJPA-108) * Support for True/False as query keywords (DATAJPA-132) * Queries derivated from methods now correctly bind null values using IS NULL (DATAJPA-121) * Added PersistenceUnitPostProcessor to scan a package for JPA entities with Spring 3.0 (DATAJPA-123, DATAJPA-124) * Improve performance for pagination queries if inexistant page is requested (DATAJPA-124) * Don't apply query hints to count queries for pagination (DATAJPA-54) * Fixed count query creation for manually declared queries with "order by" clause (DATAJPA-142) * @OneToOne mappings in AbstractAuditable should rather be @ManyToOne ones (DATAJPA-120) * Alias detection now works correctly with entity names containing numbers (DATAJPA-110) * Added @NativeQuery annotation for repositories to trigger native queries (DATAJPA-117) * Allow customization of NamedQuery to be used in @Query annotation (DATAJPA-129) * Let deleteAll() use cascading deletes and introduced deleteAllInBatch() (DATAJPA-137) * Fixed query creation for Comparable values (DATAJPA-99) * The SimpleJpaRepository's deleteAll() does not call em.clear() anymore (DATAJPA-111) * JpaMetamodelEntityInformation now deals with mapped superclasses as well (DATAJPA-141) * MergingPersistenceUnitManager now works with Spring 3.1.0 DefaultPersistenceUnitManager (DATAJPA-138) * Provide strategy interface to customize the date being set while auditing (DATAJPA-9) * Improve exception message when crating a query from a method name fails (DATAJPA-159) * Imporve injection of the EntityManager in QueryDslRepositorySupport (DATAJPA-135, DATAJPA-113) * Consolidate Expression creation for property references and sort orders (DATAJPA-103) * Fixed schema errors appearing in STS (DATAJPA-160) * Change build system to build against Spring 3.0.x / 3.1 / 3.2 (DATAJPA-127) * Upgraded dependency versions (Spring 3.0.7, Querydsl 2.3.0, Hibernate 3.6.9, EclipseLink 2.3.2, OpenJPA 2.1.1, AspectJ 1.6.12) (DATAJPA-102, DATAJPA-150, DATAJPA-145, DATAJPA-115) Changes in version 1.0.3.GA (2012-02-03) ---------------------------------------- * MergingPersistenceUnitManager doesnt work with Spring 3.1.0 DefaultPersistenceUnitManager (DATAJPA-138) * Spring Data- JPA Schema validation error in STS (DATAJPA-160) * Improve exception message when crating a query from a method name fails (DATAJPA-159) Changes in version 1.0.2.GA (2011-12-06) ---------------------------------------- * Fixed query creation for Comparable values (DATAJPA-99) * Fixed alias detection when entity name contained number (DATAJPA-110) * SimpleJpaRepository's deleteAll() does not call em.clear() anymore (DATAJPA-111) * Upgraded to Querydsl 2.2.5 (DATAJPA-102, DATAJPA-115) * Fixed auditor mappings in AbstractAuditable (DATAJPA-120) * Consolidate Expression creation for property references and sort orders (DATAJPA-103) * Fixed dependency injection in QueryDslRepositorySupport (DATAJPA-113) Changes in version 1.1.0.M1 (2011-09-05) ---------------------------------------- * Added ability to ignore case in derived method names (DATAJPA-92) * Upgraded dependency to Spring Data Commons 1.2.0.M1 Changes in version 1.0.1.GA (2011-09-05) ---------------------------------------- * Fixed pagination for queries using group-by clause (DATAJPA-86) * Fixed NoSuchElementException for queries using dynamic sorting (DATAJPA-90) * JpaEntityInformationSupport.getMetadata(...) throws IllegalArgumentException if entity not found in JPA metamodel (DATAJPA-93) * Sort handed via Pageable instance is now again regarded by query execution (DATAJPA-94) * Fixed creating CriteriaQuery instances for some keywords when deriving queries from method names (DATAJPA-96) * Fixed manifest version reference of javax.annotation (DATAJPA-79) * Improved performanve of SimpleJpaRepository.exists(…) by not loading the entity (DATAJPA-81) * Updated reference documentation covering persistence exception translation, custom namespace attributes (DATAJPA-91, DATAJPA-88, DATAJPA-80) * Reformatted sources with Spring Data Eclipse formatter and added settings to project (DATAJPA-98) Changes in version 1.0.0.GA (2011-07-21) ---------------------------------------- * Updated to Spring Data Commons 1.1.0.RELEASE - (DATACMNS-53, DATACMNS-49) * Upgrade to Querydsl 2.2.0 (DATAJPA-78, DATACMNS-53) * Improved performance by caching CriteriaQuery creation if possible (DATAJPA-71) * Fixed version range for Spring Data Commons packages in template.mf (DATAJPA-72) * Fixed count query execution for pagination queries with manually defined query (DATAJPA-77) * Polished documentation Changes in version 1.0.0.RC1 (2011-06-21) - https://jira.springsource.org/browse/DATAJPA/fixforversion/11869 ----------------------------------------- * Expose findAll(Specification spec, Sort sort) in JpaSpecificationExecutor (DATAJPA-48) * Improved target domain class detection for queries returning void and numeric values (DATAJPA-44) * Improved extensibility of QueryDslJpaRepository (DATAJPA-39) * Configured Maven build to include Bundlor generated MANIFEST.MF (DATAJPA-42) * Improved performance of query execution by uhsing method.getAnnotation(…) instead of AnnotationUtils.getAnnotation(…) * Fixed exception thrown in QueryDslJpaRepository#findAll(Predicate predicate, Pageable pageable) if no result found (DATAJPA-61, DATACMNS-23) * Improved error message in JpaQueryMethod (DATAJPA-59, DATAJPA-60) * Querydsl dependency is now optional (DATAJPA-62) * Improved isNew detection in AuditingEntityListener (DATAJPA-68) * Documented In and NotIn keywords (DATAJPA-56) * Updated documentation regarding Specifications usage (DATAJPA-43) * Added MergingPersistenceUnitManager (DATAJPA-38) * Added support for searching by Specification and Sort (DATAJPA-48) * Automatic query creation now uses ParameterExpression binding over literal binding (DATAJPA-64) * Changed clearAutomatically attribute of @Modifying to default to false (DATAJPA-31) * JpaPersistableEntityInformation now uses Persistable.isNew(…) (DATAJPA-58) Changes in version 1.0.0.M2 (2011-03-24) - https://jira.springsource.org/browse/DATAJPA/fixforversion/11800 ---------------------------------------- * Dynamic sorting functionality (through Sort query method parameter) works again * Added support for 'Distinct' (DATACMNS-15) * Added support for 'In' and 'NotIn' (DATAJPA-30) * Adapted new metadata API (DATAJPA-32, DATACMNS-17) * Support for XML based entity mapping (DATAJPA-28) * @Query annotated queries get validated on Query meta-model creation (DATAJPA-14) * Fixed dependency scopes and missing repository declarations (DATAJPA-33, DATAJPA-26) * Adapted meta-model API from Commons module (DATAJPA-32) * Added support for QueryDsl (DATAJPA-8) Changes in version 1.0.0.M1 (2011-02-10) - https://jira.springsource.org/browse/DATAJPA/fixforversion/11786 ---------------------------------------- * Moved JPA sepcific code from Hades into Spring Data JPA (functional equivalent of Hades 2.0.2) building on common functionality in Spring Data Commons