0

次のようなクラスがあるとします。

public class Container {
Element topElement;
Element rightElement;
Element leftElement;
.....

可能なDBマッピングは、Container_IDなどの外部キーによってリンクされたテーブルContainersと別のテーブルElementsを使用して行われます。テーブルElementsには、Container_ID、DB内のContainerオブジェクトの一意の識別子、および要素の位置(上、左、右など)を示すフラグで作成された複合主キーがあります。私はEclipseLinkをORM永続性プロバイダーとして使用していますが、専門家ではないため、通常はデータベース設計から始めて、ウィザードを使用してNetbeansにデータベースからエンティティを構築させます。そうすれば、Containerエンティティ内で要素のコレクションを取得しますが、同じタイプ(Element)の異なるフィールド(topElement、rightElementなど)が必要です。その目標を達成する方法はありますか?

ありがとうフィリッポ

4

1 に答える 1

0

いくつかのオプションがあります、

Collection変数を用意するだけで、適切な要素を返すget/setメソッドをクラスに提供します。(おそらく最良の解決策)。

コレクションを設定し、フィールドを内部的に設定するためのget/setメソッドを提供します。

OneToManyの代わりに4つの別々のOneToOne関係を使用します。マッピングをカスタマイズしてタイプをクエリしたり、オブジェクトモデルに一致するようにデータモデルを変更したりできます。

于 2012-09-04T14:12:27.587 に答える