0

私は JPA で ORM 継承に出くわし、その背後にある設計原則について常に疑問に思っていました。

フレームワークが、リレーショナル データベースのテーブルをモデル化する 2 つのクラス間の継承関係を有効にするのは汚いと思います - おそらく例とチュートリアルを除いて、ほとんどの現実世界のケースでは、Liskov 置換の原則は窓の外に出ます。

どのような場合に継承を使用したい/する必要がありますか? 定義上、悪い設計ではないでしょうか。これらの場合、結合は目的を果たさないでしょうか?

ORM の継承を思いついた人々はこれについて考えていたと思います.ORM で継承を有効にする必要性があったに違いありませんが、設計上の欠陥があります (少なくとも私の目には)。その必要性は何ですか?継承のこの欠陥のある設計概念が ORM に存在するのはなぜですか?

JPA での ORM 継承のリファレンス --> http://en.wikibooks.org/wiki/Java_Persistence/Inheritance

ありがとう。

4

1 に答える 1

0

クラスで継承の概念が必要な場合は、クラスで継承を使用します。(ほとんどの場合)選択した永続性ソリューションが処理できるものを中心にモデルを設計することはありません。ORMはその選択とは何の関係もありません(そうあるべきです)。ORMには、継承ツリーを永続化する方法があります。

于 2013-02-26T19:16:39.977 に答える