スタック: Tomcat 7、Spring 3.1.1、OpenJPA 2.2.0
私は問題に遭遇しました、ルートは比較でした:
server1.equals(server2);
server1 と server2 はどちらもエンティティ「サーバー」のインスタンスです。
@Entity
public class Server implements Serializable {
private long id;
// getters and setters
}
比較を次のように変更する必要がありました。
server1.getId().equals(server2.getId());
サーバーのIDが同じであっても、上記のものはfalseを返します。2 つのインスタンスの hashCode も確認しましたが、実際には 2 つのインスタンスの hashCode が異なっていました。
アプリケーションに同じエンティティの 2 つのインスタンスがあるのはなぜですか?
どうすればそれが起こりますか?データベースには「サーバー」のエンティティが 1 つしかありません。
ありがとう!
セバスチャン