【问题标题】:How to comapre two list of hibernate entities are equal如何比较两个休眠实体列表是否相等
【发布时间】:2019-09-20 05:41:55
【问题描述】:

我有 2 个休眠实体的列表。 我需要比较它们。当我使用 equals() 时,它总是给出 false,因为它的引用不同。

E1.equals(E2)

【问题讨论】:

    标签: java list hibernate jpa java-8


    【解决方案1】:

    这是因为您仅在评估相等性时才引用 List 对象。您必须遍历集合进行检查(假设顺序很重要):

    E1.size() == E2.size() && IntStream.range(0, E1.size())
        .allMatch(index -> E1.get(index).equals(E2.get(index)));
    

    P.S.1:变量名在java中是小写的。

    P.S.2:确保正确定义 equalshashCode。默认情况下,同一实体在不同状态(托管、分离)中不相等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-06
      • 2019-02-21
      • 1970-01-01
      • 2014-09-20
      • 2016-03-05
      • 1970-01-01
      • 2013-08-18
      • 2021-05-23
      相关资源
      最近更新 更多