Mam problem z konfigurowaniem mapowań jpa dla niektórych podmiotów. Mam element nadrzędny zdefiniowany jak poniżej.jpa hibernacji złożony klucz obcego mapowania
@Entity
@Table(name="EIF_INSTANCE_HDR")
public class InstanceEntity implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(generator="eif_inst_gen")
@SequenceGenerator(name="eif_inst_gen",sequenceName="EIF_INSTANCE_SEQ")
@Column(name = "EAIH_ID")
private Long eaihid;
@Column(name = "EAD_ID")
private Long eadid;
@OneToMany(targetEntity=InstanceNotifyEntity.class, mappedBy="instance",fetch=FetchType.EAGER, cascade = CascadeType.ALL)
private List<InstanceNotifyEntity> userDetails = new ArrayList<InstanceNotifyEntity>();
}
Mam następnie podmiot podrzędny w/kluczu złożonym oraz klucz obcy do klucza pierwotnego tabeli w następujący sposób:
@Entity
@Table(name="EIF_INST_NOTIFIED")
public class InstanceNotifyEntity implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@ManyToOne
@JoinColumn(name="EAIH_ID", referencedColumnName="EAIH_ID")
private InstanceEntity instance;
@Id
@Column(name="USER_ID")
private Long userId;
@Column(name="COMMENT_TXT")
private String commentText;
}
wiem podmiot dziecko jest niepoprawna, ale nie jestem pewien, jak ustawić to mieć złożoną PK. Wiem, że muszę ustawić klasę PK, ale nie jestem pewien, jak to zrobić, gdy jedno pole jest obcym kluczem do klasy nadrzędnej. A kiedy to jest skonfigurowane, w jaki sposób rodzic odwołuje się do elementu podrzędnego?
Każda pomoc jest doceniana.
Zobacz http://stackoverflow.com/questions/2562746/jpa-entity-design-problem/ 2563009 # 2563009 – axtavt