問題タブ [scrollableresults]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
392 参照

java - 多くの異なるエンティティを結合するときに Hibernate クエリに ScrollableResults を使用する方法

Spring Boot エンドポイントを使用して、データベース クエリから結果を返しています。TypedQuery で getResultList() を使用すると問題なく動作します。ただし、非常に大きなデータセットを管理する必要があることはわかっています。休止状態を介して ScrollableResults を使用することを検討していますが、各行の内容を実際に参照する方法がわかりません。

私はresults.get(0)、results.get(0)[0]、results.getLong(0)、Object []行とObject行などを試しました。すべてのオプションでtoString()の有無にかかわらず。Java オブジェクト参照ほど、行から得られるものはありません。キャストも試しましたが、「キャストできません」というエラーが表示されます。「クエリがホルダー クラスを指定しています」というエラーが表示されることがあります。私の条件クエリは、エンティティと選択された列が事前に知られていない1つ以上のエンティティを結合することによって構築されているため、それが何を意味するのかわかりません。したがって、実際にはクラスを指定していません。これらのエンティティと選択は、ユーザー入力によって指定されます。何かご意見は?ありがとう!

更新: System.out.println(scroll.getType(0)); を実行できます。この場合、長い時間を観察します。しかし、その長い (.getLong(0)) を保存しようとすると、「クエリはホルダー クラスを指定しています」というエラーが表示されます。または再びエラーをキャストできません。