Aus den Release-Notes: https://github.com/querydsl/querydsl/releases/tag/QUERYDSL_5_0_0:
This release of QueryDSL targets Java 8 minimally and comes with various improvements to make QueryDSL ready for the modern Java ecosystem.
This version also removes joda-time:joda-time
, com.google.guava:guava
and com.google.code.findbugs:jsr305
as required runtime dependencies for using QueryDSL.
QueryDSL 5.0 is the long awaited major release after the QueryDSL project was left mostly unmaintained for over two years.
New features
- #2672 – Various performance and code improvements possible by targeting Java 8 source level.
- #2672 – Added
Fetchable#stream()
which returns aStream<T>
.
Make sure that the returned stream is always closed to free up resources, for example using try-with-resources.
It does not suffice to rely on a terminating operation on the stream for this (i.e.forEach
,collect
). - #2324 – Removal of Guava as dependency.
Almost no required transitive dependencies to get started with QueryDSL.
And no more conflicts with Guava versions required by your other tools or own application. - #2025 –
joda-time:joda-time
is no longer a required dependency forquerydsl-sql
.
By default, the Java 8 date/time API is used for date/time operations.
Thejoda-time:joda-time
types will still be registered automatically if they are on the classpath. - #2215 – MongoDB 4 support through the Document API
- #2697 – Allow
com.querydsl.core.alias.Alias.*
to be used on a JRE by relying on ECJ as compiler - #2479 – Swap out JSR305 for Jetbrains Annotations.
Because the Jetbrains Annotations, contrary to the JSR305 annotations, use a Class retention level, Jetbrains Annotations
does not have to be available at runtime and is not a transitive dependency. - #658 – Added
JPAExpressions#treat
which can be used to generate JPA 2.1 Treated path expressions. - #2666 – More descriptive error message when using unsupported query features in JPA.
- #2106 – Support NullsLast ordering in
querydsl-collections
. - #2404 – Upgrade of JTS / Geolatte in
querydsl-spatial
- #2320 – Make Spatial support available to
HibernateDomainExporter
andJPADomainExporter
. - #2612 – Support jakarta.* packages for new Jakarta EE releases (available through the
jakarta
classifiers for Maven) - #1376 – Return typed expression from
nullif
andcoalesce
methods. - #1828 – Kotlin Codegen support
- #2798 – Java Record support
Wie ist denn der Einsatz bei euch von QueryDSL? Eine wichtiger Baustein in eurer Unternehmensanwendung?