java - 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)
解决方案
推荐阅读
- python - 如何从文件中创建树状图?
- java - 如何修剪字符串Android中的多行?
- list - Create generic extension to make a deep copy of a List with Data Class
- python - 如何从 MDTextField 获取输入?
- node.js - 反应:如果对象键值也为真,则 defaultChecked 设置为真
- flutter - 在发布 apk 时颤动统一 AR 黑屏并在调试中正常工作
- python - re.finditer() 返回的迭代可迭代对象与在迭代之前将其类型转换为列表之间有什么区别。PYTHON
- git - 如何从 Visual Studio 的主分支中删除分支?
- azure - 推荐的 NameIdFormat 用于在 SAML 中使用用户主体名称 (UPN) 作为 NameId
- android - 如何更新电子邮件和更新密码 Firebase 身份验证