We are in the process of upgrading to Spring Boot 3.1.5.
In the associated spring-boot-dependencies pom we can see that this pulls in:
* hibernate.version: 6.2.13.Final
* querydsl.version: 5.0.0
We are declaring our querydsl dependencies like this
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-jpa</artifactId>
<version>${querydsl.version}</version>
<classifier>jakarta</classifier>
</dependency>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
<version>${querydsl.version}</version>
<classifier>jakarta</classifier>
<scope>provided</scope>
</dependency>
However, when looking at some of the downloaded classes like com.querydsl.jpa.hibernate.AbstractHibernateQuery we can see that it contains an invalid method call query.setFlushMode(flushMode);. Hibernate 6 now expects the parameter to be of type FlushModeType rather than FlushMode.
Another example is JPADeleteClause which is still importing javax.persistence classes.
Looking at the Querydsl project pom we can see that it is still being built against 5.4.8.Final.
It is unclear to us how this can be expected to work or what we might be doing wrong.
Comment From: wilkinsona
We do our best to maintain compatibility but that's not always 100% possible. You may want to subscribe to https://github.com/querydsl/querydsl/issues/3543.