Spring Boot QueryDsl返回的原因:java.lang.UnsupportedOperationException:null

Spring Boot QueryDsl返回的原因:java.lang.UnsupportedOperationException:null,java,spring-boot,spring-mvc,jpa,spring-data,Java,Spring Boot,Spring Mvc,Jpa,Spring Data,代码如下 QContinent continent = QContinent.continent; JPAQuery query = new JPAQuery(entityManager); query.from(continent).where(continent.name.eq("www")); List<Object> fetch = query.fetch(); System.err.println("===" + fetch)

代码如下

    QContinent continent = QContinent.continent;

    JPAQuery query = new JPAQuery(entityManager);


    query.from(continent).where(continent.name.eq("www"));
    List<Object> fetch = query.fetch();

    System.err.println("===" + fetch);
QContinent-continent=QContinent.continent;
JPAQuery query=新的JPAQuery(entityManager);
query.from(contraction.where(contraction.name.eq(“www”));
List fetch=query.fetch();
System.err.println(“==”+获取);
这将返回
原因:java.lang.UnsupportedOperationException:null 在java.util.Collections$UnmodifiableMap.put(Collections.java:1457)~[na:1.8.0\u 191] 在com.querydsl.jpa.JPQLSerializer.visitConstant(JPQLSerializer.java:327)~[querydsl-jpa-4.2.1.jar:na] 在com.querydsl.core.support.SerializerBase.visit(SerializerBase.java:221)~[querydsl-core-4.3.1.jar:na] 在com.querydsl.core.support.SerializerBase.visit(SerializerBase.java:36)~[querydsl-core-4.3.1.jar:na]
在com.querydsl.core.types.ConstantImpl.accept(ConstantImpl.java:140)~[querydsl-core-4.3.1.jar:na]

正如@user3388770所建议的,原因是版本不匹配。通常,在您的
pom.xml
/
build.gradle
中,不要为依赖项指定版本,Spring已经提供了,除非您出于某种原因确实需要它

您可以在这里找到已使用/兼容的依赖项:(根据您的Spring版本更改版本)

如果出现错误,您的依赖项应该如下所示(
build.gradle
):

插件{
id“org.springframework.boot”版本“2.3.1.RELEASE”
id“io.spring.dependency management”版本“1.0.9.RELEASE”
...
}
应用插件:“org.springframework.boot”
应用插件:“io.spring.dependency management”
...
依赖关系{
注释处理器(
...
//有些人在“jpa”之前加了一个版本。
“com.querydsl:querydsl apt::jpa”
...
)
//只是一个没有版本号的示例,因为它们是随spring boot自动交付的
编译“org.springframework.boot:springbootstarterweb”
编译“org.springframework.boot:springboot执行器”
...
编译组:“org.apache.httpcomponents”,名称:“httpclient”
编译“org.thymeleaf.extras:thymeleaf-extras-java8time”
//但最重要的是,这一点如下
编译“com.querydsl:querydsl-jpa”
}

谢谢@Eklavya的回复,但问题出在querydsl版本上您使用的是哪个版本的@umesh?@user3388770这是版本问题,现在已经解决了。我面临着类似的问题,可能是什么样的版本问题?@user3388770请从pom.xml中删除querydsl依赖项