1

EJB 3、JPA (EcipseLink) 和 Oracle 数据库

一个应用程序有两个实体:Group 和 Person。存在一对多的关系。

要求是,必须保存 Group 和 Person 的每个更改以供以后滚动或显示。

第一个想法:

将更改/创建的 id 和时间戳作为 Group 和 Person 的复合主键。每次更改都会创建一个具有相同 id 和新时间戳的新对象。例如,更改组帽子,然后创建一个新组。但是Group和Person之间的关系是不变的。这里有一个问题:“一对多”的限制将被打破!现在一个人与具有相同 id 的两个组的关系。

第二个想法:

为 Group 和 Person 创建另外两个实体 GroupArchive 和 PersonArchive。在 Group 和 Person 中只有最新的信息。任何更改都将被复制并保存到存档实体。Group 和 GroupArchive 之间是一对多的关系。Person 和 PersonArchive 也是如此。

我的想法可以实现吗?有人有更好的主意吗?

4

0 回答 0