gpt4 book ai didi

java - 在hibernate中使用继承将对象从子类表复制到父类(super class)表

转载 作者:行者123 更新时间:2023-11-29 10:45:06 25 4
gpt4 key购买 nike

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

所以pendingRecord扩展了Record。提交的pendingRecord 首先进入pendingRecord 表(其列与Record 表相同),当主持人批准后,pendingRecord 行将添加到Record 表中并从pendingRecord 表中删除。

有谁知道我怎样才能实现这个目标?我已经考虑过使用 @Inheritance 和 @Mappedsuperclass 注释,但它们似乎都没有给我提供我需要的解决方案。

亲切的问候,

最佳答案

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

您有一条记录包含未经批准的数据。另一条记录是关于批准的数据。因此,即使您倾向于看到冗余,但事实并非如此。因此继承是错误的。

如果您的记录整体被批准或拒绝,您可能会提出一个包含工件的“状态”字段,以识别记录是否被批准或拒绝。

其中一种继承方式不适合您的情况。

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

想一想:报价和订单可能包含相似的信息,但它们具有完全不同的语义。对于包含重叠字段的报价和订单,不存在这样的抽象。它们是完全独立的数据结构。

关于java - 在hibernate中使用继承将对象从子类表复制到父类(super class)表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44739477/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com