【解决问题】JPA里查询实体类因@Id导致的数据重复

背景:

需求上线,第二天出现问题,运维找我说,生成的数据重复,但是数量确是对的

原因:

经过排查发现是@Id这个注解造成的原因

分析:

注解意思:

@Id 标注用于声明一个实体类的属性映射为数据库的主键列。该属性通常置于属性声明语句之前,可与声明语句同行,也可写在单独行上。 

jpa查询的行为:

jpa框架底层有一个操作是先对@ID的字段进行查询,再查询行数据

那么查询回来的值不重复时没有问题,一旦有重复则出现问题,后面的数据被前面的覆盖

修改方案:

把@ID加在唯一主键上,或其他能保证唯一的字段上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值