欢迎大家关注我的公众号,有问题可以及时和我交流。
问题描述
1.在公司有个项目使用的是SpringBoot的项目搭建的,对数据层使用的是JPA。在查询数据的时候发现有个记录查询出来的结果和预想的结果不一样,于是就在项目运行的时候把SQL打印出来去数据库查看,但是SQL查询出来的结果明明是正确的,可是偏偏就是在页面展示的时候不是正确的。
2.具体问题是这样的:两条记录,金额是不一样的,但是页面展示的确是同一条数据。
解决过程
1.在刚开始的时候以为是数据问题,可是经过打印出来的SQL查看并不是SQL问题。于是百思不得其解,我一边改着其他的数据,一边运行项目查看结果。
2.我尝试着修改数据集中的一条记录,每个字段分开进行修改,直到尝试到一个“机器识别号”的字段的时候我的数据能够展示正常了。
3.于是我就想到了这个表的结构,查看之后发现是联合主键,JPA在对数据查询的时候会根据联合主键去查询数据(或者是主键)如果相同的就展示同一条记录。
反思
在接收别人的代码之后,如果排除了数据库SQL原因,和页面展示的时候逻辑处理的原因还没有解决问题的话,可以看一看对应表的结构,也许会有帮助。
欢迎大家关注我的公众号,有问题可以及时和我交流。