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)
しかし、私はそれを「箱から出して」行うことについて何も見つけることができません。
1 mの関係の「子供」の数人が必要になるたびに、誰もが本当に関連するデータセット全体をメモリに持ち込むのでしょうか。
(jqgridを使用して)ページングを備えたUIを実装しており、ユーザーは数千のレコードを持つ可能性があります。