我正在尝试确定在 Play 中使用 JPA 时查询 OneToMany 关系的子项时分页/限制返回行的最佳方法!框架。
@Entity
public class User extends Model {
@OneToMany(mappedBy="user", cascade=CascadeType.ALL)
public List<CaseFolder> caseFolders;
}
public class CaseFolder extends Model {
@Required
@ManyToOne
public User user;
@Required
public String number;
public String description;
}
我意识到我可以设置延迟获取的关系。但是,这似乎仍然不能阻止我在最终访问 user.caseFolders 时检索整个 CaseFolders 列表。
理想情况下,我希望能够执行以下操作:
user.getCaseFolders().start(100).limit(10)
但我找不到任何关于“开箱即用”的做法。
每个人真的每次需要几个一米关系的“孩子”时都会把整个相关数据集都带入内存吗?
我正在实现一个具有分页功能的 UI(使用 jqgrid),并且用户可能拥有数千条记录。