📗 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!