我正在制作一个网站,允许用户将记录添加到数据库中。在添加记录之前,提交的记录需要先由主持人批准,然后才能在实际记录表中允许。我想利用2个记录对象来实现这一目标。一个是另一个子类,并继承其所有列和属性。
因此,pendingRecord扩展了记录。pendingRecord提交首先进入pendingRecord表(与记录表中的列相同(,当它被主持人批准时,pendingRecord Row将添加到记录表中,并从pendingRecord表中删除。
。有人知道我如何实现这一目标吗?我已经考虑使用@inheritance和@mappedsuperclass注释,但它们似乎都没有给我解决方案。
善意,
,据我所见,您不遵循语义:
您有一个包含未批准数据的记录。另一个记录是关于批准的数据。因此,即使您倾向于看到冗余,也不是。因此继承是错误的。
如果您在整体中批准或拒绝记录,则可能会提出一个"状态"字段,其中包含文物,以识别记录是否被授予或拒绝。
在您的情况下,一种或另一种继承是不合适的。
仅重用数据架构,因为它们看起来相似,可能会导致II类错误。您认为自己可以使代码更好,但实际上您会使情况变得更糟。在这种情况下,您想从没有适当抽象的东西中抽象。
考虑到这一点:我的要约和订单包含类似的信息,但它们具有完全不同的语义。没有这样的抽象因素和订单包含重叠字段。它们是完全分开的数据结构。