最近在做批处理数据时,由于数据源出现表无主键的情况,导致查询出来的的数据重复
- JPA查询时实体必须要有主键,于是随意指定了字段设置了
@ID
数据展示
原始数据
| name | sex |
|---|---|
| 王五 | 0 |
| 王五 | 1 |
| 王五 | 2 |
| 王五 | 0 |
| 测试 | 0 |
| 真实 | 0 |
| 测试 | 1 |
| 测试 | 1 |
| 张三 | 0 |
查询数据
[{"name": "王五","sex": 0},{"name": "王五","sex": 0},{"name": "王五","sex": 0},{"name": "王五","sex": 0},{"name": "测试","sex": 0},{"name": "真实","sex": 0},{"name": "测试","sex": 0},{"name": "测试","sex": 0},{"name": "张三","sex": 0}]
JPA
dao
/*** 测试无主键下的查询** @author tn* @version 1* @date 2021-06-26 13:01*/public interface JpaIdDao extends JpaRepository<JpaIdBean,String> {}
entity
/*** 测试没有主键的情况下使用jpa查询** @author tn* @version 1* @date 2021-06-26 12:58*/@Table(name = "jpa_id")@Entity@Datapublic class JpaIdBean {// 由于必须要有个主键,就随便用了个@Idprivate String name;private Integer sex;}
