7
ユーザーが「検索」ボタンを押して「何か」を行うと決定した場合、実行中のクエリを取り消す必要があります。休止状態のクエリをキャンセルするには
私たちはHibernate(とOracle)を永続性ソリューションとして使用します。 Hibernate SessionインターフェイスはcancelQuery()
メソッドを提供します。いくつかのテストの後、cancelQuery()
は効果がないようです。
誰もこのSession#cancelQuery()
メソッドでいくつかの経験がありますか?
ありがとうございました!
cancelQueryメソッドは、データベースが結果を返すのをアプリケーションが待機している間だけ動作します。しかし、いったんHibernateがデータベースから結果セットを受け取ってから、結果をオブジェクトにマッピングするようになったら、それはすでに何の効果もありません。そして、これは実際にはパフォーマンスオーバーヘッドの大部分です。参照:http://stackoverflow.com/questions/28391785/outofmemoryerror-as-a-result-of-multiple-searches – Jewels