Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaSpring如何检查两个对象是否相等,其中一个是否延迟加载_Java_Spring Boot_Hibernate - Fatal编程技术网

JavaSpring如何检查两个对象是否相等,其中一个是否延迟加载

JavaSpring如何检查两个对象是否相等,其中一个是否延迟加载,java,spring-boot,hibernate,Java,Spring Boot,Hibernate,我尝试比较两个对象-其中一个是延迟加载的: @Entity public class Path{ public void removePoint(Point point) { if (point.getPath() != null && point.getPath() != this) { throw new IllegalArgumentException(String.format("Point %s does not belong to

我尝试比较两个对象-其中一个是延迟加载的:

@Entity
public class Path{
 public void removePoint(Point point) {
if (point.getPath() != null && point.getPath() != this) {
            throw new IllegalArgumentException(String.format("Point %s does not belong to path%s", point, this));
        }
        point.setPath(null);
        this.getPoints().remove(point);
    }
}
检查:

window.getPath().removePoint(point);
问题是这两个对象没有相同的引用:
point.getPath()
this


问题是,这两个obejct具有不同引用的原因是否是其中一个是延迟加载的(类似于
Path$HibernateProxy)$Di4Siuwn@32825
)?

如果对象是延迟加载的,那么它们将不是您定义的实际实体类,而是您现在发现的路径$HibernateProxy的代理实现$Di4Siuwn@32825 在java中,通常应该使用equals方法来比较对象。Hibernate实体可能需要一些额外的处理来帮助进行相等比较。请详细阅读本文

非常感谢您的回答-我想这就是我要寻找的答案:)精彩的文章!