2016-03-31 3 views
0

Я использую базовый класс сущности для всех моих сущностей. Он сопоставляется с таблицей, содержащей столбцы, разделяемые всеми объектами.Как переопределить столбец идентификатора объекта 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?

ответ

Смежные вопросы