使用Hibernate中的继承将对象从子类表复制到超类表



我正在制作一个网站,允许用户将记录添加到数据库中。在添加记录之前,提交的记录需要先由主持人批准,然后才能在实际记录表中允许。我想利用2个记录对象来实现这一目标。一个是另一个子类,并继承其所有列和属性。

因此,pendingRecord扩展了记录。pendingRecord提交首先进入pendingRecord表(与记录表中的列相同(,当它被主持人批准时,pendingRecord Row将添加到记录表中,并从pendingRecord表中删除。

有人知道我如何实现这一目标吗?我已经考虑使用@inheritance和@mappedsuperclass注释,但它们似乎都没有给我解决方案。

善意,

,据我所见,您不遵循语义:

您有一个包含未批准数据的记录。另一个记录是关于批准的数据。因此,即使您倾向于看到冗余,也不是。因此继承是错误的。

如果您在整体中批准或拒绝记录,则可能会提出一个"状态"字段,其中包含文物,以识别记录是否被授予或拒绝。

在您的情况下,一种或另一种继承是不合适的。

仅重用数据架构,因为它们看起来相似,可能会导致II类错误。您认为自己可以使代码更好,但实际上您会使情况变得更糟。在这种情况下,您想从没有适当抽象的东西中抽象。

考虑到这一点:我的要约和订单包含类似的信息,但它们具有完全不同的语义。没有这样的抽象因素和订单包含重叠字段。它们是完全分开的数据结构。

最新更新