翻车现场:org.springframework.data.mapping.PropertyReferenceException

孤人 提交于 2020-07-27 22:10:12

翻车现场:

在IDEA进行MongoDB进行自定义查询操作时,出现的Bug:

Caused by: org.springframework.data.mapping.PropertyReferenceException: No property name found for type Teacher! Did you mean 'age'?

报错:

 

错误代码: 

测试类:

TeacherRepository:

 

 

 

原因:

上面的代码,好像一眼看去,没什么问题, 但是在不知道的情况下,已经出问题了,

其中: 接口的命名:  findByNameAndAge 中的name和age 与实体类中的不一致,导致的问题

在Spirng Data MongoDB中, 如果进行自定义方法查询,是有规则限制的, 在MongoRepository下的接口命名是不能随意命名的,  其中的变量需要与实体类中的变量名一致

 

 

解决:

只要把原本 findByNameAndAge 改成  findByUsernameAndAge 即可

 

注意: 

除了字段名保持一致, 其他的也要根据 Spring Data mongodb提供自定义方法的规则: 如下:

按照findByXXX,findByXXXAndYYY、countByXXXAndYYY等规则定义方法,实现查询操作。

 

 

 

看完恭喜你,又知道了一点点!!!

你知道的越多,不知道的越多! 

~感谢志同道合的你阅读,  你的支持是我学习的最大动力 ! 加油 ,陌生人一起努力,共勉!!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!