jpa读取表中数据如果实体类中指定的ID有重复
- JPA是根据实体类中的配置去查找表;
- 实体类有@ID这个注解,而这个注解可以再数据库表没有指定主键时任意挂在其他属性上,并且不是必须;
- 如果@ID挂的属性,在表中有多条记录的该属性是相同的,那么查询出来的结果就是@ID所在属性相同数据的所有属性都相同,与@ID所在属性相同的第一个数据相同(真实遇见过的情况);
- 解决办法:
4.1. 把@ID放到其他属性上去,确保所放的属性是唯一不重复
4.2把数据库中的数据导出,重新建表,并再重新导入修正后的数据;