首页 > 解决方案 > Spring Data Mongo API PropertyReferenceException

问题描述

我正在使用 spring-boot(2.0.8.RELEASE) 并连接 Mongo DB。我正在尝试使用 MongoTemplate 按名称字段查找员工文档。

  • 查询中
Collection<String> names = getNames(); 
Query query = new Query(Criteria.where("name").in(names )); 
mongoTemplate.find(query, Employee.class)

我面临找不到类型 Employee 的属性 $in!您指的是“_id”吗?例外。

为什么我会遇到这个问题?但响应没有影响,按预期工作。

例外

org.springframework.data.mapping.PropertyPath.(PropertyPath.java:94) org.springframework.data.mapping.PropertyPath.create(PropertyPath.java:358) org.springframework.data.mapping.PropertyPath.create(PropertyPath.java :334) org.springframework.data.mapping.PropertyPath.lambda$ org.springframework.data.mapping.PropertyPath$$Lambda$.apply java.util.concurrent.ConcurrentMap.computeIfAbsent(ConcurrentMap.java:324) org.springframework。 data.mapping.PropertyPath.from(PropertyPath.java:269) org.springframework.data.mongodb.core.convert.QueryMapper$MetadataBackedField.getPath(QueryMapper.java:949) org.springframework.data.mongodb.core.convert. QueryMapper$MetadataBackedField.(QueryMapper.java:832) org.springframework.data.mongodb.core.convert.QueryMapper$MetadataBackedField.with(QueryMapper.java:843) org.springframework.data.mongodb.core.convert。QueryMapper$MetadataBackedField.with(QueryMapper.java:789) org.springframework.data.mongodb.core.convert.QueryMapper.getMappedKeyword(QueryMapper.java:292) org.springframework.data.mongodb.core.convert.QueryMapper.getMappedObjectForField( QueryMapper.java:230) org.springframework.data.mongodb.core.convert.QueryMapper.getMappedObject(QueryMapper.java:141) org.springframework.data.mongodb.core.MongoTemplate.doFind(MongoTemplate.java:2252) org. springframework.data.mongodb.core.MongoTemplate.doFind(MongoTemplate.java:2242) org.springframework.data.mongodb.core.MongoTemplate.find(MongoTemplate.java:771) org.springframework.data.mongodb.core.MongoTemplate.查找(MongoTemplate.java:757)com.demo.employee.repositories.EmployeeRepositoryImpl.getEmployeeDetails(EmployeeRepositoryImpl.java:62)com.demo.employee.repositories。EmployeeRepositoryImpl$$FastClassBySpringCGLIB$$d3e7ecc7.invoke() org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:746) org .springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java :185) org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) com.demo.employee.repositories.EmployeeRepositoryImpl$$EnhancerBySpringCGLIB$$.getEmployeeDetails com.demo.employee.services.EmpService。getEmpFromRepo(EmpService.java:304) com.demo.employee.services.EmpService.getMultipleSupplyItems(EmpService.java:347) com.demo.employee.services.EmpService$$FastClassBySpringCGLIB$$6fbf28bd.invoke() org.springframework.cglib .proxy.MethodProxy.invoke(MethodProxy.java:204) org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:684) com.demo.employee.services.EmpService$$EnhancerBySpringCGLIB$$.getMultipleSupplyItems com .demo.employee.controllers.EmpController.getEmpCollectionDetails(EmpController.java:88) com.demo.employee.controllers.EmpController$$FastClassBySpringCGLIB$$2d4fd3b1.invoke() org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy. java:204) org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:746) org.springframework.aop。framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:119)

标签: javaspring-bootmongodb-queryspring-dataspring-data-mongodb

解决方案


推荐阅读