[Seasar-user:11803] [DBFlute]dbflute.bsentity.customizeパッケージのクラスのequalsメソッドの意図
Taro Unno
[E-MAIL ADDRESS DELETED]
2007年 11月 26日 (月) 14:44:17 JST
海野です。
いつもお世話になっております。
DBFluteで自動生成したエンティティクラスの
equalsメソッドについて質問です。
外だしSQLからsql2entityで自動生成すると、
ルートパッケージ.dbflute.bsentity.customize
のEntityクラスに、
public boolean equals(Object)
というメソッドが作成されると思います。
ここで、例えばあるEntityがaaaというプロパティを持っているとすると、
equalsメソッドで
if (getAaa() == null || !getAaa().equals(otherEntity.getAaa())) {
return false;
}
と判定するようになっていると思います。
このif文の判定式の最初の
getAaa() == null
という判定の意図を知りたいのです。
質問は、次の2点です。
■質問1.
getAaa() と otherEntity.getAaa() が両方nullである場合
trueと判定しないのはなぜでしょうか。
■質問2.
この場合trueとしたいので、継承先のクラスでequalsメソッド
をオーバーライドしようと思います。
オーバーライドすることについて注意点や懸念事項はありますでしょうか。
環境はDBFlute0.5.4です。
どなたか、どうぞ宜しくお願い致します。
Seasar-user メーリングリストの案内