3

私たちは新しいプロジェクトを立ち上げており、JPA に eclipselink を使用することにしました。ドメイン モデルを作成しているときに、問題が発生しました。

組織と呼ばれる基本クラスがあります。また、両方とも組織を拡張するサプライヤーと顧客もいます。JPA がディスクリミネーターを使用しているテーブルを作成したとき、これの問題は、サプライヤーが組織である可能性があることです。

だから私が基本的に欲しいのは(これらはアイデアを得るためのデータベーステーブルです):

サブタイプを示すERD

これを明確にするのに役立つ小さな例:

SparklingGlass という顧客がいます。SparklingGlass は当社からコンピューターを購入するため、SparklingGlass は当社の顧客として保存されます。次に、SparklingGlass からウィンドウを購入するため、SparklingGlass はサプライヤーでもあります。これが私たちのシステムで実現したいことです。

これはJPAで何らかの方法で可能ですか?そうでない場合、これらの場合のベストプラクティスは何ですか?

ところで、JOINED 継承タイプを使用します

4

2 に答える 2

0

わかりません。Java 継承では、インスタンスは 1 つのクラスにのみ属することができます。サプライヤーと顧客は組織から継承するため、「すべての」サプライヤーと「すべての」顧客は組織です。

Supplier のクエリは、Organization テーブルと Supplier テーブルの両方を結合して、Supplier インスタンスを構築します。

于 2012-08-08T12:24:13.503 に答える