Closed
Description
I have two entities:
@Data
@Table(name = "analyze_session")
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class AnalyzeSessionEntity extends BaseEntity {
private Instant endAt;
private Instant startAt;
private boolean ended;
@ToString.Exclude
@MappedCollection(idColumn = "analyze_session_id", keyColumn = "sport")
private Map<SportType, AnalyzeSessionSportDataEntity> sportDataBySport;
public boolean isAllSportsDataDone() {
return this.sportDataBySport.entrySet().stream().allMatch(entry -> entry.getValue().isDone());
}
}
@Data
@Table(name = "analyze_session_sport_data")
@Builder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class AnalyzeSessionSportDataEntity extends BaseEntity {
private boolean done;
private SportType sport;
private int analyzedCount;
private Integer lastDonePage;
private LocalDate lastDoneDate;
private long analyzeSessionId;
}
And when Spring data jdbc load sportDataBySport
Map and use String as key of Map, but need use my own enum SportType.
here screenshoots from debugger: