【解决问题】JPA里查询实体类因@Id导致的数据重复
JPA里查询实体类因@Id导致的数据重复
·
背景:
需求上线,第二天出现问题,运维找我说,生成的数据重复,但是数量确是对的
原因:
经过排查发现是@Id这个注解造成的原因
分析:
注解意思:
@Id 标注用于声明一个实体类的属性映射为数据库的主键列。该属性通常置于属性声明语句之前,可与声明语句同行,也可写在单独行上。
jpa查询的行为:
jpa框架底层有一个操作是先对@ID的字段进行查询,再查询行数据
那么查询回来的值不重复时没有问题,一旦有重复则出现问题,后面的数据被前面的覆盖
修改方案:
把@ID加在唯一主键上,或其他能保证唯一的字段上
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)