我的项目使用querydsl 4.1.3和spring-boot 2.1.x,在升级到querydsl 4.4和spring-boot 2.3.x之后,我遇到了这个错误:
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)
产生错误的查询非常简单:
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也不能工作。
有可能是什么原因造成的线索吗?
发布于 2020-11-20 05:29:13
好的,在清理了我的maven的缓存之后解决了这个问题。看起来好像它没有根据我的POM更新我的项目。
https://stackoverflow.com/questions/64919570
复制相似问题