У меня проблемы с настройкой сопоставлений jpa для некоторых объектов. У меня есть родительский объект, определенный следующим образом.
@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>();
}
Затем у меня есть дочерняя сущность с составным ключом и внешний ключ первичного ключа этой таблицы следующим образом:
@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;
}
Я знаю, что дочерняя сущность неверна, но я не уверен, как настроить ее для составного ПК. Я знаю, что мне нужно настроить класс PK, но я не уверен, как это сделать, когда одно поле является внешним ключом для родительского класса. И как только это будет настроено, как родитель будет ссылаться на дочернюю сущность?
Любая помощь приветствуется.