1

だから、休止状態とSQLサーバーでHQLクエリを実行しようとしています

クエリは、ファイルのリストと症状のリストを取ります。体現形はファイルに関連付けられています。クエリの目的は、体現形のリストにない体現形にリンクされているファイルのリストからすべてのファイルを見つけることです。クエリは次のようになります。

SELECT file.fileref from com.project.FileImpl f, com.project.ManifestationFileImpl mf 
WHERE f.fileref IN filerefs 
AND mf.manifestionRef NOT IN manifestationRefs 
AND f.fileRef= mf.fileRef

fileRefs と manifestationRefs はどちらも文字列の配列です。残念ながら、このクエリに大きな配列が渡されると、SQL サーバーが 2100 を超えるパラメーターを受け入れることができないため、失敗します。

非常に大きな配列が渡される可能性を排除するために再コーディングすることはできません。

パラメータの制限が発生しないように、このクエリを書き直す方法はありますか (多くの小さなクエリに分割して結果を反復処理する以外に) はありますか?

4

0 に答える 0