2011-01-05 14 views
1

セットアップ:私はフォームの手のひらがそれぞれ別のページにある単純なWebアプリケーションを持っています。これらのフォームは患者データを表します。患者とこれらすべてのフォーム/エンティティとの間には1対1の関係があります。各フォームはdbテーブルとJPAエンティティに直接マップされますが、おそらく最高のアーキテクチャではないかもしれませんが、動作してシンプルです。 質問:フォーム/エンティティAとフォーム/エンティティBが共通のデータ(複数のフィールドの1つ)を共有している場合、JPAでそれを処理する最良の方法は何ですか。 I. - フォームAを介してデータが挿入された場合は、既存のデータとしてフォームBに表示する必要があります。言い換えれば、両方のエンティティがそのデータを格納する論理です。共通のデータを独自のエンティティに移動してその関係を定義する必要があると信じていますが、少なくとも基本的なJPAを使用していろいろな方法で試してみました。純粋なJPA関係でこれを行うことはできますか?これを手動で行うにはコードを書く必要がありますか?具体的にコードを探しているわけではなく、このデータをモデル化する正しい方法です。ありがとう。JPAエンティティ間でのデータ共有

+0

具体的な詳細を教えてください。 –

答えて

1

フォームに共通データの列が重複する別々のテーブルがある場合、データを直接共有することはできません。アプリケーション内のあるエンティティから別のエンティティへデータをコピーする必要があります。 Embeddableを使用して共通データを定義することはできますが、この埋め込み可能なコードをあるフォームから別のフォームにコピーする必要があります。

共通のデータを3番目のテーブルに入れると、データを共有できます。フォームAとフォームBは、共通データに対するOneToOne関係を定義します。

関連する問題