我有一个与描述的jooq query nested object个问题非常相似的问题.总而言之,我有这样一个POJO:
public class CourseComposite {
private String courseName;
private Teacher teacher;
private List<Student> students;
...
}
我使用Jooq DefaultRecordMapper
将记录映射到POJO,查询如下:
ctx().select(
COURSE.NAME.as("courseName"),
TEACHERS,
multiset(selectFrom(STUDENT).where(STUDENT.ID_COURSE.eq(COURSE.ID))).as("students")
)
.from(COURSE).innerJoin(TEACHERS).on(COURSE.ID.eq(TEACHER.ID_COURSE))
.where(...)
.fetchInto(CourseComposite.class);
但是,教师没有映射(教师字段为空).我想这是因为我的PostgreSQL表名为teachers
而不是teacher
(这是上面提到的堆栈溢出问题的唯一区别).
我试着写道:
ctx().select(COURSE.NAME.as("courseName"), TEACHERS.as("teacher"), multiset(...))
然而,在本例中,我得到了一个例外:
表"Teacher"缺少FROM-子句条目
有没有办法告诉jooq应该将TEACHERS
绑定到Teacher teacher
对象?