1

: EJB 3、JPA (EcipseLink) および Oracle データベース

アプリケーションには、Group と Person の 2 つのエンティティがあります。1 対多の関係があります。

要件は、後でロールまたは表示するために、Group および Person のすべての変更を保存する必要があることです。

最初のアイデア:

変更/作成の ID とタイムスタンプを Group と Person の複合主キーとして作成します。すべての変更により、同じ ID と新しいタイムスタンプを持つ新しいオブジェクトが作成されます。たとえば、グループの帽子が変更された場合、新しいグループを作成します。しかし、Group と Person の関係は変わりません。ここで問題が発生します。「1 対多」という制約が破られます。これで、1 人の人物が同じ ID を持つ 2 つのグループと関係を持ちます。

2番目のアイデア:

Group と Person の場合、別の 2 つのエンティティ GroupArchive と PersonArchive を作成します。Group と Person では最新の情報のみ。すべての変更がコピーされ、アーカイブ エンティティに保存されます。Group と GroupArchive の間には、1 対多の関係があります。Person と PersonArchive についても同様です。

私のアイデアは実現可能ですか?誰かがより良いアイデアを持っていますか?

4

0 に答える 0