IteratorまたはFutureをSqlQueryから作成する場合は、SqlRowsをすべてロードするとメモリー不足が発生するためです。
EbeanServer.find()
を使用できません。したがって、SqlQueryを使用してください。
クエリはfindIterate
とfindFutureList
ですが、SqlQueryにはありません。Ebean:IteratorまたはFutureをSqlQueryから作成する方法
0
A
答えて
1
SqlQueryにはfindIterate()またはfindEach()...がありませんが、同様のメカニズムがあります。
代わりに、setListenerを使用します。
SqlQuery sqlQuery = Ebean.createSqlQuery("select * from o_order");
sqlQuery.setListener(new SqlQueryListener() {
@Override
public void process(SqlRow bean) {
// process 1 row at a time to avoid OOM with large queries
System.out.println("process row "+bean);
}
});
// returns an empty list
sqlQuery.findList();
私は最終的にこのsetListener()アプローチを置き換えることになるのSQLQueryにfindEach()、findEachWhileを()を追加する機能拡張を記録します。
これはhttps://github.com/ebean-orm/avaje-ebeanorm/issues/675
UPDATEとして記録されます。
SqlQuery sqlQuery = Ebean.createSqlQuery("select * from o_order");
sqlQuery.findEach(new QueryEachConsumer<SqlRow>() {
@Override
public void accept(SqlRow row) {
// process row
}
});
とfindEachWhile()と等価でもあります:バージョンで
はあなたのような何かをするだろう7.9.1。
関連する問題
- 1. ドキュメントまたはノードからInputStreamを作成する方法
- 2. filer.fields.image.FilerImageFieldをプログラムで作成または作成する方法
- 3. divのidからjson objまたはarrayを作成する方法は?
- 4. JDBCからOracleのプロシージャを作成または置換する方法は?
- 5. Hibernate SQLQuery、配列と行オブジェクトを取得する方法は?
- 6. 異なる `ExecutorServices`を使用して作成された` Future`のリストを待つ方法
- 7. cx_freeze(またはインストーラ)からpythonでall exeファイルを作成する方法
- 8. データからr行列またはテーブルを作成する方法
- 9. XMLファイルを作成または生成する方法
- 10. sqlqueryを使用してintimeとoutitmeを取得する方法
- 11. jQueryを使って作成したポップアップから、ポップアップを作成するページをリダイレクトする方法は?
- 12. クラスであるプロパティからインスタンスを作成する方法は?
- 13. iOSからJPEG画像を一から作成する方法
- 14. データベースからのレコードからナビゲーションリンクを作成する方法
- 15. データベースから取得したデータからリンクを作成する方法
- 16. サーバから返されたJSONデータからJavaScriptオブジェクトを作成する方法
- 17. Mongoose.js:作成または更新を実装する方法は?
- 18. nmakeファイルからvcproj(VSC++プロジェクトファイル)を作成する方法はありますか?
- 19. Doctrine MongoDB - JSONからクエリを作成する方法はありますか?
- 20. Storyboard SceneからカスタムViewControllerクラスファイルを作成する方法はありますか?
- 21. ユーザー入力から関数を作成する方法は?
- 22. ソースコードからqtcreatorインストーラを作成する方法は?
- 23. イメージファイルから円アイコンを作成する方法は?
- 24. cassandraソースコードからcassandra-jarを作成する方法は?
- 25. python要求モジュールからcurlコマンドを作成する方法は?
- 26. Javaファイルからhbmファイルを作成する方法は?
- 27. デフォルトのオプションから設定ファイルを作成する方法は?
- 28. イメージからサークルクリッパを作成する方法は?
- 29. ファイルからIOオブジェクトを作成する方法は?
- 30. Gdk3でファイルからPixBufを作成する方法は?
注意:findIterate()の開発者が覚えておく必要がある場所では、リソース(ResultSetなど)が適切に閉じられることを保証するため、query.findEach()およびquery.findEachWhile finallyブロック内のQueryIteratorを閉じます。 –