Как объединить 3 таблицы и перебрать результаты с помощью jooq?JAVA

Программисты JAVA общаются здесь
Anonymous
Как объединить 3 таблицы и перебрать результаты с помощью jooq?

Сообщение Anonymous »

У меня есть таблицы КУРС, СТУДЕНТ, РАСПИСАНИЕ.

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

Вернуться в «JAVA»