When a new object persists, an error occurs with the collection.
FK not found
Here is the mapping:
@Entity(name = "CRM_TASKDEPARTURE") @Access(AccessType.PROPERTY) @DiscriminatorValue(value = TaskType.Consts.VISIT_ID) public class TaskVisit extends Task { private static final long serialVersionUID = 1L; private List<TaskVisitAddress> addresses = new ArrayList(); public TaskVisit() { } @OneToMany(fetch = FetchType.LAZY,cascade = CascadeType.PERSIST,mappedBy = "taskVisit") public List<TaskVisitAddress> getAddresses() { return addresses; } } Map object collection:
@Entity(name = "CRM_TaskDepartureAddress") public class TaskVisitAddress implements Serializable { ...any fields @Id @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "TASKID") public TaskVisit getTaskVisit() { return taskVisit; } @Id @OneToOne(fetch = FetchType.LAZY) @JoinColumn(name = "PERSONADDRESSID") public PersonAddress getPersonAddress() { return personAddress; } } InheritanceType.JOINED Abstract Task class.
The sequence of inserts in the table:
CRM_TASKCRM_TaskDepartureAddressCRM_TASKDEPARTURE
2 and 3 according to the logic, you must first have an insert in CRM_TASKDEPARTURE , and then already CRM_TaskDepartureAddress , since CRM_TaskDepartureAddress has FK on CRM_TASKDEPARTURE , and not vice versa. What could be the error?
Ps JPA Implementation - eclipselink 2.6.1