Глубокое картирование со списками - PullRequest
0 голосов
/ 20 февраля 2020

У меня есть 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;

Я не могу понять, как это реализовать , Не уверен, что этот сценарий применим.

Благодарим за помощь

Спасибо

...