结论
博客开头先放结论:
当在开发过程中,遇到一些冷门的bug或者本该没有bug但却出现bug的情况,可以尝试Rebuild Project,说不定问题就解决了。
报错信息
今天,我遇到的bug,我花了一个下午去寻找寻解决方案,但都没有找到,最终通过Rebuild Project解决了。
bug我没有复现出来,只有一些只言片语的报错信息,在这里放出来,希望遇到同样问题的同学也能解决。
ERROR 4676
Error accessing field [XXX] by reflection for persistent property
Request processing failed; nested exception is org.hibernate.property.access.spi.PropertyAccessException
背景
接下来具体说一下这个问题产生的背景。
最近我在学习Hiberate+SpringBoot,上午将项目搭建好了,并且Hiberate我已经进行过单元测试了。然后下午,当在Controller中调用DAO时,出现了上面的报错。
这个报错信息的大体意思是,无法通过反射获取对象的属性的值或者为对象的属性的值赋值,但其实我在Bean类中已经写好了get和set函数,并且,对于另一个Bean类(没有get和set函数),也同样会报这个错。
令人疑惑的地方是,在报错后,我重新单元测试了一下DAO的代码,发现是没有问题的,然后就各种百度、谷歌,都没有解决。
最后,通过Rebuild Project,就奇迹般的好了。
我猜想,应该是IDEA的缓存导致.class文件的部分内容出现了缺失。