从控制器调用存储库时我遇到了一个小问题,该控制器被注释为此(此控制器位于服务器“web-admin-service”,这是一个管理面板)
@Named
@Scope("view")
public class PlaceController implements Serializable {}
为了向您展示一个例子,我在我的服务中有这些实体(网络服务) 大学和学生
public class University {
private String id;
private String name;
private String address;
@OneToMany(cascade = CascadeType.DETACH,fetch = FetchType.LAZY)
private List<Student> students;
// setters and getters
}
现在当我从Controller调用我的DAO时,它会在JPA存储库上调用一个方法(一个简单的`SELECT u FROM University u),学生列表没有填充并出现此错误: “无法初始化代理 - 无会话”
但..当我直接在我的服务中拨打完全相同的电话时,我没有这个问题? 即使fetch = FetchType.LAZY,当我打电话给学生时,我的学生列表也正确填充.get(0).getName();
ps:我使用的是Spring,JPa和Hibernate