程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Spring Data JPA查询返回重复的行而不是实际数据,为什么?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Spring Data JPA查询返回重复的行而不是实际数据,为什么??

开发过程中遇到Spring Data JPA查询返回重复的行而不是实际数据,为什么?的问题如何解决?下面主要结合日常开发的经验,给出你关于Spring Data JPA查询返回重复的行而不是实际数据,为什么?的解决方法建议,希望对你解决Spring Data JPA查询返回重复的行而不是实际数据,为什么?有所启发或帮助;

为了避免重复(重复)数据,我们必须确保有一个唯一的键,并且该键将由@ID注释。在此示例中, 为self并不是唯一的,这就是为什么结果显示重复数据的原因。 作为唯一字段是更好的选择。

public class Event {

    private String name;

    private String description;

    @ID
    private Date EventDateTiR_673_11845@e;

    //getter and setter code
}

或者,我们可以使用 和 定义一个复合唯一键。

public class CompositeKey implements serializable {

    private String name;

    private Date EventDateTiR_673_11845@e;
}

然后,使用@IDClass(copositeKey.class)注释 类,并使用@ID 注释 和 字段

 @IDClass(copositeKey.class)
 public class Event {
        @ID
        private String name;

        private String description;

        @ID
        private Date EventDateTiR_673_11845@e;

        //getter and setter code
    }

解决方法

实体类

public class Event {

    @Id
    private String name;

    private String description;

    private Date EventDateTiR_673_11845@e;

    //getter and setter code
}

服务等级

Eventservice {

  @Autowired EventRepository eventRepository;

  List<Event> getEvents () {
     List<Event> events = eventRepository.findAll();

     return events;
  }
}

对于示例数据集:事件(’add’,’‘,‘2018-01-01 00:00:10’)事件(’add’,’‘,‘2018-01-01
00:10:10’)事件(’delete’,’‘,‘2018-01-01 00:20:00’)事件(’edit’,``,‘2018-01-01
00:30:00’)

JPA findAll()查询返回重复的行:

事件(’add’,’‘,‘2018-01-01 00:00:10’)事件(’add’,’‘,‘2018-01-01 00:00:10’)事件(’add’,
‘’,‘2018-01-01 00:00:10’)事件(’add’,’‘,‘2018-01-01 00:00:10’)

@H_607_45@ @H_607_45@
@H_607_45@

大佬总结

以上是大佬教程为你收集整理的Spring Data JPA查询返回重复的行而不是实际数据,为什么?全部内容,希望文章能够帮你解决Spring Data JPA查询返回重复的行而不是实际数据,为什么?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。