我有两个实体,参与者和艾米森特。 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。