我有两个 POJO,
teacher
和 course
像这样:
@Data
@Builder
@Document("teacher")
public class Teacher {
@Id
private String id;
private String name;
}
@Data
@Builder
@Document("course")
public class Course {
@Id
private String id;
private String course;
@DBRef
private Teacher teacher;
}
和
CourseVO
:
public record CourseVO(
String course,
String teacherId
) {
public Course toCourse() {
return Course.builder()
.course(course)
.teacher(Teacher.builder()
.id(teacherId)
.build())
.build();
}
}
当我插入这样的课程时:
// teacher{id="64058bc20cf9434623256b02", name="john"}
// courseVO{course="math", teacherId="64058bc20cf9434623256b02"}
mongoTemplate.insert(courseVO.toCourse());
它还我:
{
"id": "640d65c7c6d4f733da080802",
"course": "math",
"teacher": {
"id": "64058bc20cf9434623256b02",
"name": null
}
}
为什么
teacher.name
为空?我需要它返回我老师的名字,我该怎么办?
请帮助我,谢谢!