Entity relationship. Many to one - one to many

у меня есть 3 сущности. Course, Module, Lesson

@Entity
@NoArgsConstructor
@AllArgsConstructor
@Getter
@Setter
public class Course {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long courseId;
    private String courseName;
    private String courseDesc;
    private Double coursePrice;

    @ManyToMany(cascade = CascadeType.ALL)
    @JoinTable(name = "course_module",
            joinColumns = {@JoinColumn(name = "course_id")},
            inverseJoinColumns = {@JoinColumn(name = "module_id")})
    private Set<Module> moduleSet;

@Entity
@NoArgsConstructor
@AllArgsConstructor
@Getter
@Setter
public class Module {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long moduleId;
    private String moduleName;

    @OneToMany(fetch = FetchType.EAGER, mappedBy = "module", cascade = CascadeType.ALL)
    @JsonManagedReference
    private List<Lesson> lessonList;

    @ManyToMany(mappedBy = "moduleSet")
    @JsonBackReference
    private Set<Course> courseSet;

@Entity
@NoArgsConstructor
@AllArgsConstructor
@Getter
@Setter
public class Lesson {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long lessonId;
    private String lessonDesc;

    @ManyToOne(fetch = FetchType.EAGER)
    @JsonBackReference
    private Module module;

Я хочу иметь возможность связывать и доставать объекты с 2-х сторон. Например: при создании курса чтобы я мог добавить в его сет модулей уже созданный модуль. А так же при создании модуля я мог добавить его к какому-то созданному курсу. Точно так же и доставать объекты, чтобы я могу достать по курсу какие модули в нем присудствуют и так же со стороны модуля, узнать в каких курсах он используется. Точно так же с lesson и module. При этом всё, чтобы не возникало рукурсии между объектами. Дело всё в том, что двусторонняя связь не работает, объекты не привязываются друг другу, если убрать несколько свой связей то объекты начинают просто перезаписываться. Подскажите пожалуйста, как правильно и корректно реализовать здесь 2-юю связь. Буду очень лагодарен если оставите пример в выполнением поста и гета в Postman или любой другой вспомогательной программе. Спасибо.


Ответы (0 шт):