发布
社区首页 >问答首页 >在spring boot从2.1升级到2.3之后,Querydsl会产生UnsupportedOperationException

在spring boot从2.1升级到2.3之后,Querydsl会产生UnsupportedOperationException
EN

Stack Overflow用户
提问于 2020-11-20 04:35:27
回答 1查看 310关注 0票数 0

我的项目使用querydsl 4.1.3和spring-boot 2.1.x,在升级到querydsl 4.4和spring-boot 2.3.x之后,我遇到了这个错误:

代码语言:javascript
代码运行次数:0
复制
2020-11-19 18:24:22.683 ERROR 26060 --- [  XNIO-1 task-2] io.undertow.request                      : UT005023: Exception handling request to /eaud/login

java.lang.UnsupportedOperationException: null
    at java.util.Collections$UnmodifiableMap.put(Collections.java:1457)
    at com.querydsl.jpa.JPQLSerializer.visitConstant(JPQLSerializer.java:327)
    at com.querydsl.core.support.SerializerBase.visit(SerializerBase.java:221)
    at com.querydsl.core.support.SerializerBase.visit(SerializerBase.java:36)
    at com.querydsl.core.types.ConstantImpl.accept(ConstantImpl.java:140)
    at com.querydsl.core.support.SerializerBase.handle(SerializerBase.java:122)
    at com.querydsl.core.support.SerializerBase.visitOperation(SerializerBase.java:301)
    at com.querydsl.jpa.JPQLSerializer.visitOperation(JPQLSerializer.java:437)
    at com.querydsl.core.support.SerializerBase.visit(SerializerBase.java:262)
    at com.querydsl.core.support.SerializerBase.visit(SerializerBase.java:36)
    at com.querydsl.core.types.OperationImpl.accept(OperationImpl.java:83)
    at com.querydsl.core.support.SerializerBase.handle(SerializerBase.java:122)
    at com.querydsl.jpa.JPQLSerializer.serialize(JPQLSerializer.java:220)
    at com.querydsl.jpa.JPAQueryBase.serialize(JPAQueryBase.java:60)
    at com.querydsl.jpa.JPAQueryBase.serialize(JPAQueryBase.java:50)
    at com.querydsl.jpa.impl.AbstractJPAQuery.createQuery(AbstractJPAQuery.java:98)
    at com.querydsl.jpa.impl.AbstractJPAQuery.fetchOne(AbstractJPAQuery.java:252)
    at br.gov.cgu.eaud.negocio.auth.UsuarioRepository.getPorCpfSeExistir(UsuarioRepository.java:63)

产生错误的查询非常简单:

代码语言:javascript
代码运行次数:0
复制
  private QUsuario usuario = QUsuario.usuario;

  public Usuario getPorCpfSeExistir(String cpf) {
        return getJPAQuery()
                .select(this.usuario)
                .from(this.usuario)
                .where(this.usuario.cpf.eq(cpf))
                .fetchOne();
    }

getJPAQuery方法是一个简单的return new JPAQueryFactory(this.getEntityManager());

我试过使用spring-boot 2.3附带的版本,也就是querydsl:4.3.1,但也不能工作。版本4.1.3也不能工作。

有可能是什么原因造成的线索吗?

EN

回答 1

Stack Overflow用户

发布于 2020-11-20 05:29:13

好的,在清理了我的maven的缓存之后解决了这个问题。看起来好像它没有根据我的POM更新我的项目。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64919570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档