Releases: spring-projects/spring-data-jpa
Releases · spring-projects/spring-data-jpa
4.0.0-M3
📗 Links
⭐ New Features
- Support
NullHandling
inJSqlParserQueryEnhancer
#3886 - Support HQL
LIMIT
/OFFSET
without ordering #3882 - Use isolated Hibernate
EntityManager
for AOT contribution #3876 - Use
LocalVariableNameFactory
in repository contributor #3875 - Provide
JpaRepositoryFragmentsContributor
in JPA Repository Factory and Repository Factory Bean #3874 - Explore Search Results #3868
- Add support for Hibernate 7 Set-returning Functions in
from
Clause #3864 - Use parameter names in derived JPQL queries #3857
- Capture
@EnableJpaRepositories
configuration for AOT processing #3838 - Add support for JPA AOT Repositories #3830
- 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 - Adopt to deprecation removals in Commons #3683
- Refactor
DeclaredQuery
to decouple the query definition from its introspected state #3622 - Replace derived
CriteriaQuery
with String-based JPQL queries #3588 - Consider
NULLS
precedence usingSort
for Criteria Queries #3587 - Revise Specification API #3521
- Use provider built-in result count to reuse query if possible #3456
- java.lang.IllegalStateException is thrown by invoking findBy method #3294
- Translate
JpaSort.unsafe(…)
used with Specifications to order-byExpression
#3172 - Update JPQL and HQL parsers with newly introduced JPA 3.2 keywords #3136
🐞 Bug Fixes
- EQL parser fails to parse
LIKE
withESCAPE
clause #3873 JSqlParserQueryEnhancer
fails withClassCastException
during query introspection #3869- JPQL and EQL parser reject
CAST
function #3863 - DTO Projection rewriting rewrites queries returning properties to DTO form #3862
Specification.not()
fails withNullPointerException
when otherSpecification
returnsnull
#3849- HQL parser rejects HAVING without GROUP BY #3840
QueryRewriter
not applied to count queries #3801
📔 Documentation
- Document OpenFeign Querydsl usage #3859
- Clarify transaction boundary recommendation #3842
- Fix typos in JPA Query Methods documentation #3822
🔨 Dependency Upgrades
- Upgrade to Hibernate 7.0 CR2 #3887
- Upgrade to Hibernate 6.6.15.Final #3884
- Upgrade to Oracle OJDBC 23.8.0.25.04 #3881
- Upgrade to Hibernate 6.6.14.Final #3880
- Upgrade JDBC drivers #3847
- Upgrade to JSqlParser 5.2 #3846
- Upgrade to Hibernate 6.6.13.Final #3845
- Upgrade to Eclipselink 4.0.6 #3844
- Upgrade to Eclipselink 5.0.0-B07 #3837
- Upgrade to Hibernate 7.0.0.Beta5 #3836
- Upgrade to Hibernate 7.0 Beta3 #3723
- Upgrade to JPA 3.2 #3673
- Upgrade to Eclipselink 5.0.0-B05 #3672
- Upgrade to Hibernate 7.0 Beta1 #3671
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
3.5.0
📗 Links
⭐ New Features
- Support
NullHandling
inJSqlParserQueryEnhancer
#3886 - Support HQL
LIMIT
/OFFSET
without ordering #3882 - Adopt to deprecated
QueryMethod
constructor #3833 - Support
NullHandling
inQueryUtils
#3811 - Add support for
findBy(…)
using QuerydslPredicate
that returns aSlice
#3764 - Refine
StringQuery
parameter index allocation #3758 - Improve compatibility to use OpenFeign's Querydsl fork #3748
- Support custom countSpec in SimpleJpaRepository.findAll #3727
- FluentQuery ignores
.project(...)
#3716 - NEGATING_SIMPLE_PROPERTY should use
IS NOT NULL
when argument isnull
#3675 - Refine Specification API #3578
- java.lang.IllegalStateException is thrown by invoking findBy method #3294
- Rewrite string-queries to use constructor expressions when return type is DTO #3076
- Improve
QueryUtils.applyAndBind(…)
to avoidStackOverflowError
with many entities #2870 - Reuse existing
fetch
joins inQueryUtils
when creating order by expressions #2756 - Implement class-based DTO projections for Fluent API #2327
🐞 Bug Fixes
- EQL parser fails to parse
LIKE
withESCAPE
clause #3873 JSqlParserQueryEnhancer
fails withClassCastException
during query introspection #3869- JPQL and EQL parser reject
CAST
function #3863 - DTO Projection rewriting rewrites queries returning properties to DTO form #3862
Specification.not()
fails withNullPointerException
when otherSpecification
returnsnull
#3849- HQL parser rejects HAVING without GROUP BY #3840
- EQL parser rejects array of constants in IN expressions #3835
- EQL parser rejects reserved words and functions in
IN
expressions #3834 - Error when using reserved words in JPQL query for entity field names and packages #3832
- EqlParser prohibits the use of reserved words (JPQL aggregate functions) in entity field names #3829
QueryRewriter
not applied to count queries #3801- Regression using HQL queries with paging and implicit select #3792
No argument for named parameter
using parameter multiple times withIN
binding #3784- Invalid JoinType in QueryByExamplePredicateBuilder when using MatchMode ANY #3763
FluentQuery.page(Pagable pagable)
does not considerPageable.sort
#3762- Add sorting ability for unpaged request in QuerydslPredicateExecutor [DATACMNS-1405] #3761
- Using the
by
keyword on a duration object causes aBadJpqlGrammarException
#3757 ParameterBinder
creation fails during count query derivation of declared queries using parameters only inORDER BY
#3756- SELECT HQL without entity alias results in
SELECT COUNT(null)
query #3744 - Missing HQL support for JDBC literals #3739
- Generating countQuery for queries with CTE fails with actual pagination #3726
- Fix Hql-Queries using CEILING and LN. #3711
- JSqlParserQueryEnhancer produces invalid query that JSqlParser can't parse #3707
- HQL parser rejects
INSERT … ON CONFLICT
clause #3689 - Empty attributePaths on
@EntityGraph
produces exception #3682 - Should the
@Transactional
annotation be added to the delete method in the SimpleJpaRepository class, which takes a parameter of type Specification? Otherwise, it may cause a JDBC connection read-only exception when calling this method due to the@Transactional
(readOnly = true) annotation on the class. #3188 - Native query projection with records fail with
ConverterNotFoundException
#2757
📔 Documentation
- Document OpenFeign Querydsl usage #3859
- Clarify transaction boundary recommendation #3842
- Fix typos in JPA Query Methods documentation #3822
- Spring-Data
@Version-Property
inspection does not work with primitives for Entity State Detection #3798 - Refine Querydsl documentation #3774
- Document limitations of non-supported collection attributes in Query By Example #3740
- Pageable warnings incosistent or wrong #3660
QueryTypeMismatchException
if the DTO has a no-args constructor #3216- deleteBy operation easily triggers OOM and has horrible performance #3177
🔨 Dependency Upgrades
- Upgrade to Hibernate 6.6.15.Final #3884
- Upgrade to Hibernate 6.6.14.Final #3880
- Upgrade JDBC drivers #3847
- Upgrade to JSqlParser 5.2 #3846
- Upgrade to Hibernate 6.6.13.Final #3845
- Upgrade to Eclipselink 4.0.6 #3844
- Upgrade to Hibernate 6.6.11.Final #3819
- Upgrade to Hibernate 6.6.10.Final #3809
- Upgrade to Hibernate 6.6.9.Final #3788
- Upgrade to Hibernate 6.6.7.Final #3767
- Upgrade to Eclipselink 4.0.5 #3743
- Upgrade to Hibernate 6.6.4.Final #3742
- Upgrade to Hibernate 6.6.4.Final #3710
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
3.4.6
📗 Links
⭐ New Features
- Support HQL
LIMIT
/OFFSET
without ordering #3882
🐞 Bug Fixes
- EQL parser fails to parse
LIKE
withESCAPE
clause #3873 JSqlParserQueryEnhancer
fails withClassCastException
during query introspection #3869- JPQL and EQL parser reject
CAST
function #3863 Specification.not()
fails withNullPointerException
when otherSpecification
returnsnull
#3849
📔 Documentation
- Document OpenFeign Querydsl usage #3859
🔨 Dependency Upgrades
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
3.3.12
4.0.0-M2
📗 Links
⭐ New Features
- Add support for JPA AOT Repositories #3830
- Migrate to JSpecify annotations for nullability constraints #3745
- Refactor
DeclaredQuery
to decouple the query definition from its introspected state #3622 - Translate
JpaSort.unsafe(…)
used with Specifications to order-byExpression
#3172
🐞 Bug Fixes
📔 Documentation
- Fix typos in JPA Query Methods documentation #3822
🔨 Dependency Upgrades
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
3.5.0-RC1
📗 Links
⭐ New Features
🐞 Bug Fixes
- HQL parser rejects HAVING without GROUP BY #3840
- EQL parser rejects array of constants in IN expressions #3835
- EQL parser rejects reserved words and functions in
IN
expressions #3834 - Error when using reserved words in JPQL query for entity field names and packages #3832
- EqlParser prohibits the use of reserved words (JPQL aggregate functions) in entity field names #3829
QueryRewriter
not applied to count queries #3801
📔 Documentation
- Clarify transaction boundary recommendation #3842
- Fix typos in JPA Query Methods documentation #3822
🔨 Dependency Upgrades
- Upgrade JDBC drivers #3847
- Upgrade to Hibernate 6.6.13.Final #3845
- Upgrade to Eclipselink 4.0.6 #3844
- Upgrade to Hibernate 6.6.11.Final #3819
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
3.4.5
📗 Links
🐞 Bug Fixes
- HQL parser rejects HAVING without GROUP BY #3840
- EQL parser rejects array of constants in IN expressions #3835
- EQL parser rejects reserved words and functions in
IN
expressions #3834 - Error when using reserved words in JPQL query for entity field names and packages #3832
- EqlParser prohibits the use of reserved words (JPQL aggregate functions) in entity field names #3829
QueryRewriter
not applied to count queries #3801
📔 Documentation
- Clarify transaction boundary recommendation #3842
- Fix typos in JPA Query Methods documentation #3822
🔨 Dependency Upgrades
- Upgrade JDBC drivers #3847
- Upgrade to Hibernate 6.6.13.Final #3845
- Upgrade to Eclipselink 4.0.6 #3844
- Upgrade to Hibernate 6.6.11.Final #3819
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
3.3.11
📗 Links
🐞 Bug Fixes
- HQL parser rejects HAVING without GROUP BY #3840
- EQL parser rejects array of constants in IN expressions #3835
- EQL parser rejects reserved words and functions in
IN
expressions #3834 - Error when using reserved words in JPQL query for entity field names and packages #3832
- EqlParser prohibits the use of reserved words (JPQL aggregate functions) in entity field names #3829
📔 Documentation
- Clarify transaction boundary recommendation #3842
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
3.5.0-M2
📗 Links
⭐ New Features
- Reuse existing
fetch
joins inQueryUtils
when creating order by expressions #2756
🐞 Bug Fixes
- Regression using HQL queries with paging and implicit select #3792
No argument for named parameter
using parameter multiple times withIN
binding #3784- Invalid JoinType in QueryByExamplePredicateBuilder when using MatchMode ANY #3763
📔 Documentation
- Spring-Data
@Version-Property
inspection does not work with primitives for Entity State Detection #3798
🔨 Dependency Upgrades
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
3.4.4
📗 Links
⭐ New Features
- Reuse existing
fetch
joins inQueryUtils
when creating order by expressions #2756
🐞 Bug Fixes
- Regression using HQL queries with paging and implicit select #3792
No argument for named parameter
using parameter multiple times withIN
binding #3784- Invalid JoinType in QueryByExamplePredicateBuilder when using MatchMode ANY #3763
📔 Documentation
- Spring-Data
@Version-Property
inspection does not work with primitives for Entity State Detection #3798
🔨 Dependency Upgrades
❤️ Contributors
We'd like to thank all the contributors who worked on this release!