OO设计和更改日志功能的数据模型

时间:2012-11-30 11:05:42

标签: jpa data-modeling relationship

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

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

要求是,必须保存组和人的每个更改,以便以后滚动或显示。

第一个想法:

  

将change / create的id和timestamp作为Group和Person的复合主键。    每次更改都将创建一个具有相同ID和新时间戳的新对象。例如,已更改组帽,然后创建新组。但是群与人之间的关系不变。这里有一个问题:宪章“一对多”会破裂!现在有一个人与两个具有相同身份的群体建立了关系。

第二个想法:

  

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

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

0 个答案:

没有答案