私はDDDについてEric Evansの本を読んでいます。私は次の引用に疑問があります。属性を使用しない場合は、どうすればequals()
メソッドを作成しますか?私はJPAを使用していますが、固有のid属性を持っていますが、実際にエンティティを永続させるまでは設定されていません。あなたは何をしていますか?私は属性に基づいてequalsメソッドを実装しています。なぜなら、それは私のプロジェクトで失敗したからです。エンティティに関するドメイン駆動型設計のエンティティ
章:オブジェクトは、むしろその 属性よりも、そのIDによって区別される
は、モデル内の定義にこのプライマリを作ります。 のクラス定義はシンプルで、ライフサイクルの継続性と、 のIDに集中してください。 のフォームまたは履歴に関係なく、各オブジェクトを区別する手段を定義します。属性によって オブジェクトを一致させる必要がある要件に注意してください。 が各オブジェクトに対してユニークな結果を生成することが保証されている操作を定義します。 というシンボルが一意に保証されている可能性があります。この識別手段は、 が外部から来たものでもよく、 によって作成された任意の識別子であっても構わないが、モデル内の識別番号 に対応していなければならない。モデルは、同じことを意味するものを と定義しなければなりません。
http://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215
可能な複製、http://stackoverflow.com/questions/5031614/the-jpa-hashcode-equals-dilemma – MRalwasser
idは私のために正常に動作します参照してください。http://stackoverflow.com/questions/7579404 /使用して自動生成されたIDのハイバネーションエンティティオブジェクトと同等のハッシュコードのオブジェクト – NimChimpsky