我有两个实体,参与者和艾米森特。 Emitente扩展了参与者。

例如:

@Entity
@Cacheable(true)
@Default
@Table(name = "participantes")
@Inheritance(strategy = InheritanceType.JOINED)
public class Participante implements IEntity {

    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "id")
    private Long id;
    @Size(max = 10)
    @Column(name = "codigo", nullable = true, length = 20)
    private String codigo;
    ...
}

@Entity
@Cacheable(true)
@Any
@Table(name = "emitentes")
public class Emitente extends Participante {

     //other methods and properties

}


在我的应用程序中,我有两个屏幕条目,其中一个仅注册参加者,另一个仅注册参与者。
问题是,在某些情况下,我需要从已经存在的参与者创建一个新的Emitente。

例如:我签署了一个Participante,保存在数据库中,所有内容,我决定有一个Emitente。然后,在Emitente屏幕上,将Participante拉到该屏幕上,添加与Emitente相关的其他属性,然后单击Save。

有没有一种方法可以自动执行此操作,还是必须在数据库中手动设置属性的属性?

更确切地说,Hibernate可以为我做到这一点吗?

如果有人听不懂我的话,那我会尽力解释。

谢谢所有人,抱歉我的英语水平不是最好的!



为了更好地说明我创建的这个示例应用程序,可以从以下链接下载:
Aplicaçao

要运行它,只需使用NetBeans并创建一个名称为“ testeHeranca”的MySql DB,这种方法就更好了。

谢谢大家。

最佳答案

(对不起,还不能发表评论)

您必须初始化Emitente。
这是Emitente表中的全新条目。

在Emitente中,只需创建一个接受Participante对象的构造函数,然后基于该对象创建Emitente。

10-06 07:23