Releases: spring-projects/spring-data-jpa
Releases · spring-projects/spring-data-jpa
4.0.0
📗 Links
⭐ New Features
- Add support for returning
Streamablefrom AOT repository methods #4070 - Consistently use
InvalidDataAccessApiUsageExceptionforJpaOrdervalidation #4062 - Remove deprecated API that is marked for removal #4057
- Revise
PredicateSpecificationfor improved reuse #4035 - Text block queries are stored twice in hibernate HQL interpretation cache #4034
- Add
TypeCollectorFiltersto filter$$_hibernatefields and methods #4014 - Allow customization of
@RevisionTimestampproperty name #4003 - Reintroduce Specification.where(Specification) #3998
- Add possbility to return Entity from
delete<...>ById(id: MyId)method #3995 - Reintroduce
Specification.where(Specification)#3992 - Backport
Specification.unrestricted()to3.5.x#3942 - Replace regex with startsWith / endsWith check for LIKE pattern detection #3932
- Deprecate
SharedEntityManagerbean registration in favor of JPA 3.2 qualifiedEntityManagerinjection #3926 - Remove unnecessary join when filtering on relationship id #3922
- Enable AOT repository generation by default #3904
- Make identification variables and the
SELECTclause in JPQL optional #3903 - Make identification variables and the
SELECTclause in JPQL optional #3902 - Enable AOT repositories by default #3899
- Avoid early
EntityManagerinitialization duringPersistenceProviderlookup #3885 - Add support for JSON and XML Set-Returning-Functions #3883
- Support HQL
LIMIT/OFFSETwithout ordering #3882 - Add support for Set-Returning Functions (SRF) in HQL parser #3879
- Add
delete(Predicate)toQuerydslJpaPredicateExecutor#3878 - Add
delete(Predicate)toQuerydslJpaPredicateExecutor#3877 - Use isolated Hibernate
EntityManagerfor AOT contribution #3876 - Use
LocalVariableNameFactoryin repository contributor #3875 - Provide
JpaRepositoryFragmentsContributorin JPA Repository Factory and Repository Factory Bean #3874 - Explore Search Results #3868
- Add support for Hibernate 7 Set-returning Functions in
fromClause #3864 - Use parameter names in derived JPQL queries #3857
- Capture
@EnableJpaRepositoriesconfiguration for AOT processing #3838 - Add support for JPA AOT Repositories #3830
- Migrate to JSpecify annotations for nullability constraints #3781
- Migrate to JSpecify annotations for nullability constraints #3745
- Remove commons-logging exclusion #3736
- Support custom countSpec in SimpleJpaRepository.findAll #3727
- Switch to JPA 3.2
Query.getSingleResultOrNull()#3701 - Upgrade to JPA 3.2 #3695
- Adopt to deprecation removals in Commons #3683
- Replace derived
CriteriaQuerywith String-based queries #3653 - Refactor
DeclaredQueryto decouple the query definition from its introspected state #3622 - Replace derived
CriteriaQuerywith String-based JPQL queries #3588 - Consider
NULLSprecedence usingSortfor Criteria Queries #3587 - Refine Specification API #3578
- Introduce
QueryEnhancerSelectorto configure whichQueryEnhancerFactoryto use #3527 - Revise Specification API #3521
- Use provider built-in result count to reuse query if possible #3456
- Prevent early
EntityManageraccess to avoid conflicts with Hibernate-native multi-tenancy #3425 - Skip
JOINfor predicates that compare the primary key of a@ManyToOnerelationship #3349 - java.lang.IllegalStateException is thrown by invoking findBy method #3294
- Make JpaSort.unsafe() operational for HQL, EQL, and JPQL #3187
- Translate
JpaSort.unsafe(…)used with Specifications to order-byExpression#3172 - Update JPQL and HQL parsers with newly introduced JPA 3.2 keywords #3136
- Allow customization of
@RevisionTimestampproperty name #2850 - Improve query method validation exceptions for declared queries #2738
- Avoid re-wrapping query validation exceptions into
IllegalArgumentExceptionit they already are one #2736 - Move
PropertyPathandTypeInformationtypes tocorepackage #3393 - Refine AOT Repositories infrastructure #3267
🐞 Bug Fixes
JpqlQueryBuilderdoes not consider@Entityname #4036- Generated JPQL uses non-standard fully-qualified entity names #4032
- Evaluate entity name for
StringAotQueryfromEntityMetadata#4030 - StringAotQuery should evaluate entity name from EntityMetadata #4029
- Consistent handling of
Specification.unrestricted()inSpecification.not(..)#4024 - Inconsistency in
Specification.unrestricted()semantics #4023 deleteByreturning primitive number queries fail withClassCastException#4015- EQL Parser fails using nested aggregation function arguments #4013
- HQL Renderer renders CTE with
CYCLEwithout space betweenSETandidentifier#4012 - Fix unpaged revision query #4000
- Revision repository
findRevisionsthrows exception when usingPageable.unpaged()#3999 - JPQL
/* ... */comments in@Queryfail to parse when migrating from Spring Boot 3.3.5 to Spring Boot 3.5.5 / Spring Data JPA (HQL parser mismatch on/) #3997 - Qualify identifier used in
SimpleJpaRepository.deleteAllByIdInBatch(…)JPQL #3993 - EclipseLink fails resolving unqualified identifier property using...
3.5.6
📗 Links
📔 Documentation
🔨 Dependency Upgrades
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
3.4.12
📗 Links
📔 Documentation
🔨 Dependency Upgrades
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
4.0.0-RC2
📗 Links
⭐ New Features
- Consistently use
InvalidDataAccessApiUsageExceptionforJpaOrdervalidation #4062 - Remove deprecated API that is marked for removal #4057
- Text block queries are stored twice in hibernate HQL interpretation cache #4034
- Move
PropertyPathandTypeInformationtypes tocorepackage #3393
📔 Documentation
- Fix typos #4033
🔨 Dependency Upgrades
- Upgrade JDBC test driver dependencies #4064
- Upgrade to Hibernate 7.1.5.Final #4063
- Upgrade to Testcontainers 2.0 #2688
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
4.0.0-RC1
📗 Links
⭐ New Features
- Revise
PredicateSpecificationfor improved reuse #4035 - Add
TypeCollectorFiltersto filter$$_hibernatefields and methods #4014 - Allow customization of
@RevisionTimestampproperty name #4003 - Allow customization of
@RevisionTimestampproperty name #2850 - Improve query method validation exceptions for declared queries #2738
- Avoid re-wrapping query validation exceptions into
IllegalArgumentExceptionit they already are one #2736 - Refine AOT Repositories infrastructure #3267
🐞 Bug Fixes
JpqlQueryBuilderdoes not consider@Entityname #4036- Generated JPQL uses non-standard fully-qualified entity names #4032
- Evaluate entity name for
StringAotQueryfromEntityMetadata#4030 - StringAotQuery should evaluate entity name from EntityMetadata #4029
- Consistent handling of
Specification.unrestricted()inSpecification.not(..)#4024 - Inconsistency in
Specification.unrestricted()semantics #4023 deleteByreturning primitive number queries fail withClassCastException#4015- EQL Parser fails using nested aggregation function arguments #4013
- HQL Renderer renders CTE with
CYCLEwithout space betweenSETandidentifier#4012 - Fix unpaged revision query #4000
- Revision repository
findRevisionsthrows exception when usingPageable.unpaged()#3999
📔 Documentation
- Document placeholder and Ant-style pattern support for
@Enable…Repositories#3366
🔨 Dependency Upgrades
- Upgrade to Eclipselink 5.0.0-B11 #4045
- Upgrade to Hibernate 7.1.4.Final #4044
- Upgrade to Hibernate 7.1.1.Final #4016
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
3.5.5
📗 Links
⭐ New Features
- Improve query method validation exceptions for declared queries #2738
- Avoid re-wrapping query validation exceptions into
IllegalArgumentExceptionit they already are one #2736
🐞 Bug Fixes
- Consistent handling of
Specification.unrestricted()inSpecification.not(..)#4024 - Inconsistency in
Specification.unrestricted()semantics #4023 deleteByreturning primitive number queries fail withClassCastException#4015- EQL Parser fails using nested aggregation function arguments #4013
- HQL Renderer renders CTE with
CYCLEwithout space betweenSETandidentifier#4012 - Fix unpaged revision query #4000
- Revision repository
findRevisionsthrows exception when usingPageable.unpaged()#3999
📔 Documentation
- Document placeholder and Ant-style pattern support for
@Enable…Repositories#3366
🔨 Dependency Upgrades
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
3.4.11
📗 Links
⭐ New Features
- Improve query method validation exceptions for declared queries #2738
- Avoid re-wrapping query validation exceptions into
IllegalArgumentExceptionit they already are one #2736
🐞 Bug Fixes
- Consistent handling of
Specification.unrestricted()inSpecification.not(..)#4024 - Inconsistency in
Specification.unrestricted()semantics #4023 - EQL Parser fails using nested aggregation function arguments #4013
- HQL Renderer renders CTE with
CYCLEwithout space betweenSETandidentifier#4012 - Fix unpaged revision query #4000
- Revision repository
findRevisionsthrows exception when usingPageable.unpaged()#3999
📔 Documentation
- Document placeholder and Ant-style pattern support for
@Enable…Repositories#3366
🔨 Dependency Upgrades
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
4.0.0-M6
📗 Links
⭐ New Features
- Reintroduce Specification.where(Specification) #3998
- Add possbility to return Entity from
delete<...>ById(id: MyId)method #3995 - Reintroduce
Specification.where(Specification)#3992
🐞 Bug Fixes
- JPQL
/* ... */comments in@Queryfail to parse when migrating from Spring Boot 3.3.5 to Spring Boot 3.5.5 / Spring Data JPA (HQL parser mismatch on/) #3997 - Qualify identifier used in
SimpleJpaRepository.deleteAllByIdInBatch(…)JPQL #3993 - EclipseLink fails resolving unqualified identifier property using
INon batch delete by Id #3990 - Type Constraint Mismatch in
QueryByExampleExecutor.findBy()#3986 - Optimized
QueryUtils.applyAndBind(…)usingIN(entities)does not work with EclipseLink #3983 ExpressionBasedStringQuerydoes not expand#{#entityName}for native queries #3979
🔨 Dependency Upgrades
- Upgrade to Eclipselink 5.0.0-B10 #4006
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
3.5.4
📗 Links
⭐ New Features
- Add possbility to return Entity from
delete<...>ById(id: MyId)method #3995
🐞 Bug Fixes
- JPQL
/* ... */comments in@Queryfail to parse when migrating from Spring Boot 3.3.5 to Spring Boot 3.5.5 / Spring Data JPA (HQL parser mismatch on/) #3997 - Qualify identifier used in
SimpleJpaRepository.deleteAllByIdInBatch(…)JPQL #3993 - EclipseLink fails resolving unqualified identifier property using
INon batch delete by Id #3990 - Optimized
QueryUtils.applyAndBind(…)usingIN(entities)does not work with EclipseLink #3983 ExpressionBasedStringQuerydoes not expand#{#entityName}for native queries #3979
🔨 Dependency Upgrades
- Upgrade to Hibernate 6.6.28.Final #4005
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
3.4.10
📗 Links
🐞 Bug Fixes
- JPQL
/* ... */comments in@Queryfail to parse when migrating from Spring Boot 3.3.5 to Spring Boot 3.5.5 / Spring Data JPA (HQL parser mismatch on/) #3997 - Qualify identifier used in
SimpleJpaRepository.deleteAllByIdInBatch(…)JPQL #3993 - EclipseLink fails resolving unqualified identifier property using
INon batch delete by Id #3990 ExpressionBasedStringQuerydoes not expand#{#entityName}for native queries #3979
🔨 Dependency Upgrades
- Upgrade to Hibernate 6.6.28.Final #4005
❤️ Contributors
We'd like to thank all the contributors who worked on this release!