У меня есть таблицы КУРС, СТУДЕНТ, РАСПИСАНИЕ.
table course(id, name, ....),
table student(id, name, ...),
table schedule(id, c_id, s_id).
Теперь я хочу объединить таблицу расписания с таблицей курсов и учеников.
Вопрос (1):< /h3>
Как лучше всего объединить эти 3 таблицы в jooq? Я предполагаю, что это примерно так:
TableLike firstjoin = sql
.select()
.from(Tables.SCHEUDLE)
.leftOuterJoin(Tables.COURSE)
.on(Tables.SCHEDULE.CID.eq(Tables.COURSE.ID))
.asTable();
Result result = sql
.select()
.from(firstjoin)
.leftOuterJoin(Tables.STUDENT)
.on(Tables.SCHEDULE.SID.eq(Tables.STUDENT.ID))
.fetch();
Вопрос (2):
Когда я получу результат, как лучше всего разделить результаты на учеников? объекты и объекты курса? Я имею в виду, поскольку типом является «Результат?», есть ли способ сопоставить результат с сущностями студента или курса вместо утомительного выполнения чего-то вроде этого:
for(Record r: result){
Student s = new Student(r.filed(), r.filed()...);
Course c = new Course(r.filed(), r.filed()....)
}
Подробнее здесь: https://stackoverflow.com/questions/383 ... using-jooq