【发布时间】:2017-04-24 03:45:29
【问题描述】:
从事一个使用 Spring/JPA/Rest 的项目。 我们有一个类,它有一个 @OneToMany 字段(在下面的示例中说 Student),它被标记为 LAZY 加载。但是,当我们在 postman 中测试输出时,我们会看到课程的完整 json 和所有学生的详细信息。
public class CourseList{
private String Course;
//other fields
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
private <Set>Student students;
//Getters and Setters
}
我对延迟加载的理解是,仅在对特定字段的显式调用时才会获取数据库。我们应该期望只看到 json 中出现的课程详细信息,而不是地址详细信息。为什么我们也会看到地址详细信息?
如果我对 LazyLoading 的理解不正确,或者由于某种原因它是否不适用于这种情况,有人可以帮忙澄清一下吗?谢谢。
【问题讨论】:
-
你使用 Spring Data Jpa 吗?
-
是的,Spring Data JPA。
标签: java json spring jpa jackson