Releases: spring-projects/spring-data-jpa
Releases · spring-projects/spring-data-jpa
4.0.1
📗 Links
⭐ New Features
- Propagate well-known property JPA names to AOT metamodel initialization #4106
- Add sequence support for AOT dialect #4103
- Defer
ReturnedType.inputPropertiesaccess #4088
🐞 Bug Fixes
NullPointerExceptioninQuery.setParameter(…)bindingnulltoINparameters #4112- AOT repositories use
executeUpdatefor derived@Modifyingqueries #4102 - Apply fetch graph by name in AOT repositories. #4100
- SpringDataJpaAotDialect must not return null for getSqlAstTranslatorFactory() #4098
- Named
@EntityGraphnot applied to AOT repository query methods #4097 - AOT repositories fail with
IncorrectResultSizeDataAccessExceptionrunningGROUP BYcount query #4096 - AOT-generated repository fragment does not convert collection result to
Set#4094 - Derived query fails with
InvalidDataAccessApiUsageExceptionusingIgnoreCasefor nested property #4087
📔 Documentation
- Document projection support for
JPASpecificationExecutor#2499
🔨 Dependency Upgrades
- Upgrade to Eclipselink 5.0.0-B13 #4117
3.5.7
3.4.13
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!