У меня есть связь с базой данных, которую я не могу понять, как моделировать. Вот пример взаимосвязи:
Первая таблица, называемая курсами:
ID NAME
1 MATH101
2 MATH201
3 ENGL201
4 COMS400
Вторая таблица, называемая course_grouping:
ID COURSE_ID GROUP_NAME
99 1 Math - Year 1
98 2 Math - Year 1
Не все курсы имеют группу в Таблица Course_grouping, только специальные.
Я пытаюсь смоделировать этот объект:
public class CourseGroup {
private String groupName;
private List<Course> courses;
}
, который для строк в таблицах выше будет выглядеть как
Course{groupName='Math - Year 1', courses={Course{id=1, name='MATH101'}, Course{id=2, name='MATH201'}}}
У меня будет сущность Course:
@Entity
@Table(name = "COURSE")
public class Course {
@Id
private Long id;
@Column(name = "NAME")
private String name;
}
, и тогда сущность для другой таблицы начинает меня смущать, потому что для каждого имени группы есть дублирующиеся строки.
@Entity
@Table(name = "COURSE_GROUPING")
public class CourseGrouping {
@Id
private Long id;
@Column(name = "GROUP_NAME")
private String groupName;
// foreign key to course table
// not sure what type of relationship if any
private Long courseId;
}