所以,我正在尝试在hibernate和SQL server上运行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个参数。
就像我想的那样,这是遗留代码,我无法重新编码以消除传入非常大的数组的可能性。
有没有办法(除了将其分解为许多较小的查询并迭代结果)重写此查询以便不会发生参数限制?