[jpa:92] Re: Kuina-Dao利用時にエンティティのequals()のオーバーライドは必要でしょうか?

Toshihiro Nakamura [E-MAIL ADDRESS DELETED]
2008年 1月 11日 (金) 01:26:26 JST


中村(taedium)です。

> Kuina-Dao利用時に、エンティティクラスのequals()メソッドのオーバーライドは必要でしょうか?

Kuina-Daoとは関係なく、JPAとして必須ではありません。
アプリケーションでオーバーライドしたほうが便利であれば定義するという
スタンスでいいと思います。

> 永続性という観点から、equals()はidフィールド(主キー)の一致の判定という形にすべきと、"EJB3.0プログラミング"(青い本)に記載があったのですが、Kuina-Daoのサンプルの方では特に触れられていないようです。

@GeneratedValueなどでidを自動設定している場合は
equals()でidを使うのは適切ではないと思います。
エンティティにidがまだ割り当てられていない状態があるからです。

使うなら自然キー(ビジネスキー)がいいと思います。

Hibernateインアクションの4章でこのあたりの話が詳しく解説されていました。
参考になるかもしれません。
-- 
Toshihiro Nakamura



jpa メーリングリストの案内