Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何覆盖JPA实体id列?_Jpa - Fatal编程技术网

如何覆盖JPA实体id列?

如何覆盖JPA实体id列?,jpa,Jpa,我为我的所有实体使用一个基本实体类。它映射到包含所有实体共享的列的表 @Entity @Inheritance(strategy=InheritanceType.JOINED) @DiscriminatorColumn(name="entpcd", discriminatorType=DiscriminatorType.STRING) @Table(name="enrg") public abstract class BaseEntity @Id @Column(name="enid")

我为我的所有实体使用一个基本实体类。它映射到包含所有实体共享的列的表

@Entity
@Inheritance(strategy=InheritanceType.JOINED)
@DiscriminatorColumn(name="entpcd",   discriminatorType=DiscriminatorType.STRING)
@Table(name="enrg")
public abstract class BaseEntity

@Id
@Column(name="enid")
private String entityId=null;
我有一个实体类,它代表一个人,映射到它自己的表

@Entity
@DiscriminatorValue("PN")
@Table(name="pn")
public class Person extends BaseEntity
ENRG表格结构

enid, col2, col3
pnid, col2 col3
PN表结构

enid, col2, col3
pnid, col2 col3

在检索人员时,Hibernate在
enrg.enid=pn.enid
上尝试加入时失败。如何亲自覆盖id映射,让Hibernate加入
enrg.enid=pn.pnid

@PrimaryKeyJoinColumn(name=“pnid”)
解决了这个问题

据我所知,Hibernate在id列上存在
@AttributeOverride
问题。更多->