gpt4 book ai didi

java - 应用程序中可以有同一(开放)JPA 实体的多个实例吗?等于不适用于实体实例?

转载 作者:行者123 更新时间:2023-12-01 18:57:14 29 4
gpt4 key购买 nike

我们的堆栈:Tomcat 7、Spring 3.1.1、OpenJPA 2.2.0

我遇到了一个问题,根源是比较:

server1.equals(server2);

server1 和 server2 都是实体“Server”的实例:

@Entity
public class Server implements Serializable {
private long id;
// getters and setters
}

我必须将比较更改为:

server1.getId().equals(server2.getId());

那个有效,上面的返回 false,即使服务器的 id 相同。我还检查了两个实例的hashCode,这两个实例确实有不同的hashCode。

为什么我们的应用程序中有同一实体的两个实例?

怎么会发生这种事?数据库中只有一个“服务器”实体。

谢谢!
塞巴斯蒂安

最佳答案

例如,如果您使用不同的实体管理器或不同的事务加载它们,将会有不同的实例。

关于java - 应用程序中可以有同一(开放)JPA 实体的多个实例吗?等于不适用于实体实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13559623/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com