У меня есть 3 объекта, которые представляют три таблицы в БД.
1) Проект (цель АКА)
2) Владелец (источник АКА1)
3) Сводка (источник АКА2)
В соответствующем java У объекта ( Проект ) для целевой таблицы есть связь @ OneToMany с двумя другими таблицами ( Владелец & Сводка ). Это дает мне ссылку на список владельцев и резюме для каждого проекта.
Я хотел бы создать сопоставление, объединяющее два списка источников.
Примерно так:
List<Program> list = programRepository.findAll();
Type listType = new TypeToken<List<ProgramSummaryDto>>() {}.getType();
modelMapper.map(list,listType)
ProgramSummaryDto:
public class ProgramSummaryDto {
private int id;
private String programName;
private List<Summary> summaryList;
private List<Owner> ownerList;
Программа:
@Entity
public class Program {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "Id")
private Integer id;
@Column(name = "Name")
private String name;
@OneToMany(mappedBy = "program")
private List<Summary> summaryList;
@OneToMany(mappedBy = "program")
private List<Owner> ownerList;
Резюме:
@Entity
public class Summary {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "Id")
private Integer id;
@Column(name = "Scope")
private int scope;
@Column(name = "Completed")
private int completed;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "Summary2Program", foreignKey = @ForeignKey(name =
"FK_Summary_Program"))
private Program program;
Я не могу понять, как это реализовать , Не уверен, что этот сценарий применим.
Благодарим за помощь
Спасибо