0

JUnit を使用して 2 つの Hibernate セッションが同じかどうかをテストする方法を知っていますか? オーバーライドする必要がありますequals()か?

4

2 に答える 2

1

2 つの参照が同じオブジェクトを指しているかどうかを確認したいだけなら、== 演算子で十分です。

等しいかどうかをテストする場合、つまり、同じ変数を持っていることを確認する場合は、equals メソッドを特定のロジックでオーバーライドして、等しいかどうかを判断する必要があります。ただし、オブジェクトが変更するソースにアクセスできないタイプの場合は、要件を満たす方法で equals メソッドを実装するオブジェクトに依存する必要があります。

それがあなたの望むものではないまれなケースでは、クラスが拡張可能である限り、equals メソッドをオーバーライドする Anonymous クラスを作成できます。

于 2012-12-18T04:09:47.247 に答える
0

この質問をチェックしてくださいHibernate Object Equality Checking

上記の参照から、JUnit assert は次のようになります。

assertTrue(o1.getClass().equals(o2.getClass()) && o1.getId().equals(o2.getId()));

于 2012-12-18T04:27:01.317 に答える