генерировать матчи в турнире
Как создавать матчи в турнире У меня есть турнир, к нему добавляются участники. Есть матч, который должен состоять из двух участников. Как выбрать участников с турнира и генерировать по ним матчи.
@Entity
public class Participant {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "participant_id")
private int id;
@NotNull
@Column(name = "nick_name")
private String nickName;
@JsonIgnore
@ManyToOne
@JoinColumn(name = "tournament_fk_id")
private Tournament tournament;
*gets,Sets
Tournament
@Entity
public class Tournament {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "tournament_id")
private int id;
@OneToMany(mappedBy = "tournament", fetch = FetchType.EAGER, cascade = CascadeType.ALL)
private Set<TournamentMatch> tournamentMatchSet = new HashSet<>();
private String name;
@OneToMany(mappedBy = "tournament", fetch = FetchType.EAGER, cascade = CascadeType.ALL)
private List<Participant> participantList = new ArrayList<>();
TournamentMatch
@Entity
@Table(name = "mach")
public class TournamentMatch {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "mach_id")
private int id;
@Column(name = "start_time")
private LocalDate startTime;
@Column(name = "finisch_time")
private LocalDate finischTime;
private BigDecimal scores;
@JsonIgnore
@ManyToOne
@JoinColumn(name = "tournament_fk_id")
private Tournament tournament;
@OneToOne(optional = false, cascade = CascadeType.ALL)
@JoinColumn(name = "participant_two_fk_id")
private Participant participantTwo;
@OneToOne(optional = false, cascade = CascadeType.ALL)
@JoinColumn(name = "participant_one_fk_id")
private Participant participantOne;
я не могу понять алгоритм решения проблемы.
- у меня есть лист с участниками в турнире
- надо распределить их по парам и добавить в матч? или нужно создать метод,которые добавляет только два участника в матч?