Моя база данных содержит таблицу с составным первичным ключом, так что один из ключей является внешним ключом, а другой предполагается использовать для получения объекта из внешней службы. Код выглядит примерно так:
@AllArgsConstructor
@NoArgsConstructor
@Getter
@Setter
@Embeddable
@EqualsAndHashCode
public class PrimaryKey implements Serializable {
@Column(name = "A_ID")
private Long aId;
@Column(name = "F_ID")
private Long fId;
}
@Entity
@Table(name = "JOIN_ENTITY")
@Getter
@Setter
@EqualsAndHashCode
@AllArgsConstructor
@NoArgsConstructor
public class JoinEntity {
@EmbeddedId
private PrimaryKey pk;
@MapsId("aId")
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "A_ID")
private EntityA a;
public getFId() { return pk.getFId(); }
}
@Entity
@Table(name = "ENTITY_A")
@Getter
@Setter
@EqualsAndHashCode
@AllArgsConstructor
@NoArgsConstructor
public class EntityA implements Serializable {
....
@OneToMany(mappedBy = "a", cascade = CascadeType.ALL, orphanRemoval = true)
List<JoinEntity> list = new ArrayList<>();
}
Когда я сохраняю JoinEntity и пытаюсь получить EntityA из базы данных, список не заполняется, но если я получаю некоторую JoinEntity из базы данных, связанная EntityA выздоровел правильно. Что мне делать, чтобы получить список JoinEntity для восстановления с помощью EntityA?