Я использую базовый класс сущности для всех моих сущностей. Он сопоставляется с таблицей, содержащей столбцы, разделяемые всеми объектами.Как переопределить столбец идентификатора объекта JPA?
@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;
И у меня есть класс сущностей, который представляет Person, сопоставленный с его собственной таблицей.
@Entity
@DiscriminatorValue("PN")
@Table(name="pn")
public class Person extends BaseEntity
ENRG структура таблицы
enid, col2, col3
PN структура таблицы
pnid, col2 col3
Хотя извлечение Person, Hibernate терпит неудачу, пытаясь сделать присоединиться на enrg.enid=pn.enid
. Как переопределить сопоставление идентификаторов в Person для объединения Hibernate на enrg.enid=pn.pnid
?