处理使用Spring/JPA/Rest的项目。我们有一个类,它有一个@OneToMany字段(例如下面的示例中的say),它被标记为延迟加载。然而,当我们用邮递员测试输出时,我们看到了课程的全部json和所有的学生细节。
public class CourseList{
private String Course;
//other fields
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
private <Set>Student students;
//Getters and Setters}
我对延迟加载的理解是,只有在显式调用特定字段时,数据库的获取才会发生。我们应该只看到json中提到的课程细节,而不是地址details..why,我们也看到了地址细节吗?
如果我对LazyLoading的理解是不正确的,或者它是否由于某种原因而不适用于这种情况,那么有人能帮助澄清吗?谢谢。
发布于 2017-04-24 12:09:45
Spring注册一个OpenEntityManagerInViewInterceptor。春季启动默认配置spring.jpa.open-in-view = true。如果要禁用该行为,请添加配置spring.jpa.open-in-view = false。
注册OpenEntityManagerInViewInterceptor。将JPA EntityManager绑定到请求的整个处理过程中的线程。
https://stackoverflow.com/questions/43579457
复制相似问题